public final class SubstrateObjectCloneNode
extends org.graalvm.compiler.replacements.nodes.BasicObjectCloneNode
implements org.graalvm.compiler.nodes.DeoptimizingNode.DeoptBefore
org.graalvm.compiler.replacements.nodes.MacroNode.MacroParams
org.graalvm.compiler.graph.Node.ConstantNodeParameter, org.graalvm.compiler.graph.Node.EdgeVisitor, org.graalvm.compiler.graph.Node.IndirectCanonicalization, org.graalvm.compiler.graph.Node.InjectedNodeParameter, org.graalvm.compiler.graph.Node.Input, org.graalvm.compiler.graph.Node.NodeInsertionStackTrace, org.graalvm.compiler.graph.Node.NodeIntrinsic, org.graalvm.compiler.graph.Node.NodeIntrinsicFactory, org.graalvm.compiler.graph.Node.OptionalInput, org.graalvm.compiler.graph.Node.Successor, org.graalvm.compiler.graph.Node.ValueNumberable
Modifier and Type | Field and Description |
---|---|
protected org.graalvm.compiler.nodes.FrameState |
stateBefore |
static org.graalvm.compiler.graph.NodeClass<SubstrateObjectCloneNode> |
TYPE |
Modifier | Constructor and Description |
---|---|
protected |
SubstrateObjectCloneNode(org.graalvm.compiler.replacements.nodes.MacroNode.MacroParams p) |
Modifier and Type | Method and Description |
---|---|
boolean |
canDeoptimize() |
org.graalvm.compiler.nodes.java.LoadFieldNode |
genLoadFieldNode(jdk.vm.ci.meta.Assumptions assumptions,
org.graalvm.compiler.nodes.ValueNode originalAlias,
jdk.vm.ci.meta.ResolvedJavaField field) |
void |
lower(org.graalvm.compiler.nodes.spi.LoweringTool tool)
Even though this implementation is the same as
Lowerable.lower(org.graalvm.compiler.nodes.spi.LoweringTool) , it is required
because we would actually inherit MacroNode.lower(org.graalvm.compiler.nodes.spi.LoweringTool) which we do not want. |
void |
setStateBefore(org.graalvm.compiler.nodes.FrameState f) |
org.graalvm.compiler.nodes.FrameState |
stateBefore() |
getObject, inferStamp
getKilledLocationIdentity, hasSideEffect, replaceSnippetInvokes, setStateAfter, stateAfter
afterClone, asFixedNode, assertArgumentCount, bci, createInvoke, getArgument, getArgumentCount, getArguments, getContextMethod, getInvokeKind, getLocationIdentity, getLoweredSnippetGraph, getTargetMethod, lowerReplacement, replaceWithInvoke, setBci, toArgumentArray
asConstant, asJavaConstant, asSerializableConstant, getStackKind, graph, hasUsagesOtherThan, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, replaceAtAllUsages, replaceAtUsages, setStamp, stamp, updateStamp
applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getDebugProperties, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hashCode, hasMoreThanOneUsage, hasNoUsages, hasOnlyUsagesOfType, hasUsages, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeUsage, replaceAllInputs, replaceAndDelete, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, singleUsage, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePosition
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
canUseAsStateDuring
bci, computeStamp, findLength, genLoadIndexedNode, getConcreteType, virtualize
public static final org.graalvm.compiler.graph.NodeClass<SubstrateObjectCloneNode> TYPE
protected org.graalvm.compiler.nodes.FrameState stateBefore
protected SubstrateObjectCloneNode(org.graalvm.compiler.replacements.nodes.MacroNode.MacroParams p)
public org.graalvm.compiler.nodes.java.LoadFieldNode genLoadFieldNode(jdk.vm.ci.meta.Assumptions assumptions, org.graalvm.compiler.nodes.ValueNode originalAlias, jdk.vm.ci.meta.ResolvedJavaField field)
genLoadFieldNode
in interface org.graalvm.compiler.replacements.nodes.ObjectClone
public void lower(org.graalvm.compiler.nodes.spi.LoweringTool tool)
Lowerable.lower(org.graalvm.compiler.nodes.spi.LoweringTool)
, it is required
because we would actually inherit MacroNode.lower(org.graalvm.compiler.nodes.spi.LoweringTool)
which we do not want.lower
in interface org.graalvm.compiler.nodes.spi.Lowerable
lower
in class org.graalvm.compiler.replacements.nodes.MacroNode
public boolean canDeoptimize()
canDeoptimize
in interface org.graalvm.compiler.nodes.DeoptimizingNode
public org.graalvm.compiler.nodes.FrameState stateBefore()
stateBefore
in interface org.graalvm.compiler.nodes.DeoptimizingNode.DeoptBefore
public void setStateBefore(org.graalvm.compiler.nodes.FrameState f)
setStateBefore
in interface org.graalvm.compiler.nodes.DeoptimizingNode.DeoptBefore