diff options
author | Mark Shinwell <mshinwell@gmail.com> | 2016-07-01 15:16:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-01 15:16:03 +0100 |
commit | 432f87f077338a446b794c4f560d85a9a537d5e0 (patch) | |
tree | c21bd3c265f9b7756daa06f2f5cbb225a48397b0 /asmcomp/liveness.ml | |
parent | 2f9081e4e97677ff317b2aa6cb3978c30dc77c11 (diff) | |
download | ocaml-432f87f077338a446b794c4f560d85a9a537d5e0.tar.gz |
Labels after calls, call GC points and checkbound points (#644)
Diffstat (limited to 'asmcomp/liveness.ml')
-rw-r--r-- | asmcomp/liveness.ml | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/asmcomp/liveness.ml b/asmcomp/liveness.ml index 5986cce1a1..985a739b44 100644 --- a/asmcomp/liveness.ml +++ b/asmcomp/liveness.ml @@ -39,7 +39,7 @@ let rec live i finally = Iend -> i.live <- finally; finally - | Ireturn | Iop(Itailcall_ind) | Iop(Itailcall_imm _) -> + | Ireturn | Iop(Itailcall_ind _) | Iop(Itailcall_imm _) -> i.live <- Reg.Set.empty; (* no regs are live across *) Reg.set_of_array i.arg | Iop op -> @@ -56,8 +56,8 @@ let rec live i finally = let across_after = Reg.diff_set_array after i.res in let across = match op with - | Icall_ind | Icall_imm _ | Iextcall _ - | Iintop Icheckbound | Iintop_imm(Icheckbound, _) -> + | Icall_ind _ | Icall_imm _ | Iextcall _ + | Iintop (Icheckbound _) | Iintop_imm(Icheckbound _, _) -> (* The function call may raise an exception, branching to the nearest enclosing try ... with. Similarly for bounds checks. Hence, everything that must be live at the beginning of |