Mercurial > hg > graal-compiler
changeset 11210:30834675ced6
Truffle: lower FrameSetNode to StoreIndexed instead of UnsafeStore (experimental).
author | Andreas Woess <andreas.woess@jku.at> |
---|---|
date | Mon, 05 Aug 2013 18:00:16 +0200 |
parents | a4a5fa1d1947 |
children | dba746f54e6a |
files | graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/FrameSetNode.java |
diffstat | 1 files changed, 2 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/FrameSetNode.java Mon Aug 05 17:53:07 2013 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/FrameSetNode.java Mon Aug 05 18:00:16 2013 +0200 @@ -22,13 +22,10 @@ */ package com.oracle.graal.truffle.nodes; -import sun.misc.*; - import com.oracle.graal.api.meta.*; import com.oracle.graal.graph.Node.IterableNodeType; import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; -import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.java.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; @@ -81,15 +78,13 @@ LoadFieldNode loadFieldNode = graph().add(new LoadFieldNode(getFrame(), field)); structuredGraph.addBeforeFixed(this, loadFieldNode); FixedWithNextNode storeNode; + ValueNode slotIndex = getSlotOffset(1, tool.getRuntime()); if (!getSlotKind().isPrimitive()) { - ValueNode slotIndex = getSlotOffset(1, tool.getRuntime()); storeNode = graph().add(new StoreIndexedNode(loadFieldNode, slotIndex, Kind.Object, value)); } else if (getSlotKind() == Kind.Byte) { - ValueNode slotIndex = getSlotOffset(1, tool.getRuntime()); storeNode = graph().add(new StoreIndexedNode(loadFieldNode, slotIndex, Kind.Byte, value)); } else { - ValueNode slotOffset = getSlotOffset(Unsafe.ARRAY_LONG_INDEX_SCALE, tool.getRuntime()); - storeNode = graph().add(new UnsafeStoreNode(loadFieldNode, Unsafe.ARRAY_LONG_BASE_OFFSET, slotOffset, value, getSlotKind())); + storeNode = graph().add(new StoreIndexedNode(loadFieldNode, slotIndex, Kind.Long, value)); } structuredGraph.replaceFixedWithFixed(this, storeNode); }