Mercurial > hg > truffle
diff graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java @ 18434:06624c98ed8b
Handel RBP and deoptimization rescue slot in AMD64FrameMapBuilder.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Mon, 10 Nov 2014 19:43:16 +0100 |
parents | b2b37b36a254 |
children | f91e40c4bb47 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Mon Nov 10 18:40:52 2014 +0100 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Mon Nov 10 19:43:16 2014 +0100 @@ -88,7 +88,7 @@ /** * The slot reserved for saving RBP. */ - final VirtualStackSlot reservedSlot; + final StackSlot reservedSlot; public SaveRbp(NoOp placeholder) { this.placeholder = placeholder; @@ -106,7 +106,7 @@ if (useStack) { dst = reservedSlot; } else { - getResult().getFrameMapBuilder().freeSpillSlot(reservedSlot); + ((AMD64FrameMapBuilder) getResult().getFrameMapBuilder()).freeRBPSpillSlot(); dst = newVariable(LIRKind.value(Kind.Long)); } @@ -417,7 +417,7 @@ boolean hasDebugInfo = getResult().getLIR().hasDebugInfo(); AllocatableValue savedRbp = saveRbp.finalize(hasDebugInfo); if (hasDebugInfo) { - ((AMD64HotSpotLIRGenerationResult) getResult()).setDeoptimizationRescueSlot(getResult().getFrameMapBuilder().allocateSpillSlot(LIRKind.value(Kind.Long))); + ((AMD64HotSpotLIRGenerationResult) getResult()).setDeoptimizationRescueSlot(((AMD64FrameMapBuilder) getResult().getFrameMapBuilder()).allocateDeoptimizationRescueSlot()); } for (AMD64HotSpotEpilogueOp op : epilogueOps) {