-
Notifications
You must be signed in to change notification settings - Fork 77
Post‐5.2 changesets from trunk to backport to 5.2.0minus
Mark Shinwell edited this page Aug 16, 2024
·
10 revisions
12579: OS-based Synchronisation for Stop-the-World Sections
13188: unix: move Int_val outside blocking section
13086: Fix spurious major GC slices.
13052: Make caml_max_stack_wsize atomic to avoid a data race
13047: Add Sys.poll_actions to run pending runtime actions
13299: Simplify memprof internals by removing "global" param
13344: Make caml_failed_assert friendlier to debuggers
6964d3a90f84402ed6066fb1821679435e063067 (no PR)
13079: Save and restore frame pointer across Iextcall on ARM64
13261: Restore GDB backtrace on Linux
13241: Add CFI_SIGNAL_FRAME to ARM64 and RiscV runtimes.
13194: arm64: use pair load/store instructions when operating on trap handlers.
It is possible some of these were already cherry-picked to 5.2.0 anyway upstream.
13271: Add CFI expressions for RISC-V stack switch between C and OCaml.
13252: [bytecode runtime] Rework fixed register assignments on m68k
13238: Enable software prefetching on MSVC and clang-cl x86 and x86_64
13239: Detect labels as values C extension to enable threaded code interpretation
13083: Use macros from `limits.h` to prevent signed integer wrap-around warnigns
13226: Cleanups for fail.h
12407: Resource-safe C interface: `caml/fail.h`
13013: caml_result: an exception monad in C for resource-safe interfaces
10696: Introduce `fallthrough` as a wrapper around the fallthrough attribute
12951: Constify C constructors, arrays, and flags tables (take 2)
13205: [runtime] minor cleanup in amd64.S
13200: Do not pass CFLAGS to linker
13164: More configure fixes
13166: MinGW/MSVC Sys.rename cornercase regression
12927: Minor runtime/caml/m.h.in simplification
13171: multicore: expose the domain index for advanced use-cases
13033: spring runtime assembly cleaning
13102: runtime/array.c: blitting from flat to non-flat is not supported
12309: Add effect syntax
13063: Add caml_plat_lock_non_blocking & compatiblity between sync.h and platform.h
13134: We depend on <stdint.h> absolutely, not conditionally.
13137: Remove obsolete `SHRINKED_GNUC` macro check
13103: FreeBSD amd64: emit .note.GNU-stack same as on Linux
13119: [runtime] Introduce a platform-independent header for portable CFI/DWARF constructs
13117: [runtime] make rounding computations more explicit
13114: Update debugger network code
13067: [TSan] rework the volatile accesses rules
13107: Improve robustness of statmemprof testsuite
13093: Allow building with clang-cl
13003: runtime/array.c: rename make-array functions
13081: C fixes for Windows
13080: Harden `gen_primitives.sh` to cope with Windows sort utility
13077: Document BT condition variable signalling
13068: Minor post-merge improvements to statmemprof
13058: [tsan] Add instrumentation to caml_call_gc
12789: Restore 'caml_unregister_frametable' in OCaml 5
12889: Attempt at a thread-safe implementation of DLS
12923: Statmemprof resurrected [already on flambda-backend]
12954: Restore the MSVC port of OCaml
13014: Add per function sections support to the missing compiler backends
12678: Free channel buffers on close rather than leaving them to the GC.
13016: riscv64: add a non-executable stack note
13006: Fix parsing and setting of parameter v in OCAMLRUNPARAM
12963: Restore caml_runtime_parameters implementation in gc_ctrl.c
12994: Remove un-used and unsafe caml_drop_continuation
12915: ThreadSanitizer support for s390x
12876: ThreadSanitizer support for POWER
12900: Fix locking bug with custom runtime events
12919: s390x: fix register corruption in runtime
12962: add user-friendly message to debug runtime
12961: change Debug magic values (debug tags) to look like pointers
12955: Fixing typos
12907: ThreadSanitizer support for Risc-V
12758: Move compressed marshaling away from the stdlib and into the compilers (trunk version)
12922: Remove caml_get_section_table (+bootstrap)
12599: Refactor Dynlink startup to avoid parsing bytecode sections twice
12914: s390x: allow builds with llvm/clang
12886: Reinitialize IO mutexes after fork [already on flambda-backend]
12896: Explicitly compile the primitives object before linking bytecode executables
12851: Fixes #12799 (race between runtime events teardown and event emission)
12839: Remove dead code from `camlatomic.h` and remove the dependency of `domain.h` on `platform.h`
12859: Make Gc.compact do a complete compaction, add Gc.quick_compact [the important part of this is already on flambda-backend]
12746: Simplify and clean up TSan annotations
12810: ThreadSanitizer support for arm64
12840: manual: update runtime tracing chapter for custom events (ex #12335)
4b20f628b89530774d08f0e1e91a2d63ac54246d - typo fix only