summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | [minor] clarify the input type of major_gc.c:addr_mapGabriel Scherer2023-04-081-5/+5
| | | | |
* | | | | Merge pull request #12072 from jmid/sys-rename-docuGabriel Scherer2023-04-124-5/+42
|\ \ \ \ \ | | | | | | | | | | | | Document that Sys.rename works on directories too
| * | | | | Add negative Sys.rename test with non-empty target dirJan Midtgaard2023-03-142-0/+9
| | | | | |
| * | | | | Add Changes entry for Sys.rename elaborationJan Midtgaard2023-03-091-0/+3
| | | | | |
| * | | | | Add Sys.rename dir testsJan Midtgaard2023-03-092-1/+25
| | | | | |
| * | | | | Document that Sys.rename works on directories tooJan Midtgaard2023-03-091-4/+5
| | | | | |
* | | | | | Merge pull request #12130 from NickBarnes/nick-11934-weak-get-copyGabriel Scherer2023-04-112-44/+79
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix #11934 with more conservative Weak.get_copy
| * | | | | | Changes: add Francois Bobot as PR reviewer.Nick Barnes2023-03-291-1/+1
| | | | | | |
| * | | | | | Review response: simplify loop, separate copying function.Nick Barnes2023-03-291-31/+51
| | | | | | |
| * | | | | | Update Changes.Nick Barnes2023-03-231-0/+3
| | | | | | |
| * | | | | | Remove trailing whitespace.Nick Barnes2023-03-221-1/+1
| | | | | | |
| * | | | | | Fix infix closure handling.Nick Barnes2023-03-221-9/+17
| | | | | | |
| * | | | | | Much more conservative version of ephe_get_field_copy.Nick Barnes2023-03-221-43/+47
| | | | | | |
* | | | | | | Merge pull request #12178 from TheLortex/runtime-events-consumer-fixupGabriel Scherer2023-04-112-1/+4
|\ \ \ \ \ \ \ | |_|_|_|/ / / |/| | | | | | runtime events consumer: fix invalid value returned from runtime_events_read_poll
| * | | | | | runtime events consumer: fix invalid value returned from ↵Lucas Pluvinage2023-04-112-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime_events_read_poll
* | | | | | | first commit after branching 5.1Florian Angeletti2023-04-116-31/+57
| | | | | | |
* | | | | | | last commit before branching 5.1Florian Angeletti2023-04-114-20/+20
| | | | | | |
* | | | | | | Bump magic numbers before branching 5.1Florian Angeletti2023-04-114-14/+14
|/ / / / / /
* | | | | | HACKING.adoc: recommend `make -j`Gabriel Scherer2023-04-081-1/+1
| | | | | | | | | | | | | | | | | | `make -j` is now used by default in all opam installs, it should be fine for clean builds
* | | | | | Merge pull request #12169 from gasche/no_reified_var_counterGabriel Scherer2023-04-084-18/+26
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | No reified var counter
| * | | | | changesTakafumi Saikawa2023-04-081-0/+3
| | | | | |
| * | | | | use Misc.find_first_monoTakafumi Saikawa2023-04-081-9/+10
| | | | | |
| * | | | | remove reified_var_counterTakafumi Saikawa2023-04-083-18/+22
|/ / / / /
* | | | | Merge pull request #12163 from sidkshatriya/sprintf-docGabriel Scherer2023-04-081-1/+2
|\ \ \ \ \ | | | | | | | | | | | | Format.sprintf -- direct users to asprintf if they have %a in the format string
| * | | | | doc: Format.sprintf -- direct users to asprintf if they have %a in the ↵Sidharth Kshatriya2023-04-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | format string
* | | | | | Use ghost locs for nodes used to handle default value in opt args (#12134)panglesd2023-04-082-3/+8
| | | | | | | | | | | | | | | | | | Signed-off-by: Paul-Elliot <peada@free.fr>
* | | | | | Merge pull request #12128 from gasche/compare-interruptibleGabriel Scherer2023-04-083-162/+208
|\ \ \ \ \ \ | | | | | | | | | | | | | | interruptible compare.c
| * | | | | | ChangesGabriel Scherer2023-04-082-0/+6
| | | | | | |
| * | | | | | Poll for interrupts in structural equality loopGabriel Scherer2023-04-071-164/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: eutro <git@eutro.dev> Co-authored-by: Xavier Leroy <xavier.leroy@college-de-france.fr>
| * | | | | | compare.c: minor fix in stack-handling codeGabriel Scherer2023-04-071-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous stack-push code would increment the stack pointer before writing the new element, so the very first slot was never used. This is slightly inefficient and makes registering the compare stack as GC roots weird (we would have to start at 1).
| * | | | | | compare.c: avoid inner pointers on the compare stackGabriel Scherer2023-04-071-7/+9
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To compare same-size blocks containing values, do_compare_val recursively compares the first argument of each block, and pushes "the rest of the arguments' on both sides to the compare stack. The compare stack thus contains pairs of sequences of arguments to be compared. Before this PR, pairs of sequences of arguments are represented by: - two inner pointers (into the parent blocks) to the first arguments to be compared on each side - a "count" field remembering the number of arguments still to compare The use of inner pointers that are not valid OCaml values makes some things delicate, for example we could not ask the GC to scan the compare stack (as is being considered in the context of # 12039). After this PR, pairs of sequences of arguments are represented by: - pointers to the parent containing blocks on each side (that is, valid OCaml values) - an "offset" field remembering the offset of the next argument to compare, stored as a tagged OCaml integer - a "size" field remembering the size of the two blocks, store as a tagged OCaml integer At this point, the compare stack contains only valid OCaml values and could be registered as a single block of local GC roots. Note: storing the size is superfluous as the size can also be computed from the blocks themselves (bit-shifting on the header value). In our tests, storing the size and comparing directly against it noticeably improves performance on some architectures (a 10-20% different on compare microbenchmarks). The cost is to use 4 words per element instead of 3.
* | | | | | Fix overflows in addressing computations (#12162)Vincent Laviron2023-04-075-20/+40
| | | | | |
* | | | | | Merge pull request #12148 from MisterDA/sed-macosGabriel Scherer2023-04-061-21/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix dune build of stdlib
| * | | | | | Fix dune build of stdlibAntonin Décimo2023-04-041-21/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove awful hacks now that 5.0 has been released. Signed-off-by: Antonin Décimo <antonin@tarides.com>
* | | | | | Merge pull request #12165 from Octachron/ocamldoc_doctypeFlorian Angeletti2023-04-0617-16/+19
|\ \ \ \ \ \ | | | | | | | | | | | | | | ocamldoc: modernize doctype to avoid quirk mode
| * | | | | | ocamldoc: fix html doctypeFlorian Angeletti2023-04-0617-16/+19
| | | | | | |
* | | | | | | Merge pull request #12164 from Octachron/fix_dependGabriel Scherer2023-04-051-1/+5
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Fix ocamldep after value binding parsetree change
| * | | | | | Fix ocamldep after value binding parsetree changeFlorian Angeletti2023-04-051-1/+5
|/ / / / / /
* | | | | | Merge pull request #12155 from ccasin/reach-unification-failureFlorian Angeletti2023-04-051-0/+23
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add test case demonstrating that an error in Typetexp can be reached.
| * | | | | | Add test cases demonstrating that an error in Typetexp is reachable.Chris Casinghino2023-04-041-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The error in question is at the end of globalize_used_variables.
* | | | | | | Merge pull request #11877 from xavierleroy/afl-dynamic-allocationFlorian Angeletti2023-04-052-20/+29
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | AFL dynamic allocation
| * | | | | | | Dynamic allocation of the AFL run-time bufferXavier Leroy2023-01-112-16/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instrumented code produced by `ocamlopt -afl-instrument` but not run under AFL needs a 64 k dummy buffer at run-time. Before, this buffer was allocated statically, and therefore present in all ocamlopt-generated executables, whether compiled with `-afl-instrument` or without, whether AFL was selected at configuration-time or not. This commit implements dynamic allocation of the AFL buffer the first time an AFL-instrumented module runs its initialization code. It is based on the proposal at #10167 and its discussion. Fixes: #10117 Closes: #10167
| * | | | | | | Update, reorder and simplify inclusions of header filesXavier Leroy2023-01-091-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensures that trunk compiles again in -with-afl mode.
* | | | | | | | Remove arity-interrupting elaboration of module unpacks (#12117)Nick Roberts2023-04-059-205/+385
| |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add interesting first-class module typing tests Some of these tests' error messages change in this PR. Some of them failed at various points when working on this PR. * Remove elaboration of module unpacks * Remove dead code There are two pieces of now-dead code we can remove - A way of suppressing unused module warnings in `when` guards when the modules were introduced via module unpackings - A way of ensuring that first-class module unpacks are pushed under optional defaulting * Add a comment for (module _) patterns * Refactor to remove `type_unpacks` This is a refactor to avoid the need to wrap typechecking the extent of a module unpack in the `type_unpacks` function. Now you call `add_module_variables` to add the (typechecked) module bindings to the environment before calling `type_expect` on the extent; this is more similar to how we add variable bindings to the environment. * Rename `to_unpack` to `module_variable` This makes the similarity between `pattern_variable` and unpacked module variables more apparent. The code is already parallel; this change makes the names more parallel, too. * Check escape via let defs, not just bound vars Stick closer to the old behavior by checking type escape via `E1` in `let P = E1 in E2`. This patch previously just checked via the variables bound in `P`. It's closer to the old implementation to check `E1`.
* | | | | | | Merge pull request #12159 from sadiqj/fix_debug_runtime_clearingGabriel Scherer2023-04-031-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix off-by-one in debug runtime
| * | | | | | | In debug runtime correctly clear all non-header and free-list fields of ↵Sadiq Jaffer2023-04-021-1/+1
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | swept block
* | | | | | | Merge pull request #12156 from gasche/update_dummy_0Gabriel Scherer2023-04-023-1/+27
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | caml_update_dummy: do not try to update size-0 atoms
| * | | | | | caml_update_dummy: do not try to update size-0 atomsGabriel Scherer2023-04-013-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes #12153 Suggested-by: Xavier Leroy <xavier.leroy@college-de-france.fr> Suggested-by: Vincent Laviron <vincent.laviron@gmail.com> Reported-by: Nick Roberts <nroberts@janestreet.com>
* | | | | | | Merge pull request #12149 from MisterDA/revert-514a830-ocamlyacc-ocaml-commentsGabriel Scherer2023-03-316-97/+97
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Revert "Use ocamlyacc's support for OCaml-style comments"
| * | | | | | Revert "Use ocamlyacc's support for OCaml-style comments"Antonin Décimo2023-03-316-97/+97
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 514a830eae3991aec12146d3f6aeff3aa2d8406a. > The dune build system for the OCaml compiler is morally a hack, it > uses the tools from the ambient opam switch to build the compiler > codebase -- which can break whenever the compiler distribution has > more recent tools than the opam switch, and uses the more recent > features in its own codebase. > This is what is going on here: @DemiMarie introduced a new ocamlyacc > feature, and also started using it in the compiler codebase in the > non-essential commit 514a830. If we want dune to work well, a > reasonable solution is to revert 514a830 for now, and wait until the > next OCaml version is released (with the new ocamlyacc feature) to > merge it again. At this point the dune build will be possible with > the most recent OCaml release as your opam switch. from Gabriel Scherer, https://github.com/ocaml/ocaml/pull/11718#issuecomment-1475338016