protected LoadIndexedNode createLoadIndexedNode(ValueNode array, ValueNode index, GuardingNode boundsCheck) { return new LoadIndexedNode(null, array, index, boundsCheck, wordKind); }
protected LoadIndexedNode genLoadIndexedNode(Assumptions assumptions, ValueNode originalAlias, ValueNode index, JavaKind elementKind) { return new LoadIndexedNode(assumptions, originalAlias, index, null, elementKind); }
public static ValueNode create(Assumptions assumptions, ValueNode array, ValueNode index, GuardingNode boundsCheck, JavaKind elementKind, MetaAccessProvider metaAccess, ConstantReflectionProvider constantReflection) { ValueNode constant = tryConstantFold(array, index, metaAccess, constantReflection); if (constant != null) { return constant; } return new LoadIndexedNode(assumptions, array, index, boundsCheck, elementKind); }
protected static void insertCounter(StructuredGraph graph, PhaseContext context, JavaConstant tableConstant, FixedWithNextNode targetNode, int slotIndex) { assert (tableConstant != null); TypeReference typeRef = TypeReference.createExactTrusted(context.getMetaAccess().lookupJavaType(tableConstant)); ConstantNode table = graph.unique(new ConstantNode(tableConstant, StampFactory.object(typeRef, true))); ConstantNode rawIndex = graph.unique(ConstantNode.forInt(slotIndex)); LoadIndexedNode load = graph.add(new LoadIndexedNode(null, table, rawIndex, null, JavaKind.Long)); ConstantNode one = graph.unique(ConstantNode.forLong(1L)); ValueNode add = graph.unique(new AddNode(load, one)); StoreIndexedNode store = graph.add(new StoreIndexedNode(table, rawIndex, null, null, JavaKind.Long, add)); graph.addAfterFixed(targetNode, load); graph.addAfterFixed(load, store); }
LoadIndexedNode load = new LoadIndexedNode(null, sourceAlias, ConstantNode.forInt(i + fromInt, graph), null, elementKind); tool.addNode(load); newEntryState[i] = load;
LoadIndexedNode load = new LoadIndexedNode(graph().getAssumptions(), srcAlias, ConstantNode.forInt(i + srcPosInt, graph()), null, destComponentType.getJavaKind()); load.setNodeSourcePosition(getNodeSourcePosition()); tool.addNode(load);