-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Effects: double translation of functions and dynamic switching between direct-style and CPS code #1461
base: master
Are you sure you want to change the base?
Commits on Nov 28, 2024
-
Effects: double translation of functions and
... dynamic switching between direct-style and CPS code. (ocsigen#1461)
Configuration menu - View commit details
-
Copy full SHA for 72094da - Browse repository at this point
Copy the full SHA 72094daView commit details -
Add caml_assume_no_effects primitive and tests
Passing a function [f] as argument of `caml_assume_no_effects` guarantees that, when compiling with `--enable doubletranslate`, the direct-style version of [f] is called, which is faster than the CPS version. As a consequence, performing an effect in a transitive callee of [f] will raise `Effect.Unhandled`, regardless of any effect handlers installed before the call to `caml_assume_no_effects`, unless a new effect handler was installed in the meantime. Usage: ``` external assume_no_effects : (unit -> 'a) -> 'a = "caml_assume_no_effects" ... caml_assume_no_effects (fun () -> (* Will be called in direct style... *)) ... ``` When double translation is disabled, `caml_assume_no_effects` simply acts like `fun f -> f ()`. This primitive is exposed via `Js_of_ocaml.Js.Effect.assume_no_perform`.
Configuration menu - View commit details
-
Copy full SHA for 70dad7c - Browse repository at this point
Copy the full SHA 70dad7cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9504cc8 - Browse repository at this point
Copy the full SHA 9504cc8View commit details -
CR: Commit suggestion for compiler/lib/driver.ml
Co-authored-by: Jérôme Vouillon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4dac096 - Browse repository at this point
Copy the full SHA 4dac096View commit details -
Configuration menu - View commit details
-
Copy full SHA for c6f7069 - Browse repository at this point
Copy the full SHA c6f7069View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2dc3a66 - Browse repository at this point
Copy the full SHA 2dc3a66View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c48b89 - Browse repository at this point
Copy the full SHA 2c48b89View commit details -
Configuration menu - View commit details
-
Copy full SHA for 139a610 - Browse repository at this point
Copy the full SHA 139a610View commit details -
Configuration menu - View commit details
-
Copy full SHA for 348b84b - Browse repository at this point
Copy the full SHA 348b84bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ef1c1aa - Browse repository at this point
Copy the full SHA ef1c1aaView commit details -
CR: make caml_callback an alias of caml_call_gen...
... when double translation is enabled.
Configuration menu - View commit details
-
Copy full SHA for 0d37bb7 - Browse repository at this point
Copy the full SHA 0d37bb7View commit details -
Configuration menu - View commit details
-
Copy full SHA for e2789ed - Browse repository at this point
Copy the full SHA e2789edView commit details -
Configuration menu - View commit details
-
Copy full SHA for afefb03 - Browse repository at this point
Copy the full SHA afefb03View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2bdad0c - Browse repository at this point
Copy the full SHA 2bdad0cView commit details
Commits on Nov 29, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 537eb9d - Browse repository at this point
Copy the full SHA 537eb9dView commit details -
Configuration menu - View commit details
-
Copy full SHA for c07a115 - Browse repository at this point
Copy the full SHA c07a115View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7faec20 - Browse repository at this point
Copy the full SHA 7faec20View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e9c29f - Browse repository at this point
Copy the full SHA 6e9c29fView commit details -
Runtime: fix caml_uncaught_effect_handler
We can use a single definition for the CPS transformation and the double translation. The definition for the CPS transformation was wrong, since it did not take a continuation as parameter.
Configuration menu - View commit details
-
Copy full SHA for 0ef5deb - Browse repository at this point
Copy the full SHA 0ef5debView commit details -
Configuration menu - View commit details
-
Copy full SHA for fd77831 - Browse repository at this point
Copy the full SHA fd77831View commit details