Mercurial > hg > truffle
changeset 18463:eeed42f7e38c
Assert assumptions about the deoptimization rescue slot.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Wed, 19 Nov 2014 16:04:01 +0100 |
parents | 3d0161947d57 |
children | e6b6463c9c06 |
files | graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64FrameMap.java |
diffstat | 1 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64FrameMap.java Tue Nov 18 11:21:07 2014 +0100 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64FrameMap.java Wed Nov 19 16:04:01 2014 +0100 @@ -36,7 +36,7 @@ * * <pre> * Base Contents - * + * * : : ----- * caller | incoming overflow argument n | ^ * frame : ... : | positive @@ -111,7 +111,7 @@ * runtime for walking/inspecting frames of such methods. */ StackSlot allocateRBPSpillSlot() { - assert spillSize == initialSpillSize : "RBP spill slot can only be allocated before getting other stack slots"; + assert spillSize == initialSpillSize : "RBP spill slot must be the first allocated stack slots"; rbpSpillSlot = allocateSpillSlot(LIRKind.value(Kind.Long)); assert asStackSlot(rbpSpillSlot).getRawOffset() == -16 : asStackSlot(rbpSpillSlot).getRawOffset(); return rbpSpillSlot; @@ -124,6 +124,7 @@ } public StackSlot allocateDeoptimizationRescueSlot() { + assert spillSize == initialSpillSize || spillSize == initialSpillSize + spillSlotSize(LIRKind.value(Kind.Long)) : "Deoptimization rescue slot must be the first or second (if there is an RBP spill slot) stack slot"; return allocateSpillSlot(LIRKind.value(Kind.Long)); } }