Skip to content

Commit

Permalink
Squashed 'ocaml/' changes from b26b2bd6c5..b98d6a18bb
Browse files Browse the repository at this point in the history
b98d6a18bb flambda-backend: Add comment about structured constants for mixed blocks (#2692)
85ac6b683c flambda-backend: Static allocation for mixed blocks etc. (#2712)
3eba8964f2 flambda-backend: Allow modalities on primitives (#2778)
64167a42a3 flambda-backend: Jkind Error Messages (#2730)
8e96af6ccf flambda-backend: Change [%call_pos] to the function's start position, not the application's (#2765)
2e42371410 flambda-backend: Improved reinterpret casts for integers and floats (#2686)
6169046baa flambda-backend: Allow forceful crossing of portability and contention (#2725)
c8a69a3661 flambda-backend: Use float32 for `float32x4` scalar casts (#2710)
11b29ce011 flambda-backend: Promote float32 to stable (#2709)
2752aa78aa flambda-backend: Inlined record fields for mixed blocks (#2698)
e64c0fc1bc flambda-backend: Float32 array load/store primitives (#2697)
022439c05b flambda-backend: Fix padding bug for float32 static values (#2763)
b07cd52771 flambda-backend: Remove variables from computed signature for `with module` constriants. (#2764)
bfd913c0c8 flambda-backend: Infer needed `zero_alloc` checks from signatures (#2742)
bdab106dcb flambda-backend: Only check `ocamlobjinfo` output when runtime5 is enabled (#2761)
d1c090ca67 flambda-backend: Implement `-no-approx` and `-no-code` in flambda-backend `ocamlobjinfo` (#2737)
1dc5b60e16 flambda-backend: Add `-parameter` parameter (#1846)
e892bb8f64 flambda-backend: Fix missing rewrite ids when unboxing detects invalid apply conts (#2756)
1ab77ad444 flambda-backend: ocamltest improvements + make sure all tests actually do something (#2755)
a3ba7376a0 flambda-backend: Enable Stdlib.Effect + add Flambda 2 support (#2205)
6006ee3519 flambda-backend: Implement the nullability axis for jkinds (#2731)
6348826b65 flambda-backend: Rc_close_at_apply should only close the current region early (#2736)
0f30fe9f03 flambda-backend: Revert "Support `stack_ exp` syntax" (#2753)
b35bb0d6f9 flambda-backend: Support `stack_ exp` syntax (#2540)
be00179daa flambda-backend: Honor `[@error_message]` attribute even when its location is ghost (#2750)
79d87becd9 flambda-backend: Update doc around float# array (#2748)
f0697f9d74 flambda-backend: Fix missing restore/save_runtime_state in caml_c_thread_register for runtime5 (#2739)
2572783060 flambda-backend: Add `val_modalities` (#2685)
90b7bc9bfa flambda-backend: Support type directed disambiguation better for `exclave_` (#2746)
c9c7afc972 flambda-backend: zero_alloc: cleanup attributes in Lambda (#2723)
2d2b0d685b flambda-backend: Fix toplevel printer for arrays of unboxed things (#2718)
41957b11e7 flambda-backend: Move the curry attribute name into the `Jane_syntax` module (#2738)
42e7c9e4a7 flambda-backend: Add `[@no_mutable_implied_modalities]` (#2716)
4aaba973bd flambda-backend: Update document because `local_` no longer means local returning (#2734)
36bce82ff8 flambda-backend: Use the right kinds when building shapes for unboxed variants (#2735)
74e6758fbc flambda-backend: Support for `mod` syntax - unclean (#2717)
8a2b699692 flambda-backend: Fix library import error in `tests/small_numbers` (#2728)
c44c20cfad flambda-backend: Tail-position `local_` no longer means local-returning (#2669)
07faa2c682 flambda-backend: Remove old otherlib names (#2715)
beb51c3ab8 flambda-backend: Replace uses of `beta` with `stdlib_beta`. (#2714)
f367f80f37 flambda-backend: Zero alloc: "assert all" and signatures (#2687)
b5db10f61a flambda-backend: Expose float32 mask symbols (#2696)
937f8218b4 flambda-backend: Fix unsound modes in typecore (#2699)
79bb2d8b77 flambda-backend: Add `pval_modalities` (#2706)
3f88faba13 flambda-backend: Fix line number directives in stdlib/otherlibs (#2713)
bc62a3fb48 flambda-backend: Simply Env.lookup for module and class (#2708)
8039515ede flambda-backend: Join: only generate alias types to older variables (#2705)
7c2b1f44b8 flambda-backend: Support for mixed blocks in Flambda2 types (#2533)
67de361e40 flambda-backend: Fix problems with GC compaction and non-consecutive function slots (#2674)
7a08865288 flambda-backend: Make `-error_size` directly about length of printed error (#2700)
4c0a469f34 flambda-backend: Fix signal_handler_run_in_c_thread test (#2701)
f8bc8fdc54 flambda-backend: Fix warning 34 (unused type declaration) for locally-abstract types (#2683)
3a296f2211 flambda-backend: Fix mode locks for classes and modules (#2431)
3075148057 flambda-backend: Add `-as-argument-for` parameter (#2177)
8105d4f362 flambda-backend: Migrate modality annotations into the parsetree (#2468)
f640f292cf flambda-backend: Improve parsing of layout annotations in type parameters (#2688)
99fe540a60 flambda-backend: Small simplification to the new add_gadt_equation (#2623)
a195c9985b flambda-backend: Restore missing `.h` files to `caml` directory of runtime 5's installed compiler (#2695)
c65dc3e931 flambda-backend: Advise against new bytecode instructions (#2694)
2b1a2c4e67 flambda-backend: Stop using exceptions for control flow in `camlinternalOO` (#2691)
a9c21bf5b1 flambda-backend: Bump magic numbers for 5.1.1minus-18
e48d83cf88 flambda-backend: Float32 min/max/rounding intrinsics (#2684)
93f2ff8abb flambda-backend: Float32/Int64 cast intrinsics (#2681)
e35c046b00 flambda-backend: Minor cleanup of kind checking in ctype (#2679)
c4a2bada8b flambda-backend: Get proper bulleted list formatting in unboxed type documentation (#2680)
1e7c4d56ed flambda-backend: Document arrays of unboxed numbers (#2672)
ba2d0d7e29 flambda-backend: Refactor modality logic (#2344)
42d708b90a flambda-backend: Fix a "bug" in `Ctype.constrain_type_jkind` (#2671)
a3d9cd6f31 flambda-backend: Make float32 NaN quiet (#2670)
bf2a8bf3f6 flambda-backend: Add portability and contention (#2398)
0b20098d31 flambda-backend: Add documentation for mixed blocks (#2667)
91f1c2c75d flambda-backend: Refactor `check_representable` in `typedecl.ml` (#2656)
4d41b555da flambda-backend: Disable partial inlining for runtime/str.c (#2662)
2d3728906b flambda-backend: Graduate mixed blocks from beta (#2664)
2f84267eeb flambda-backend: Bump magic numbers for 5.1.1minus-17 (#2660)
0a45ad7d01 flambda-backend: Add new `Allocated_*` macros for accessing the size of an object (#2653)
9a17b57818 flambda-backend: Remove `non_null_value` layout (#2659)
49c625c6bc flambda-backend: Revert non-null PRs (#2658)
53831cf90f flambda-backend: Enable Domain module fully on runtime5 (#2464)
a5c4719f7c flambda-backend: Disable mixed blocks in extensible variants (#2652)
ea82866fba flambda-backend: Fix `configure` for non-amd64 (enable stack checks implicitly) (#2657)
77657d9aca flambda-backend: Fix `--enable-dev` in runtime 5 (#2655)
23b78d0beb flambda-backend: Specialize Sys.max_array_length for arrays of unboxed numbers (#2593)
e055226759 flambda-backend: Add Assert_mixed_block_layout_v1 macro (#2647)
71d7a550ba flambda-backend: Unboxed records may be null (#2648)
d5ba6e9779 flambda-backend: Mode crossing for unboxed integers (#2646)
3809734ab3 flambda-backend: Add `Obj` functions for accessing the scannable prefix len of a mixed block (#2636)
ef58a0e351 flambda-backend: Rename modes (only) (#2634)
08988ca922 flambda-backend: Fix labeled tuple pattern location in parser, again. (#2637)
4e57670cf5 flambda-backend: Define `'a or_null` (#2614)
479660ec8a flambda-backend: Fix `--enable-dev` (#2635)
f049c43079 flambda-backend: Combine Value and Alloc modules (#2624)
82bf1f0722 flambda-backend: Fix `check_and_update_generalized_ty_jkind` (#2615)
99c556a881 flambda-backend: Make various primitives `non_null_value` (#2604)
c4ec857589 flambda-backend: Revert "Revert "Refactor `Persistent_env` to separate imports from bound names"" (#2632)
3d901f7e12 flambda-backend: New library for computing instance names after substitution (#1186)
d63b736c12 flambda-backend: Reinstate, fix "Use `CU.Name.t` for name of .cmi; support import info for parameters" (#2621)
e106491bb9 flambda-backend: Centralize warning configuration (#2617)
ddfc715966 flambda-backend: Updated compiler docs (#2622)
a1b77dc413 flambda-backend: Fix issue with gadts and layouts (#2618)
6a8b0e330a flambda-backend: Fix debug + no stack check mode (#2620)
c35dbbebad flambda-backend: Fix interaction between probes and ocamldep (#2616)
9d39ebfd06 flambda-backend: Revert "Use `CU.Name.t` for name of .cmi; support import info for parameters" (#2619)
9189fe3ebc flambda-backend: ghost the ident inside the expression in let-puns (#2612)
1a935beb3a flambda-backend: Revert "Refactor `Persistent_env` to separate imports from bound names" (#2611)
6eba90dd50 flambda-backend: Move unboxed types modules to `stdlib_upstream_compatible` (#2588)
3d715679cb flambda-backend: Revert "Revert "Move immutable array modules to `Stable_stdlib` (#2570)" (#2594)" (#2597)
3ab10b8bea flambda-backend: Turn upstream compatibility errors into a warning (#2572)
bbef9e5f49 flambda-backend: Fix for stack checks / frame pointers (#2603)
d6b1dfe002 flambda-backend: Fix mixed-block-related segfault in runtime4's `redarken_chunk` (#2605)
a686de9a61 flambda-backend: Properly handle regions around recursive definitions (#2601)
3956aa4b13 flambda-backend: Bump magic numbers for 5.1.1minus-16 (#2600)
2b149df6bf flambda-backend: Improve diagnostics in Value_rec_compiler and add -dletreclambda (#2599)
771841430f flambda-backend: Prefix otherlibs build artifacts (#2595)
09215c9d70 flambda-backend: Fix float32 allocation test with --enable-dev (#2598)
cbf772bebb flambda-backend: Add a comment about immediate64s in the flat suffix of mixed records (#2591)
6edfce1b76 flambda-backend: Revert "Move immutable array modules to `Stable_stdlib` (#2570)" (#2594)
633db29cc0 flambda-backend: Arrays of unboxed float32s (#2554)
80babb226a flambda-backend: Fix shebang of to_install.sh (#2592)
3ed2d4dd25 flambda-backend: Rename `Float` to `Float_boxed` in flat suffix variant (#2590)
0b675b22ee flambda-backend: Unrevert PRs that previously depended on Dune 3.11+ (#2586)
73f75384ab flambda-backend: Simplify otherlibs install stanza (#2584)
33389ed305 flambda-backend: Try to share code to pop regions in local functions optimisation (#2361)
41c8e59fbb flambda-backend: Skip closure non-scannable environment in oldify_mopup (#2587)
ca99fbdaf9 flambda-backend: Refactor `Persistent_env` to separate imports from bound names (#2585)
3626027779 flambda-backend: Disable otherlibs/beta/ on arm64 for now (#2582)
feb3ce37a4 flambda-backend: Use `CU.Name.t` for name of .cmi; support import info for parameters (#1753)
575e40d897 flambda-backend: Enhancements to Lambda printing for unboxed products (#2574)
22911e5e4c flambda-backend: Fix case where local functions optimisation breaks tail calls (#2360)
2b7bbc064a flambda-backend: Revert "Simplify the `install` stanza of extension universe otherlibs" (#2581)
ce58545ccc flambda-backend: Revert "Move unboxed definitions from `Stdlib` to `Stable`" (#2580)
4f44650e19 flambda-backend: Revert "Rename extension otherlibs" (#2579)
150dc14e0b flambda-backend: Revert "Move immutable array modules to `Stable_stdlib`" (#2578)
ef135211b6 flambda-backend: Move immutable array modules to `Stable_stdlib` (#2570)
ce0d51e2bc flambda-backend: Rename extension otherlibs (#2564)
fc8e778495 flambda-backend: Move unboxed definitions from `Stdlib` to `Stable` (#2555)
97cf656b87 flambda-backend: Simplify the `install` stanza of extension universe otherlibs (#2563)
84bcdfe710 flambda-backend: Consistently use `type t` in unboxed libs (#2562)
bb0dabd8ba flambda-backend: Modal kind jane syntax encoding (#2350)
7033ca4336 flambda-backend: Fix `include` in expect tests (#2558)
bc85611949 flambda-backend: Zero alloc: refactor to remove "property" and improve naming (#2416)
d59441e236 flambda-backend: Make jkind and types mutually recursive (#2538)
41b6877754 flambda-backend: Backport upstream PRs for recursive value compilation (#2394)
927e29d1f4 flambda-backend: Fix the build system when using dune 3.11 and above (#2114)
bd65b135b4 flambda-backend: Allow unboxed float32s in mixed blocks (#2550)
66fbd07c40 flambda-backend: Upgrade float32 support to beta (#2541)
c0850befbd flambda-backend: unboxed float32 (#2520)
acdd1ae956 flambda-backend: Use extension node for encoding labeled tuples (#2387)
77253d4b35 flambda-backend: Unify float sqrt/bit-cast intrinsics (#2519)
cb4bf07649 flambda-backend: float32 otherlib (#2492)
36c1bb8479 flambda-backend: float32 literals (#2434)
f135325bec flambda-backend: Disable stack checks by default (#2404)
19852c760c flambda-backend: zero alloc: symbolic values (all changes in one PR) (#2524)
442ea24c22 flambda-backend: float32 backend operations (#2385)
8442329abd flambda-backend: Tweak `lib-threads/sockets.ml` (flaky test) (#2544)
e90e6c491c flambda-backend: Produce Invalid upon mode mismatch in partial application (#2548)
d34a037627 flambda-backend: Bump magic numbers for minus-14 (#2547)
e9fc28eb73 flambda-backend: Zero alloc: propagate assume on applications of externals (#2459)
6ed7f37265 flambda-backend: Zero alloc: assume error means never raises (#2512)
4220d48fc1 flambda-backend: Move mixed blocks from `layouts_alpha` to `layouts_beta` (#2542)
f038173c2a flambda-backend: Support unboxed ints in mixed blocks (#2515)
79fdc00b54 flambda-backend: Mixed constructor args (#2508)
54788fa33d flambda-backend: Bugfix for a statmemprof test (#2535)
18392ab78e flambda-backend: Backport 13099 (#2529)
889c081561 flambda-backend: Zero alloc: add "assume error" (#2501)
63a3c0b538 flambda-backend: Add support for using zero_alloc information from a signature (#2506)
e663621bc2 flambda-backend: update heap-alloc tests and add heap-alloc CI (#1501)
11cbac3bf1 flambda-backend: Stop checking layout enabledness in parser (#2516)
520eb570cb flambda-backend: Support getting paths from -libloc flags (#2482)
d94e4c60bc flambda-backend: `[%call_pos]` application via an optional argument results in an error (#2497)
3d26bbefff flambda-backend: Fix a bug with warning 199 and `-stop-after typing` (#2513)
467ae7bb82 flambda-backend: add `typemode` to `dynlink` (#2514)
77e8d0e481 flambda-backend: Move compiler_float32 code into flambda2 (#2511)
75ef0a03fe flambda-backend: Add partial adjoints of `join_with` and `meet_with` (#2479)
030a263c57 flambda-backend: Refactor otherlibs build (rebased) (#2507)
c4b94da07e flambda-backend: DWARF inlined frames support (#1754)
ba455b48e4 flambda-backend: DWARF inlined frames: middle end (#2499)
ff829c0961 flambda-backend: Add back support for `zero_alloc opt` in signatures (#2503)
7093451811 flambda-backend: `[@zero_alloc]` in signatures (part 2 of 3) (#2470)
5a76f33657 flambda-backend: float32 backend plumbing/casts  (#2391)
28f543e59b flambda-backend: float32 flambda2 support (#2362)
2f20f8966f flambda-backend: Fix mixed block macros so users don't get wrong platform's macros (#2494)
ba63be3dba flambda-backend: Fix make depend for jane street stdlib modules (#2493)
41940365a6 flambda-backend: `Non_null_value` layout (#2480)
5f6b7fe258 flambda-backend: Move zero alloc annotations into a separate file (#2474)
b22815eb9d flambda-backend: Represent mixed records as "faux mixed blocks" in bytecode (#2476)
8784786483 flambda-backend: Remove lies about mixed block shape in lambda and flambda (#2469)
135b96f3d1 flambda-backend: Hash of mixed blocks raises an exception (#2429)
ecbe37a171 flambda-backend: Implement mixed blocks in runtime 4 (#2422)
c578c6276a flambda-backend: Fix function return layout bug (#2471)
16559a27d3 flambda-backend: Clean up mode error printing (#2478)
bb82646256 flambda-backend: Refactor load_path.ml (#2420)
e539d07578 flambda-backend: Async exceptions implementation for arm64 (#2450)
924d1e7d3d flambda-backend: clean up mutable() logic as commented (#2467)
686aa9ab3f flambda-backend: Disable two tests on arm64 (#2448)
43c7d0fdd9 flambda-backend: Enable locals for arm64 (#2442)
b0a712cefa flambda-backend: Statmemprof support for runtime5 (#2461)
5d4ae731d6 flambda-backend: Force pthread option on macOS (#2446)
bebf58b649 flambda-backend: Fix typo in `check_const_conservative` (#2465)
df077a7630 flambda-backend: Update "shape" tests to new fomat (#2462)
ac462d4ad1 flambda-backend: Backport 12508 (#2294)
2485d6c0cc flambda-backend: Fixes and re-enables a test (#2454)
6a6c53e4f9 flambda-backend: Better handling of multiple simultaneous async exns (#2453)
a1fe776de4 flambda-backend: Mode system exposes bounds (#2449)
a0777ca064 flambda-backend: Upstream port: new ocamltest language (#2444)
337d4a0df9 flambda-backend: Parse `zero_alloc` attributes into the typed tree (#2400)
dd9c221836 flambda-backend: Basic mixed blocks for `float#` in runtime 5 (#2380)
962b0c6bcb flambda-backend: Install META files (#2437)
b8f208d30e flambda-backend: Add missing location in wrapper functions (#2432)
3eab863eca flambda-backend: Fix incorrect use of AC_ARG_ENABLE (#2419)
e90c81759b flambda-backend: `NO_PROFINFO` is 0 (#2426)
0d9efdaa5e flambda-backend: Protect calling not_nolabel_function, just as it used to be (#2425)
bc2db042b1 flambda-backend: Refactor arrow modes printing (#2396)
729bf7183f flambda-backend: Mode cross unboxed float (#2417)
628b3e9f77 flambda-backend: Set default `space_overhead` to 160 in runtime 5 (#2410)
5d0d3b3baa flambda-backend: Fix let pun locations (#2415)
4571032710 flambda-backend: make mode system scale better with more axes (#2395)
c3c8b47641 flambda-backend: Bump numbers for 5.1.1minus-13
8331712816 flambda-backend: Unconditionally reserve the top header byte in runtime 4 and runtime 5 (#2389)
a4cd586334 flambda-backend: Fix `Mode.zap_to_floor` BUG (#2392)
37d03a9fce flambda-backend: Implement `mutable()` logic for record and array (#2369)
f7cc47a0c7 flambda-backend: Better atomicity of mode system (#2388)
5343e09371 flambda-backend: Delete x86 architecture check (#2381)
1ef8d46c9c flambda-backend: Re-export stable extension modules from `Stable`. (#2407)
386de392f4 flambda-backend: ocamlformat in JS-only files in lambda (#1882)
57eacdb464 flambda-backend: Enable warn-error by default (#2140)
fa8acc9864 flambda-backend: Update GC phase assertion (#2358)
8f12f05589 flambda-backend: Improve error message around `any` in functions (#2405)
a9a4996ddf flambda-backend: Add extension library stubs to otherlibs (#2403)
24bf5b3509 flambda-backend: Fix a bug in `rec_check.ml` for arrays of unboxed things (#2390)
f025246ee5 flambda-backend: Implicit source positions (#2401)
22c805d36c flambda-backend: Take into account witnesses when computing [lessequal] on values (#2402)
fc7bf1489c flambda-backend: Fix labeled tuple pattern location in parser (#2399)
fedbed39c6 flambda-backend: Extensions universes (#2393)
73200c0a53 flambda-backend: zero alloc: assume on calls (#2165)
e52abba204 flambda-backend: Fix Unbound module Stdlib__Nativeint_u (#2359)
978b51aadd flambda-backend: Add missing morphism reductions (#2374)
39e2b1ec0d flambda-backend: Mode error messages should use the solver error (#2383)
b6e3c58519 flambda-backend: Improve mode checking related to allocation (#2366)
f6789994c3 flambda-backend: Bump magic numbers for 5.1.1minus-12 (#2370)
12e1d1935b flambda-backend: Add unboxed bigstring primitives to `prim_has_valid_reprs` (#2368)
12e8b8a90b flambda-backend: Add frontend support for unboxed float/int32/int64/nativeint array (#2238)
f46ddec2e3 flambda-backend: Use `Meet_with` for mode crossing (#2363)
9ba55086bc flambda-backend: Document our extensions (#2365)
0f4d23e20a flambda-backend: Index arrays with unboxed ints (#2337)
c72395102d flambda-backend: Generalize `unique_to_linear` to `monadic_to_comonadic` (#2351)
e132455390 flambda-backend: Delay the start of marking with a new GC phase (#2348)
2e21d9dce6 flambda-backend: Replace `const_min/max` with `meet/join_with` (#2302)
bf5c2c05b6 flambda-backend: Parsing rule for modal kinds (#2347)
fdd190081c flambda-backend: `Ast_mapper` and `Ast_iterator` should traverse location inside mode expressions (#2330)
843e732421 flambda-backend: Allow `[@unboxed]` on non-value layouts (#2306)
117f3f4b12 flambda-backend: Delete wayward comment (#2349)
971c6a9228 flambda-backend: Detect uses of variant-only Is_int on non-variant values (#2336)
9a934cd81a flambda-backend: Move the `Uniqueness` axis into the `Monadic` fragment (#2334)
db11d6144f flambda-backend: Parsing new mode syntax (#2235)
536d7febf0 flambda-backend: Add `caml_*_of_string_unboxed` runtime primitives for boxed ints (#2315)
fa1fdec633 flambda-backend: Fix missing parens around local exp in pprintast (#2342)
ca8415c57c flambda-backend: Fix the package hack (#2253)
1973c38b35 flambda-backend: Remove a check for values in `with type` constraints (#2338)
a47a2349ed flambda-backend: Full blown Jane Syntax for mode exprs (#2335)
eb344da668 flambda-backend: Add a constructor to stop after middle-end (#2333)
b1bc6bbda3 flambda-backend: Move mode coercion syntax to `jane_syntax` (#2331)
677a8521cd flambda-backend: Make `Sys.opaque_identity` work on different layouts (#2327)
2618fe349d flambda-backend: Bump magic numbers for 5.1.1minus-11 retag
ef31be5832 flambda-backend: `pprintast` recognize modalities on constructor arguments (#2329)
54e3fe6c85 flambda-backend: Tolerate `global` in `transl_mode_annots` (#2326)
aa5fd28c7e flambda-backend: Use modal kinds to do mode crossing (#2310)
17910ec57a flambda-backend: Improve interaction between `Jane_syntax` and modes (#2325)
137e416207 flambda-backend: Bump magic numbers for 5.1.1minus-11
2adbc12505 flambda-backend: Improve mode syntax locations (#2318)
6f02ad0e7f flambda-backend: Use "unboxable" as the name of the best-effort unboxing attribute (#2319)
ee1d25d055 flambda-backend: Fix for naked pointer problem in unsafe_get_global_value (#2317)
70819a5fa1 flambda-backend: 128-bit load/store primitives for GC'd arrays (#2247)
e787c94198 flambda-backend: Fix uses of polymorphic comparison in Flambda 2 (#2312)
a7bd3d43d6 flambda-backend: Add `[@layout_poly]` attribute for layout representation polymorphic externals (#2229)
16d52cc137 flambda-backend: Speed up compile time for dev builds (#2304)
eb54885d01 flambda-backend: Closing over argument crosses modes (#2305)
ff8ff9bad9 flambda-backend: Unboxed primitives for bigstring access (#2243)
e20ed878f5 flambda-backend: Temporarily disable architecture check (#2308)
496965b773 flambda-backend: Hoist Wosize_val from end conditions of loops (#2301)
db7e37e01c flambda-backend: Remove Product lattice (#2297)
ecd62d1a6c flambda-backend: Remove `exact` from `expected_mode` (#2300)
94790aea2f flambda-backend: Add type-directed disambiguation for `local_ expr` expressions (#2303)
b9b512ffc6 flambda-backend: New encoding for mode syntax (#2231)
906de5eb55 flambda-backend: Handle exclave in pprintast (#2298)
42b545be2b flambda-backend: Mark `layouts` extension as erasable and limit the use of immediate/immediate64 (#2286)
bf6ad3e4ad flambda-backend: New mode solver supporting multiple axes with morphisms (#1760)
2bb1fe0238 flambda-backend: Bump magic numbers for 5.1.1minus-10
12e45c5879 flambda-backend: Update documentation (#2277)
9e8dc73d26 flambda-backend: Functions with unboxed parameters and returns (#1271)
fc3ecd6d45 flambda-backend: Refine assertion in caml_modify_local (#2244)
9847c2f756 flambda-backend: add caml_print_timestamp to caml_gc_log (#2216)
2b59825f9b flambda-backend: Remove float32 constant case from Asttypes (#2279)
7744d04446 flambda-backend: Request ISA extension checks from C stubs (#2268)
8bfe6f3eb9 flambda-backend: Add float32 frontend definitions  (#1913)
985850a353 flambda-backend: Add boxed_float variant to all float operations (#1900)
caf863497c flambda-backend: generic Tvar should have fixed jkind (#2269)
69483465f2 flambda-backend: Check amd64 extension support at startup (#2220)
5b03ed66ce flambda-backend: remove duplicated modality functions (#2265)
ce61903a51 flambda-backend: Replace _Static_assert with CAML_STATIC_ASSERT (#2264)
ca54c9adda flambda-backend: Determine unboxed int32 array length using custom_ops index (#2252)
48884b1ed4 flambda-backend: Improve exclave error message (#2263)
664c6a227c flambda-backend: Allocate pools for the shared heap in batches rather than one at a time (#2248)
ea588cd0b7 flambda-backend: Record toplevel attributes in cms files (#2206)
ac7428298f flambda-backend: Adjust delayed layout checks in typedecl to fix a kind inference bug. (#2246)
bafd8a72fb flambda-backend: Turn the (most mature) layouts extension on by default (#2241)
da5210d89b flambda-backend: Fix layout annotation encoding to work better with ppxlib  (#2234)
e8351b74d7 flambda-backend: Add missing case for `Ltyp_poly` in Pprintast (#2240)
f70f36b1b5 flambda-backend: Fix newtype loc ghost (#2239)
a0bac0ae83 flambda-backend: Bump magic numbers for 5.1.1minus-9
224e9d37ed flambda-backend: Fix ordering of masterlock operations (#2237)
494bfca7c4 flambda-backend: add region around Texp_probe (#2236)
953c6f04fd flambda-backend: Add missing stdlib modules to toplevel (#2224)
5cf9cdb725 flambda-backend: Better results from meet (#406)
cf21f2b0a2 flambda-backend: Mark symbols as having visibility STV_PROTECTED (#2221)
6f47b41649 flambda-backend: Bump magic numbers for 5.1.1minus-8
2b421a9287 flambda-backend: Add more accessors to Shape to make it compatible with ocaml-uideps (#2209)
d1f82c48d7 flambda-backend: Ensure the minor heap is actually empty before reallocating it (#2208)
5eb9849fbe flambda-backend: Move unboxed ints to stable (#2207)
b9b9ae2f31 flambda-backend: Middle and backend support for arrays of unboxed numbers (rebased) (#2185)
069fa80a44 flambda-backend: Remove dummy var from `-as-parameter` command line help (#2157)
5d1181ffa5 flambda-backend: Reorder call to caml_domain_external_interrupt_hook (#2204)
ecabd07453 flambda-backend: Fix caml_alloc_shr_check_gc for tags >= No_scan_tag (#2203)
0df692cdae flambda-backend: Implement layout histories (#2196)
f8768775de flambda-backend: Syntactic function arity typechecking and translation (#1817)
56067cce0e flambda-backend: Implement unboxed int literals (#2139)
4bb4b96f28 flambda-backend: Silence the debug runtime by default (runtime5 only) (#2195)
34ef567f22 flambda-backend: Move code between Printast and Pprintast (#2194)
0d7cc30da6 flambda-backend: Move layout restriction from -> to fun (#2107)
6c02a61ebb flambda-backend: Modify Caml_state->backtrace_last_exn properly (#2191)
502c69dc9e flambda-backend: Fix assertion in caml_ephe_clean (#2192)
4d155c6381 flambda-backend: Treat Prim_poly primitives as Alloc_heap in Lambda (#2190)
9fdbb786cb flambda-backend: Add tests for #2162 (#2170)
6ff6bbde6c flambda-backend: Bump .cmx magic number for Flambda 2 (cherry-picked from 5.1.1minus-5-microbranch)
f8dae64726 flambda-backend: Add region in Call_kind for C calls (#2180)
341437c291 flambda-backend: Move unboxed float literals to stable (#2172)
bd4e749538 flambda-backend: Speedup Shape.local_reduce (#1956)
dea485ed84 flambda-backend: Unboxed ints (int32, int64, and nativeint) (#2113)
c228d93596 flambda-backend: Remove flambda-backend copies of Closure, Flambda 1, Clambda, Cmmgen, etc. (#1937)
1dea851a91 flambda-backend: Cache genfns rework (#1866)
2ff7dbcf50 flambda-backend: zero alloc: new payload supported in [@@@zero_alloc check...] to match flags (#2083)
0b6b2f9884 flambda-backend: Zero alloc misplaced attr warning (#2153)
b74ea89acb flambda-backend: Zero alloc fix assume payload parsing (#2152)
2ab89993b4 flambda-backend: Issue misplaced attribute warning earlier (#2155)
d9ae7eb430 flambda-backend: Fix split_default_wrapper when default value could allocate in region (#2162)
dfc73c967f flambda-backend: Fix error about -Wdeprecated-non-prototype (#2161)
26c3b07d71 flambda-backend: zero_alloc: refactor Translattribute.assume_zero_alloc slightly (#2148)
895f36bedd flambda-backend: Reinitialize IO mutexes in systhreads5 (#2160)
c04a4c8dda flambda-backend: Bump magic numbers for `minus-4` (and update script) (#2159)
b3993f4f7a flambda-backend: Fix segfault when signal handlers invoked in non-OCaml threads on runtime5 (#2154)
0b9333c75f flambda-backend: Fix caml_gc_compaction in the 5 runtime to run finalizers (#2135)
8ecff4699e flambda-backend: API for constructing a labeled tuple AST is more permissive (#2146)
af8a320cf2 flambda-backend: Fix merge_infos bug (#2147)
fb562878a6 flambda-backend: Fix ast iteration/mapping for layout type declarations (#2145)
034e085a05 flambda-backend: Delete duplicate copy of `print_out_jkind` (#2143)
367e90b360 flambda-backend: Switch to using GARBAGE during locals marking instead of the high bit (#2141)
36cc702ffe flambda-backend: Fix `custom_condvar` initialization (#2136)
84e75af9d9 flambda-backend: Correct order of printed quantified type vars (#2126)
2a90741c90 flambda-backend: Add `-as-parameter` option (#1751)
2099475d55 flambda-backend: Add caml_hot__code{begin,end} symbols in runtime5 (#2133)
622c8dc4cd flambda-backend: Port #852 (add a primitive to enable/disable tick thread) (#2130)
4ebef6574b flambda-backend: Ports custom runtime locking (#2077)
35f37b689a flambda-backend: Revert "port #852 (add primitive to enable/disable tick thread) (#2054)" (#2129)
d300550de8 flambda-backend: port #852 (add primitive to enable/disable tick thread) (#2054)
f85d724542 flambda-backend: Wider scope of `in_minor_collection` (#2098)
d0e0512ec0 flambda-backend: Print jkind on locally abstract type (#2115)
9248feacdc flambda-backend: Ports upstream #12212 (#2118)
5aeb3644ff flambda-backend: Refine type printing heuristics in view of #1962 (#2105)
6421204739 flambda-backend: Backport caml_sys_is_regular_file to the 4 runtime (#2121)
d9038f76fd flambda-backend: Revert unixsupport_unix.c to the upstream version (#2110)
a998ddf9ee flambda-backend: Use upstream implementation of caml_unix_error_message for runtime5 (#2111)
6fafc589e9 flambda-backend: Uncomment remainder of chi2.ml test (#2120)
36bbb91f9d flambda-backend: Re-enable some tests that it seems should work now (#2109)
5c8819073f flambda-backend: Improve error handling in caml_alloc_sprintf (upstream PR 12489) (#2117)
781bb48fa5 flambda-backend: More CR ocaml 5 comments (#2108)
b0ca7089a4 flambda-backend: Install runtime events for runtime5 (#2106)
d35d125e05 flambda-backend: Propagate never-returning functions, except when annotated with [@opaque] (#2099)
37317bb44e flambda-backend: Quick temporary fix for rec mod layouts segfault (#2104)
513644052a flambda-backend: Fix a couple of build errors (#2103)
127ef00f80 flambda-backend: Port "Cause a C warning when CAMLreturn is missing in C stubs" to the 5 runtime (#2102)
cbbe49f235 flambda-backend: Change lambda constant type to support native unboxed float (#2071)
95507ca6d4 flambda-backend: Disable swapgil for runtime5 (#2100)
fbeafb9a0f flambda-backend: Asynchronous exceptions for 5.x runtime (#2007)
ee9570b726 flambda-backend: Punboxed_float_comp lambda primitive (#2062)
cd4644c619 flambda-backend: Prevent fatal errors related to regions (#2096)
45457d9f98 flambda-backend: Remove CRs from the test suite (#2097)
08ba140442 flambda-backend: Make header size unconditional (`Marshal`) (#2095)
88f522a07d flambda-backend: Reclassify 'CR ocaml 5 runtime' comments (#2094)
d67772e0ad flambda-backend: Port #1539 (add the %get_header primitive) (#2088)
9f189586a4 flambda-backend: Backport 5 PRNG (#2069)
fa7e3e26fd flambda-backend: Port "condvar" bugfix to runtime 5 (#2076)
c69bd923d4 flambda-backend: Implement unboxed float literals (#2025)
2698bd3328 flambda-backend: Port runtime of #1420 (local immutable array) (#2084)
ae121cd930 flambda-backend: Ports #1914 (`is_stack` macro for C-stub authors) (#2085)
8fc05cb02e flambda-backend: Fix build of 5 runtime (#2086)
d4a0b71ffa flambda-backend: Support for locals in the 5.x runtime (#2066)
5d0b3d4854 flambda-backend: Fix last minute bug in #2055 (#2082)
a03e3292ab flambda-backend: Make `lazy.ml` independent of the runtime version (#2080)
8d71c280af flambda-backend: Port upstream's #12260 (#2067)
447c324404 flambda-backend: Backport lazy from OCaml 5 to runtime4 (#2038)
2d0267b23a flambda-backend: Port upstream's #12715 (disable CSE for atomic loads) (#2079)
635a5ea4ab flambda-backend: Ports runtime of #154 (Add -mbranches-within-32B to major GC compilation) (#2055)
0263edc3a9 flambda-backend: Port upstream's #12193 (compaction) (#2078)
5186b6b67e flambda-backend: Port #743 (#2052)
1645eadefd flambda-backend: add `in_minor_collection` and port #1743 (Add some checks that the minor GC does not recurse) (#2075)
6047949aea flambda-backend: Break out of loop in `Printtyp.best_type_path` when depth gets big (#1961)
f19cfdfc2a flambda-backend: Remove Config.runtime5 check in dll.ml; guard the one in symbol.ml (#2072)
dba46874ae flambda-backend: Ports upstream #12439 (Fix custom block promotion) (#2068)
418f1a02ad flambda-backend: Always print -dtimings info to stdout (#2073)
422174e79a flambda-backend: Ports #1156 (Shrink the ref_table if it grows large) (#2056)
cda2a5e8c5 flambda-backend: Add `Runtimetags` module (#2063)
d39b022de2 flambda-backend: Fix C warnings (#2064)
71f6c93300 flambda-backend: Add the "debugger4/" files to .gitignore (#2065)
865a42b70f flambda-backend: Implement 5.x atomic primitives in Flambda 2 and use them in the stdlib (#2060)
ce5b41f8fe flambda-backend: Add native code tests for immediate and immediate64 (#2021)
bf9cb954c1 flambda-backend: Fix typing-local/iarray.ml for when stack allocation is disabled (#2059)
db04e80bb5 flambda-backend: Fixes for runtest on runtime5 (#2058)
91c199bc74 flambda-backend: Continuation of PR2027 (tests passing for runtime 4 and 5) (#2057)
55bbf4c109 flambda-backend: Port runtime of #1682 (#2050)
2170ee5253 flambda-backend: Better region handling for functions (#1871)
948507ae9b flambda-backend: (SIMD) Port #1935 (#2042)
a26ab5bbc5 flambda-backend: Port runtime of #1897 (#2044)
68e77538eb flambda-backend: Ports #1247 (suppress caml_print_timestamp warning) (#2049)
27a795ee36 flambda-backend: Fix `~region` in list comprehensions (#2036)
b1933f2688 flambda-backend: Runtime 5 forward & backward porting (#2027)
7917f60770 flambda-backend: Add timestamp to GC log (#2032)
9a94e8ff71 flambda-backend: Respect the configure setting of no-naked-pointers (#2047)
454ef16d1e flambda-backend: (dynlink) port #753 #784 (#2041)
c9a88c7f04 flambda-backend: Port Initial support for value slots not of value kind #946 (#2040)
0e87252fee flambda-backend: Port #843 (Make Obj.dup use a new primitive, %obj_dup) (#2039)
9eb0d704e2 flambda-backend: Forward port increase minor heap size (#2033)
ce1bd17c9b flambda-backend: Backport `caml_string_hash` from OCaml 5 to runtime 4 (#2045)
584cb019da flambda-backend: Labeled Tuples (#2009)
6d4afb35f5 flambda-backend: Backport of upstream -H implementation (#1849)
67d07f97ba flambda-backend: Typecore merge improvements (#1996)
2f076b0ffc flambda-backend: Iterate over all persistent modules in `Env.iter_env` (#1962)
e466e1086b flambda-backend: Restore better printing in `Base` by reverting `ocaml/ocaml#11515` (#2029)
f209dfa8e8 flambda-backend: Backport PR10478 (fix for crash in caml_thread_start) (#2030)
80bd34ecf1 flambda-backend: Successful build with --enable-runtime5 (#2017)
998b623020 flambda-backend: Enable zero-alloc check by default (#2028)
c79579e9ac flambda-backend: Retainer profiling for 5.x runtime (#2000)
86c6eb1457 flambda-backend: Modal kinds (v0) (#1964)
b13c746cdc flambda-backend: `tast_{iterator,mapper}` were missing locs in jkind annotations (#2023)
95bb02c6ad flambda-backend: Move -no-auto-include-otherlibs flag from Flambda_backend_args to Main_args (#2022)
0e833d5a76 flambda-backend: Revert "Add some native code tests for immediate/immediate64 (#2016)"
a5fbb1ce2a flambda-backend: Fix tests/backtrace/backtrace_bounds_exn (#2001)
b50d8678eb flambda-backend: Add some native code tests for immediate/immediate64 (#2016)
cac7b4c1a7 flambda-backend: Update Clambda_primitives.result_layout (#2014)
e1a7ad2cf8 flambda-backend: Disable Compmisc.auto_include: do not add the directory, do not alert. (#2012)
1ddf65d357 flambda-backend: Reroute legacy immediate support for jkinds (#1907)
b862776985 flambda-backend: Add 5.x systhreads code (#2015)
ab968a0bf7 flambda-backend: Make max arity local test less churny (#1989)
5231dde0f1 flambda-backend: Configure flag to use the 5.x runtime; make the 5.x runtime build (#2004)
7ae4d1847b flambda-backend: Allow unboxed floats (+ annotations + `any`) in `-extension layouts` (#2003)
7f9e830a57 flambda-backend: Move jkind name detection out of parser (#1906)
1010bd1ef8 flambda-backend: Record *old* value of sort during backtracking (#1952)
f3d5fc295d flambda-backend: Add Jkind.sort to Tpat_array (#1971)
06b27e82db flambda-backend: Look through Tpoly in unbox_once (#2002)
373d067160 flambda-backend: Install dynlink.cmt (#1999)
6f19fa6303 flambda-backend: Fix error message regression: use manifest jkind less (#1981)
4d6adf3bce flambda-backend: Fix Stdlib.Domain upstream build dependencies (#1987)
5d827790eb flambda-backend: Remove C11 _Atomic typedefs (#1994)
c1231e09e5 flambda-backend: Fix "make bootstrap" and bootstrap (#1991)
b676838574 flambda-backend: Revert "Replace thread save/restore API with switch" (#1984)
33c8b8a6c5 flambda-backend: Refresh optimized compilers before testing (#1988)
1468e3f78c flambda-backend: Backport/install camlatomic.h (#1980)
01d4bc0dff flambda-backend: Provide (unimplemented) new Stdlib.Random functions (#1979)
5d6cb4c3df flambda-backend: Support DLS API (single-domain only)  (#1978)
0e380c9a7b flambda-backend: Add OCaml 4 feature macros (#1975)
4a1e6ddef0 flambda-backend: Install missing files in stdlib (#1983)
046d5f1603 flambda-backend: Rework backtrace_dynlink
19977f4041 flambda-backend: Fix float layout test.
0ad2059f23 flambda-backend: Promote float layout test output.
048ad616af flambda-backend: Run float64 layout tests only under flambda2
108a7b7b74 flambda-backend: Promote w55 and w59 flambda1 tests
1826fe4be5 flambda-backend: Promote ocaml/testsuite/tests/backtrace/backtrace_dynlink.flambda.reference
1846e787aa flambda-backend: Fix backtrace_dynlink
ea1674cae8 flambda-backend: Remove unnecessary backtraces from lib-dynlink-initializers/test10
bc601364f1 flambda-backend: Only test amd64 and arm64 in check_all_arches
83df38d23c flambda-backend: Promote backtraces.
1b378ed41f flambda-backend: stdlib/.depend
a9d249fb66 flambda-backend: Revert "No camlinternalAtomic.mli"
f52f2efaaf flambda-backend: Install autogenerated camlinternalAtomic.mli
2af9232fa5 flambda-backend: No camlinternalAtomic.mli
634e13f300 flambda-backend: camlinternalAtomic
3e11200a02 flambda-backend: Tag unboxed-primitive-args as flambda-only.
30176d1d34 flambda-backend: flambda2 action test in ocamltest + unboxed-primitive-args
7e481c2f34 flambda-backend: Add camlinternalAtomic files to stdlib/dune
059880fba0 flambda-backend: Fix another missing installed file in ocaml/otherlibs/dynlink/dune
a44fc9d90b flambda-backend: more runtime/ -> runtime4/
95110bcacd flambda-backend: Fix missing installed file in ocaml/otherlibs/dynlink/dune
0405853188 flambda-backend: Promote menhir and revert incorrect promotions done on the basis of the outdated parser
8f5c9862c5 flambda-backend: make promote-failed
a1f315cb5c flambda-backend: Fix runtime path in ocaml/Makefile.common-jst
588c119bc9 flambda-backend: Fix dynlink build
ac8401e316 flambda-backend: Fix systhreads build
ab681b87e8 flambda-backend: Promotions
574ed0ef68 flambda-backend: Fixing ocamltest for runtime4/
870892e7b7 flambda-backend: testsuite/tests/backtrace/backtrace_dynlink.ml
68ef6655b2 flambda-backend: Fix typo in ocamltest/Makefile
bd69ea7d7c flambda-backend: Fix names in signals.c
08e1a55e47 flambda-backend: Fixing dynlink part 2
6b704d07f3 flambda-backend: Remove files that are probably auto-generated
c8a0fd304a flambda-backend: Fixing dynlink part 1
ee6c5c5177 flambda-backend: make depend in stdlib
b09ffe3c82 flambda-backend: Minor fixes for runtime4/
80059c6a58 flambda-backend: Remove frame_descriptors which is a 5.x runtime file; disable tools we don't need
2e16d62510 flambda-backend: utils/config.fixed.ml
9098d43c54 flambda-backend: make depend
064af01a05 flambda-backend: runtime/ -> runtime4/
29b0f28eaa flambda-backend: Stdlib build fixes
4bd4c6b042 flambda-backend: Add missing Type module to stdlib/dune
977d3c4500 flambda-backend: gen_primitives fix
e0dcd09fe6 flambda-backend: Replace bootstrap compilers
f946acd1cf flambda-backend: Makefile fixes
e4ed2d1cf1 flambda-backend: Promote whitespace-only test output changes
1bd14ebe91 flambda-backend: Fix dumpobj installation properly
d7a83fcce1 flambda-backend: Disable afl-fuzz-test.ml
dbcf6cd6f5 flambda-backend: Regenerate `configure`.
2e864d040f flambda-backend: Disable warning abut unknown pragma.
91943414f6 flambda-backend: Consequence of b5b4815 on expect tests (removing empty lines).
0aa3ae2464 flambda-backend: Fix w51.ml
9e2e89657e flambda-backend: Fix backtrace_c_exn.opt.reference
5ea97eeb00 flambda-backend: Experiment with adding newlines in ocaml/testsuite/tests/warnings/
b85e6c09fd flambda-backend: Make ocaml/testsuite/tests/backtrace/backtrace_c_exn.ml robust to compilation under Closure
7a158776aa flambda-backend: Skip tests/libunwind which is macOS-specific and broken
ee312d5ada flambda-backend: Fix more warnings (runtime) (#1974)
adea61ad66 flambda-backend: Import 62df46a669695120664759f681575bfeedea689e from ocaml-jst (PR268)
b6bcd6a58b flambda-backend: Fix typos in ocaml_actions.ml
cf3f527eed flambda-backend: Fix ocaml/testsuite/tests/backtrace/backtrace_systhreads
2d6dc04713 flambda-backend: Disable test in native code until minor Flambda 2 bug fixed
c73dd4c03a flambda-backend: Fix for dumpobj build
61628392f5 flambda-backend: Whitespace-only promotions
044bcad029 flambda-backend: Trivial promotions
17921ace4e flambda-backend: Promotions in ocaml/testsuite/tests/typing-*
603d27871f flambda-backend: Fix warnings (runtime) (#1973)
59c16401d6 flambda-backend: Comment out ocaml/toplevel/native/dune as usual
534c832596 flambda-backend: Remove dependency that produces: make: *** No rule to make target duneconf/boot.ws, needed by _build/_bootinstall.  Stop.
96b4dc0003 flambda-backend: Merge ocaml-jst
7da89ee53c flambda-backend: Error message: add hint for unboxed types (#1960)

git-subtree-dir: ocaml
git-subtree-split: b98d6a18bb05921b66efc334d3d772c1b69d2965
  • Loading branch information
mshinwell committed Jul 15, 2024
1 parent 5541c7c commit 5b16b0b
Show file tree
Hide file tree
Showing 2,657 changed files with 322,616 additions and 77,513 deletions.
1,809 changes: 1,345 additions & 464 deletions .depend

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ tools/ocaml-objcopy-macosx text eol=lf
tools/ocamlsize text eol=lf
tools/pre-commit-githook text eol=lf
tools/markdown-add-pr-links.sh text eol=lf
runtime/caml/sizeclasses.h typo.missing-header typo.white-at-eol
runtime/caml/sizeclasses.h typo.missing-header

# Tests which include references spanning multiple lines fail with \r\n
# endings, so use \n endings only, even on Windows.
Expand Down
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,12 @@ META
/debugger/debugger_parser.output
/debugger/ocamldebug

/debugger4/debugger_lexer.ml
/debugger4/debugger_parser.ml
/debugger4/debugger_parser.mli
/debugger4/debugger_parser.output
/debugger4/ocamldebug

/emacs/ocamltags
/emacs/*.elc

Expand Down Expand Up @@ -358,3 +364,6 @@ META
/yacc/.gdb_history

/otherlibs/dynlink/natdynlinkops

dune.runtime_selection
/otherlibs/dune
12 changes: 12 additions & 0 deletions Changes
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ OCaml 5.1.0 (14 September 2023)
(David Allsopp, review by Xavier Leroy, Guillaume Munch-Maccagnoni
and Gabriel Scherer)

- #12551, #12608, #12782, #12596: Overhaul of recursive value compilation.
Non-function recursive bindings are now forbidden from Lambda onwards,
and compiled using a new Value_rec_compiler module.
(Vincent Laviron and Lunia Ayanides, review by Gabriel Scherer,
Stefan Muenzel and Nathanaëlle Courant)

### Standard library:

- #12006, #12064: Add `Marshal.Compression` flag to `Marshal.to_*` functions.
Expand Down Expand Up @@ -741,6 +747,12 @@ Some of those changes will benefit all OCaml packages.
bytecode executable (`ocamlc -custom`).
(Antonin Décimo, review by Xavier Leroy)

- #12508 : Add compiler-side support for project-wide occurrences in Merlin, by
generating index tables of all identifier occurrences. This extra data in .cmt
files is only added when the new flag -bin-annot-occurrences is passed.
(Ulysse Gérard, Nathanaëlle Courant, suggestions by Gabriel Scherer and Thomas
Refis, review by Florian Angeletti, Gabriel Scherer and Thomas Refis)

### Build system:

- #11844: Reduce verbosity of `make` logs by printing program invocations in
Expand Down
2 changes: 1 addition & 1 deletion HACKING.jst.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,4 @@ Then build the compiler — the following command will build the compiler us
We can now benchmark our compiler against `typecore.ml`. The following `_bootinstall` is built using the opam switch and has FP enabled.

$ cd _build/main
$ perf stat -r 5 ../_bootinstall/bin/ocamlc.opt -strict-sequence -principal -w +a-4-9-40-41-42-44-45-48-66-70 -warn-error A -bin-annot -safe-string -strict-formats -w -67 -g -bin-annot -I .ocamlcommon.objs/byte -I ../install/runtime_stdlib/lib/ocaml_runtime_stdlib/ -intf-suffix .ml -no-alias-deps -o .ocamlcommon.objs/byte/typecore.cmo -c -impl typecore.ml
$ perf stat -r 5 ../_bootinstall/bin/ocamlc.opt -strict-sequence -principal -w +a-4-9-40-41-42-44-45-48-66-70 -warn-error A -bin-annot -safe-string -strict-formats -w -67 -g -bin-annot -I .ocamlcommon.objs/byte -I ../runtime_stdlib_install/lib/ocaml_runtime_stdlib/ -intf-suffix .ml -no-alias-deps -o .ocamlcommon.objs/byte/typecore.cmo -c -impl typecore.ml
Loading

0 comments on commit 5b16b0b

Please sign in to comment.