Mercurial > hg > truffle
changeset 18456:c7fd88183eef
FrameMappingToolImpl: store mapping internally.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Mon, 17 Nov 2014 19:54:33 +0100 |
parents | ceacdac8b8b9 |
children | 6c7efa29b626 |
files | graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/DelayedFrameMapBuilder.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/FrameMappingToolImpl.java |
diffstat | 2 files changed, 5 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/DelayedFrameMapBuilder.java Mon Nov 17 19:36:52 2014 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/DelayedFrameMapBuilder.java Mon Nov 17 19:54:33 2014 +0100 @@ -87,9 +87,7 @@ } public FrameMap buildFrameMap(LIRGenerationResult res) { - HashMap<VirtualStackSlot, StackSlot> mapping = new HashMap<>(); - // fill - FrameMappingToolImpl tool = new FrameMappingToolImpl(mapping, this); + FrameMappingToolImpl tool = new FrameMappingToolImpl(this); tool.mapStackSlots(); for (CallingConvention cc : calls) { frameMap.callsMethod(cc);
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/FrameMappingToolImpl.java Mon Nov 17 19:36:52 2014 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/FrameMappingToolImpl.java Mon Nov 17 19:54:33 2014 +0100 @@ -29,11 +29,11 @@ public class FrameMappingToolImpl implements FrameMappingTool { - private final Map<VirtualStackSlot, StackSlot> mapping; + private final HashMap<VirtualStackSlot, StackSlot> mapping; private final DelayedFrameMapBuilder builder; - public FrameMappingToolImpl(Map<VirtualStackSlot, StackSlot> mapping, DelayedFrameMapBuilder builder) { - this.mapping = mapping; + public FrameMappingToolImpl(DelayedFrameMapBuilder builder) { + this.mapping = new HashMap<>(); this.builder = builder; } @@ -41,7 +41,7 @@ return mapping.get(slot); } - public void mapStackSlots() { + void mapStackSlots() { for (VirtualStackSlot virtualSlot : builder.getStackSlots()) { final StackSlot slot; if (virtualSlot instanceof SimpleVirtualStackSlot) {