You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During the recent rebase ocaml-multicore bringing us up to date ocaml/ocaml's trunk, we rebased over ocaml/ocaml#10726 (Free the alternate signal stack when the main OCaml code / an OCaml thread stop).
The merge was 96b23c3. In the cold light of day I'm not sure I got this correct. I took the multicore changes; the logic was that 10726 was about stack overflow checks and ppc/s390 which aren't the same in multicore. However I notice a caml_terminate_signals function which may be wanted in the future. Mea culpa!
@sadiqj@xavierleroy: as experts in this area, you might spot something I've not done right here?
The text was updated successfully, but these errors were encountered:
Multicore/5.00 does not need to catch signals corresponding to stack overflows (good riddance!), but PPC and s390x still need to catch signals corresponding to array bound checking. (There are nice "compare and trap" instructions in these architectures that implement bound checking very nicely.)
So, what you've done is correct for x86 and ARM, but when PPC and s390x are ported back, small pieces of the original code will need to be reinstated.
Meanwhile, I have other simplifications to runtime/signal* to propose once the Multicore PR is merged.
So I suggest you don't do anything before the merge. Sometimes, it's healthy to remove code and re-add it later in a simpler form...
During the recent rebase ocaml-multicore bringing us up to date ocaml/ocaml's trunk, we rebased over ocaml/ocaml#10726 (Free the alternate signal stack when the main OCaml code / an OCaml thread stop).
The merge was 96b23c3. In the cold light of day I'm not sure I got this correct. I took the multicore changes; the logic was that 10726 was about stack overflow checks and ppc/s390 which aren't the same in multicore. However I notice a
caml_terminate_signals
function which may be wanted in the future. Mea culpa!@sadiqj @xavierleroy: as experts in this area, you might spot something I've not done right here?
The text was updated successfully, but these errors were encountered: