Skip to content

Commit 3b56c5b

Browse files
committed
WIP: don't allow Ipoll before Istackoffset
Failing test: tests/weak-ephe-final/weaklifetime (consistently failing on Hephaestus - looks repeatable) The end of the OCaml portion of Weak.create inserts an Ipoll before the Istackoffset following the Iextcall to caml_weak_create. It's not at present clear whether this is not a safe point or (more likely) the frame_descriptor is not correctly indicating that %rax is live. This repeatably results in the ephemeron not being marked and eventually the page is freed which manifested (consistently) as the ephemeron changing length!
1 parent e7affb4 commit 3b56c5b

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

asmcomp/polling.ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ let rec insert_poll_aux delta instr =
7171
(* | Iop (Itailcall_ind _) *)
7272
(* | Iop (Itailcall_imm _) *)
7373
(* | Iop (Iextcall _) *)
74-
| Iop (Istackoffset _)
74+
(*| Iop (Istackoffset _)*)
7575
(* | Iop (Iload _) *)
7676
(* | Iop (Iintop _) (* signal_alloc.ml *) *)
7777
| Iop (Inegf)

0 commit comments

Comments
 (0)