Mercurial > hg > graal-compiler
changeset 18139:9147ad23314b
Remove FrameMap.stackSlotSize().
It gives the false impression that all slots are of the same size.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Tue, 21 Oct 2014 12:10:39 +0200 |
parents | 4c49f062d136 |
children | 185bd9096c88 |
files | graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java |
diffstat | 4 files changed, 8 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java Tue Oct 21 11:23:37 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java Tue Oct 21 12:10:39 2014 +0200 @@ -86,7 +86,7 @@ masm.decrementq(stackPointerRegister, totalFrameSize - 2 * crb.target.wordSize); // Save return registers after moving the frame. - final int stackSlotSize = frameMap.stackSlotSize(); + final int stackSlotSize = frameMap.getTarget().wordSize; Register integerResultRegister = registerConfig.getReturnRegister(Kind.Long); masm.movptr(new AMD64Address(stackPointerRegister, registerSaveLayout.registerToSlot(integerResultRegister) * stackSlotSize), integerResultRegister);
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java Tue Oct 21 11:23:37 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java Tue Oct 21 12:10:39 2014 +0200 @@ -52,7 +52,7 @@ Register stackPointer = registerConfig.getFrameRegister(); // Restore integer result register. - final int stackSlotSize = frameMap.stackSlotSize(); + final int stackSlotSize = frameMap.getTarget().wordSize; Register integerResultRegister = registerConfig.getReturnRegister(Kind.Long); masm.movptr(integerResultRegister, new AMD64Address(stackPointer, registerSaveLayout.registerToSlot(integerResultRegister) * stackSlotSize)); masm.movptr(rdx, new AMD64Address(stackPointer, registerSaveLayout.registerToSlot(rdx) * stackSlotSize));
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java Tue Oct 21 11:23:37 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java Tue Oct 21 12:10:39 2014 +0200 @@ -69,7 +69,7 @@ masm.movslq(new AMD64Address(threadRegister, threadLastJavaFpOffset), 0); // Restore return values. - final int stackSlotSize = frameMap.stackSlotSize(); + final int stackSlotSize = frameMap.getTarget().wordSize; Register integerResultRegister = registerConfig.getReturnRegister(Kind.Long); masm.movptr(integerResultRegister, new AMD64Address(stackPointerRegister, registerSaveLayout.registerToSlot(integerResultRegister) * stackSlotSize));
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java Tue Oct 21 11:23:37 2014 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java Tue Oct 21 12:10:39 2014 +0200 @@ -121,15 +121,6 @@ } /** - * Gets the size of a stack slot. - * - * @return stack slot size - */ - public int stackSlotSize() { - return getTarget().wordSize; - } - - /** * Gets the frame size of the compiled frame, not including the size of the * {@link Architecture#getReturnAddressSize() return address slot}. * @@ -229,8 +220,8 @@ * @return the index of the stack slot */ public int indexForStackSlot(StackSlot slot) { - assert offsetForStackSlot(slot) % stackSlotSize() == 0; - return offsetForStackSlot(slot) / stackSlotSize(); + assert offsetForStackSlot(slot) % getTarget().wordSize == 0; + return offsetForStackSlot(slot) / getTarget().wordSize; } /** @@ -342,7 +333,7 @@ if (slots == 0) { return null; } - spillSize += (slots * stackSlotSize()); + spillSize += (slots * getTarget().wordSize); if (!objects.isEmpty()) { assert objects.length() <= slots; @@ -350,7 +341,7 @@ for (int slotIndex = 0; slotIndex < slots; slotIndex++) { StackSlot objectSlot = null; if (objects.get(slotIndex)) { - objectSlot = allocateNewSpillSlot(LIRKind.reference(Kind.Object), slotIndex * stackSlotSize()); + objectSlot = allocateNewSpillSlot(LIRKind.reference(Kind.Object), slotIndex * getTarget().wordSize); objectStackSlots.add(objectSlot); if (outObjectStackSlots != null) { outObjectStackSlots.add(objectSlot); @@ -373,7 +364,7 @@ } public ReferenceMap initReferenceMap(boolean hasRegisters) { - ReferenceMap refMap = getTarget().createReferenceMap(hasRegisters, frameSize() / stackSlotSize()); + ReferenceMap refMap = getTarget().createReferenceMap(hasRegisters, frameSize() / getTarget().wordSize); for (StackSlot slot : objectStackSlots) { setReference(slot, refMap); }