Commit Graph

10 Commits (master)

Author SHA1 Message Date
Nicolás Ojeda Bär 540996d21e Remove Spacetime 2020-10-08 20:28:12 +02:00
Nicolás Ojeda Bär 7c1cf4bc95
caml_alloc_some: use Field as an l-value instead of Store_field (#9819) 2020-08-03 11:44:49 +02:00
Xavier Leroy d4dea7afea
Adapt caml_alloc_dummy_infix to new closure representation (#9690)
The first closure info field must be valid.

Also document two other places where no change is needed because of
the new closure representation, but for nonobvious reasons.
2020-06-17 16:03:51 +02:00
Nicolás Ojeda Bär 973eeb1867
Add Val_some,Val_none,Some_val, Is_none, Is_some, Tag_some (#9569)
Closes: #5154
2020-06-01 19:31:47 +02:00
Guillaume Munch-Maccagnoni 2433b9373f Separate caml_check_urgent_gc back into GC actions and async callbacks
In 8691, caml_check_urgent_gc was merged with the function that runs
asynchronous callbacks. The rationale was that caml_check_urgent_gc
already runs finalisers, and so could have run any asynchronous
callbacks.

We agreed on a different strategy: we know that users could not rely
on asynchronous callbacks being called at this point, so take the
opportunity to make it callback-safe, like was done for allocation
functions.

The new check_urgent_gc no longer calls finalisers (nor any
callbacks), and instead two internal functions are introduced:

* caml_do_urgent_gc_and_callbacks : function to perform actions
  unconditionally.

* caml_check_urgent_gc_and_callbacks : function that checks for
  something to do, and then executes all actions (GC and callbacks).
2019-10-15 19:24:41 +02:00
Stephen Dolan dcf346450b Ensure that C allocation functions do not trigger callbacks.
Fixes a bug in #8691 and adds a test.
2019-08-29 09:35:42 +01:00
Stephen Dolan c49273b338 More assertions in caml_update_dummy 2019-06-05 09:31:05 +01:00
Stephen Dolan 3607562fd2 Code review fixes 2019-06-04 11:42:49 +01:00
Stephen Dolan d946686ffc Code generation and runtime fix for #8699, #8681 2019-06-04 10:33:17 +01:00
Sébastien Hinderer d3e73595e5 Merge the asmrun and byterun directories into the runtime directory 2018-06-28 17:50:33 +02:00