public final class SubstrateObjectCloneNode
extends org.graalvm.compiler.replacements.nodes.BasicObjectCloneNode
implements org.graalvm.compiler.nodes.DeoptimizingNode.DeoptBefore
org.graalvm.compiler.replacements.nodes.MacroNode.MacroParamsorg.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 |
| Constructor and Description |
|---|
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, inferStampgetKilledLocationIdentity, hasSideEffect, replaceSnippetInvokes, setStateAfter, stateAfterafterClone, asFixedNode, assertArgumentCount, bci, createInvoke, getArgument, getArgumentCount, getContextMethod, getInvokeKind, getLocationIdentity, getLoweredSnippetGraph, getTargetMethod, lowerReplacement, replaceWithInvoke, setBci, toArgumentArrayasConstant, asJavaConstant, asSerializableConstant, getStackKind, graph, hasUsagesOtherThan, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, replaceAtUsages, setStamp, stamp, updateStampapplyInputs, 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, replaceAtAllUsages, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, simplify, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePositionclone, equals, finalize, getClass, notify, notifyAll, wait, wait, waitcanUseAsStateDuringbci, computeStamp, findLength, genLoadIndexedNode, getConcreteType, virtualizepublic static final org.graalvm.compiler.graph.NodeClass<SubstrateObjectCloneNode> TYPE
protected org.graalvm.compiler.nodes.FrameState stateBefore
public 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.ObjectClonepublic 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.Lowerablelower in class org.graalvm.compiler.replacements.nodes.MacroNodepublic boolean canDeoptimize()
canDeoptimize in interface org.graalvm.compiler.nodes.DeoptimizingNodepublic org.graalvm.compiler.nodes.FrameState stateBefore()
stateBefore in interface org.graalvm.compiler.nodes.DeoptimizingNode.DeoptBeforepublic void setStateBefore(org.graalvm.compiler.nodes.FrameState f)
setStateBefore in interface org.graalvm.compiler.nodes.DeoptimizingNode.DeoptBefore