Gabriel Scherer
Gabriel Scherer
It's not so clear to me either. (It was initially written by @lthls in 2020.) If you can test that the second approach still works as expected, maybe we can...
I think that the `!{ ... }` syntax is fine, you could go ahead and implement it.
In https://github.com/ocaml/ocaml/pull/14053#issuecomment-3132043362 I observed an assertion failure in this test `weak_array_par`, without TSan activated, on arm64: ``` Fatal error: exception File "weak_array_par.ml", line 16, characters 17-23: Assertion failed ``` This...
@jberdine I looked at the code to understand your comment, and I think that there is something more fishy going on than you suggest. (Let's keep in mind that this...
In other words, I would propose the following fix: ```diff diff --git i/runtime/minor_gc.c w/runtime/minor_gc.c index 0b967088b65..c020a9544d0 100644 --- i/runtime/minor_gc.c +++ w/runtime/minor_gc.c @@ -736,11 +736,16 @@ caml_empty_minor_heap_promote(caml_domain_state* domain, static void ephe_clean_minor...
I propose a draft PR with this potential fix in #14206.
I tested my PR with TSan and it fails to silence the race. My better understanding now is that an ephemeron with many keys can end up in several domain...
The `assert failure` in weak_array_par that is plaguing our CI runs does correspond to a correctness bug (different from the TSan-reported race), should be gone now that #14209 has been...
I wondered which primitives would deserve being promoted to nonexpansive, but I only see `Identity` and `Raise*`. (Note: I wonder whether we get the property that `Obj.magic @@ foo` is...
Okay, I approved. Note that @yallop suggested a refactoring in his last message, you should probably make an explicit decision of whether you want to follow his advice or not...