-
Notifications
You must be signed in to change notification settings - Fork 76
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
Flambda 2 patches to the Lambda types #69
Conversation
git-subtree-dir: ocaml git-subtree-split: ae3e5528f45f084a5f2984d81ecc635ba8c38f31
…b6f1a67704cdec) Change the default policy to best-fit and space overhead to 100
Ensure that string representations of scopes are shared.
…bs/systhreads/, toplevel/toploop.ml
…ops files (still needs .gitignore + way of generating these files)
Used `replace` instead of `add` on the interfaces Hash table (which is being used as a set), to avoid duplicate entries. The duplicate entries lead to enormous `caml_globals_map` values. Also use `replace` instead of `add` on another hash table usage, not because it was causing any problems but because it seems like `add` should be avoided outside unusual situations.
git-subtree-dir: external/memtrace git-subtree-split: ad4099fd60562dc3e1d9a33812da54491f9dbadc
…aml-flambda#30) Use the same options as in the upstream Makefiles, based on ocaml/Makefile.config This fixes the missing -ffunction-sections in compilation of C stubs. We should disable dune behavior of taking C compiler options from "ocamlc -config" when we move to dune 2.8.
* Add intrinsics for ext_pointer and native_pointer * Add two_args * remove XCR * Add intrinisics for storing and loading int64,int32,nativeint Fix up names * Remove "unsafe" from the name of one of the intrinsics * Address review comments Use Word_int instead of Word_val for {load,store}_immediate intrinsics Co-authored-by: Mark Shinwell <mshinwell@gmail.com>
Reduces peak memory usage, which is important when a build system tries to run many large links in parallel.
* Import the code of ocamlcfg. * Fix imported code. * Optionally go through ocamlcfg. * Merge in the latest CFG version * Fix compilation warning 18. * Add copyright header to cfg files. The head is a copy of the LICENSE file at the root of ocamlcfg library Co-authored-by: xclerc <xclerc@janestreet.com>
- Mutability on field reads - Tag and size (if known) on field reads - Tag and size on switch block branches
I was envisaging only trying to upstream the However I fear that the remainder of this patch won't be acceptable upstream at the present time, although it looks like a lot less work to submit these changes together. @lthls @stedolan what do you both think? |
c703f5f777 Incorporate upstream comments into type-variable refactor (ocaml-flambda#121) 362ba2349f Constrain curry modes to increase along applications (ocaml-flambda#108) b1f0cf9f91 Simplify the extension handling (ocaml-flambda#114) 4fd53a1f6f Remove pat_mode from typedtree (ocaml-flambda#105) cf6fcbc129 Handle attributes on lambdas with locally abstract types (ocaml-flambda#120) 5fa80fe23f Don't track attributes inside attributes for warning 53 (ocaml-flambda#115) 8a69777a3c Handle unclosed `[: ... :]` patterns (via `Generic_array` machinery) (ocaml-flambda#117) b0737f46c4 Add promote-one Makefile target (ocaml-flambda#118) c6ad684608 Refactoring and fixes around module lookup (ocaml-flambda#107) b0a649516b Add documentation for global constructor arguments (ocaml-flambda#69) dd79aeca91 Print `nlocal` in the `-d(raw)lambda` output (ocaml-flambda#112) 8035026661 Fix `nlocal` in the generated Lambda for list comprehensions (ocaml-flambda#113) afbcdf0642 Immutable arrays (ocaml-flambda#47) bfe1490dfb fix several issues when removing exp_mode (ocaml-flambda#110) 8f46060dc5 Better error message for under-applied functions (ocaml-flambda#74) 27331d848d Consistently use Lmutvar or Lvar in comprehensions (ocaml-flambda#111) 01e965b549 Skip failing test for now 0131357265 Fix test case to use comprehensions_experimental 22a73684b7 Temporarily disable list comprehensions tests due to locals bug e08377d2d1 Make `comprehensions` into `comprehensions_experimental` for now (ocaml-flambda#109) 947cf892b5 List and array comprehensions (ocaml-flambda#46) bd9e051900 remove exp_mode from typedtree (ocaml-flambda#100) a9268d29b4 Fix misplaced attribute warning when using external parser (and some cleanup) (ocaml-flambda#101) 2b33f2465c Refactor toplevel local escape check (ocaml-flambda#104) ed2aec61c6 Comment functions exported from TyVarEnv. 87838ba0c2 Move new variable creation into TyVarEnv. a3f60ab586 Encapsulate functions that work with tyvars 43d83a6554 Prevent possibility of forgetting to re-widen 2f3dd34d3d Encapsulate context when narrowing type env't d78ff6de46 Make immediate64 things mode cross (ocaml-flambda#97) aa25ab9baf Fix version number (ocaml-flambda#94) d01ffa06ec Fix .depend file (ocaml-flambda#93) 942f2ab220 Bootstrap (ocaml-flambda#92) 05f7e383d2 Check Menhir version (ocaml-flambda#91) 1569b580b9 Move the CI jobs from 4.12 to 4.14. (ocaml-flambda#90) git-subtree-dir: ocaml git-subtree-split: c703f5f7772dd4252405b086be11c15a3c67f2ac
The first commit combines several modifications to the
Pfield
primitive, plus a change toLswitch
structures (that I could split if needed).The second commit handles the addition of
Immutable_unique
toLmbda.mutable_flag
, used for extension constructors.