# HG changeset patch # User Andreas Woess # Date 1375718416 -7200 # Node ID 30834675ced603bd6466501c8a7930798b122bf7 # Parent a4a5fa1d19475969b7d8738b5d3f40374a13c23b Truffle: lower FrameSetNode to StoreIndexed instead of UnsafeStore (experimental). diff -r a4a5fa1d1947 -r 30834675ced6 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/FrameSetNode.java --- 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); }