This repository has been archived by the owner on Apr 11, 2019. It is now read-only.
fundecl.funbody.live
does not capture all of the live registers
#8
Labels
In the native-code backend, at entry to functions a stack overflow check is inserted [0]. If the stack needs to be reallocated, a frame table entry with the live registers at this point is created so that the GC may find them. Surprisingly,
fundecl.funbody.live
does not seem to capture all of the live registers. Currently, all the function arguments are considered to be live, some of which may be immediate values. Iffundecl.funbody.live
is used for the frame table entry,camlp4
fails to build with 4.02.2+effects. This behavior needs to be examined closely and a unit test needs to be created. Until then, all the function arguments are considered live. Relevant commits are 046de6d, 607bc18, 7be5024.[0] https://github.com/ocamllabs/ocaml-effects/blob/4.02.2+effects/asmcomp/amd64/emit.mlp#L931-L938
The text was updated successfully, but these errors were encountered: