Skip to content
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

Packages for OCaml 4.13.0~alpha2 #19071

Merged
merged 3 commits into from
Jul 17, 2021

Conversation

Octachron
Copy link
Member

The second alpha release for OCaml 4.13.0, with the safepoint feature integrated.

There is also few more bug fixes compared to the first alpha, and one removed feature (the removal of interbranch type propagation in pattern matching)

New feature

  • 10039: Safepoints
    Add poll points to native generated code. These are effectively
    zero-sized allocations and fix some signal and remembered set
    issues. Also multicore prerequisite.
    (Sadiq Jaffer, Stephen Dolan, Damien Doligez, Xavier Leroy,
    Anmol Sahoo, Mark Shinwell, review by Damien Doligez, Xavier Leroy,
    and Mark Shinwell)

New bug fixes

  • 9525, 10402: ocamldoc only create paragraphq at the toplevel of
    documentation comments
    (Florian Angeletti, report by Hendrik Tews, review by Gabriel Scherer)

  • 10206: Split labels and polymorphic variants tutorials
    Splits the labels and polymorphic variants tutorial into two. Moves the GADTs
    tutorial from the Language Extensions chapter to the tutorials.
    (John Whitington, review by Florian Angeletti and Xavier Leroy)

  • 10449: Fix major GC work accounting (the GC was running too fast).
    (Damien Doligez, report by Stephen Dolan, review by Nicolás Ojeda Bär and
    Sadiq Jaffer)

  • 10454: Check row_more in nondep_type_rec.
    (Leo White, review by Thomas Refis)

  • 10468: Correctly pretty print local type substitution, e.g. type t := ...,
    with -dsource
    (Matt Else, review by Florian Angeletti)

  • 10461, 10498: caml_send* helper functions take derived pointers
    as arguments. Those must be declared with type Addr instead of Val.
    Moreover, poll point insertion must be disabled for caml_send*,
    otherwise the derived pointer is live across a poll point.
    (Vincent Laviron and Xavier Leroy, review by Xavier Leroy and Sadiq Jaffer)

  • 10478: Fix segfault under Windows due to a mistaken initialization of thread
    ID when a thread starts.
    (David Allsopp, Nicolás Ojeda Bär, review by Xavier Leroy)

Removed feature

  • [breaking change] 9811: remove propagation from previous branches
    Type information inferred from previous branches was propagated in
    non-principal mode. Revert this for better compatibility with
    -principal mode.
    For the time being, infringing code should result in a principality warning.
    (Jacques Garrigue, review by Thomas Refis and Gabriel Scherer)

@kit-ty-kate
Copy link
Member

Thanks a lot!

@kit-ty-kate kit-ty-kate merged commit 4b5c2b7 into ocaml:master Jul 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants