-
Notifications
You must be signed in to change notification settings - Fork 197
Effects: double translation of functions and dynamic switching between direct-style and CPS code #1461
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
Merged
Merged
Effects: double translation of functions and dynamic switching between direct-style and CPS code #1461
Changes from 71 commits
Commits
Show all changes
84 commits
Select commit
Hold shift + click to select a range
120f235
Effects: double translation of functions and
OlivierNicole 38f0462
Add caml_assume_no_effects primitive and tests
OlivierNicole 7f769be
CR: Fix non-raised Unhandled with assume_no_perform
OlivierNicole 0192c16
CR: Commit suggestion for compiler/lib/driver.ml
OlivierNicole 10f8752
Fix runtime deps, add missing test
OlivierNicole 92e41d8
CR
OlivierNicole de30b43
CR
OlivierNicole 77c2331
Runtime format
OlivierNicole 22584e4
Factorize substitution logic
OlivierNicole 370a0b0
CR: make caml_callback an alias of caml_call_gen...
OlivierNicole e980a1b
Promote tests
OlivierNicole 55cbe59
CR: Fix caml_trampoline_cps and rename it to caml_resume
OlivierNicole ef3bc27
CR: First fixes to Lambda_lifting_simple
OlivierNicole c2f39d3
Simplify and clarify Lambda_lifting_simple
OlivierNicole 21c955b
Format runtime
OlivierNicole 5ed1a30
Fix bug: functions inside CPS functions were not lambda-lifted
OlivierNicole efb7892
Runtime: fix caml_uncaught_effect_handler
vouillon 5b7c9e4
Runtime: the trampoline now distinguish direct and CPS calls
vouillon 1d34f2b
Fix unregistered test and add one for nested handler
OlivierNicole 425e526
Uses 'tests' dune stanza
OlivierNicole f605852
Reformat dune files and remove leftover files
OlivierNicole 9586742
CR: Fixes in Lambda_lifting_simple
OlivierNicole b62ba9a
CR: remove unnecessary conditionals in Effects
OlivierNicole ffa361b
CR: Remove duplicate instruction
OlivierNicole d5cb751
CR: Apply suggested simplifications
OlivierNicole 49ca07e
Add test for lambda-lifting of mutually recursive functions
OlivierNicole 13ede20
CR
OlivierNicole 68b1334
Revert addition of no longer necessary Freevars functions
OlivierNicole cf89d76
Add wasm mode to double translation tests
OlivierNicole d874120
CR: Add missing Wasm stubs
OlivierNicole 259973a
Revert "Add wasm mode to double translation tests"
OlivierNicole 64a6beb
Update dune.inc
OlivierNicole 028027a
CR
OlivierNicole 17a051f
CR
OlivierNicole 1ff3b10
Use copy_file rather than duplicate tests
OlivierNicole f5ed63b
Update comment
OlivierNicole 0807507
CR: Factorize some code
OlivierNicole 21e750a
CR
OlivierNicole b734492
CR: simplify
OlivierNicole 343f270
Simplify function rewrite_instr
vouillon 28690a7
Function assume_no_perform makes perform fail for all effect implemen…
vouillon 43eb25b
CR: Add --effects option
OlivierNicole 0835a69
Fix Dynlink and limit use of --enable=effects
OlivierNicole 29c6a82
Reformat
OlivierNicole b8a3799
CR
OlivierNicole 733f4dc
CR
OlivierNicole 618bc52
CR: add missing bound check
OlivierNicole 244267e
CR: Simplification in compiler/lib/effects.ml
OlivierNicole b705214
CR: simplify closure allocation
OlivierNicole f1441bc
Javascript runtime: stop using 'arguments'
OlivierNicole 4107e24
Fix too early effects backend setting
OlivierNicole 9b8a90b
Fix uses of `--enable=effects` in lib-wasm/
vouillon cc38500
Move assume_no_perform to Jsoo_runtime
OlivierNicole 31be126
Fix: move C primitive
OlivierNicole 26a2b6d
CR
OlivierNicole f736e33
CR: rephrase comment
OlivierNicole 68d02df
CR: Move effects backend choice logic
OlivierNicole 35b27b0
CR: simplify
OlivierNicole 12adc93
Docs: document double translation better
OlivierNicole b778d47
Fix warning
OlivierNicole 1910866
Fix another warning
OlivierNicole 6536533
Update manual/effects.wiki
OlivierNicole cfdca94
CR: revert some changes in docs
OlivierNicole f914e22
Don't set effects_backend in _cmd_arg_ modules
hhugo 865f90e
Fix compilation
OlivierNicole 9c28e19
CR
OlivierNicole b025490
CR: add CONFIG macro
OlivierNicole 796e973
Re-export Jsoo_runtime from the js_of_ocaml library
OlivierNicole dded0e8
Fix spurious free var warning over CONFIG macro
OlivierNicole c4e594f
CR: Update compiler/lib/driver.ml
OlivierNicole 6bb65e4
Remove duplicate effects flag
OlivierNicole 6391bd6
CR: more explicit type for effects backend
OlivierNicole 51b3d50
CR: doc phrasing
OlivierNicole 3109620
CR: revert obsolete change
OlivierNicole 821537d
Fix assertion
OlivierNicole 3a52728
CR: comment to justify constant
OlivierNicole 5541f1b
reformat
OlivierNicole 01595fc
Fixes
OlivierNicole 7066f6b
Fix assert failure
OlivierNicole 0eeaafe
reformat
OlivierNicole 7161b7e
Merge branch 'master' into optim_effects
hhugo 227f261
CR: Create Js_of_ocaml.Effect_js
OlivierNicole 9ad1fcc
CR: move new tests to tests-jsoo/lib-effects
OlivierNicole a8b2b92
Fix warnings in tests
OlivierNicole File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.