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 |
| 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 MacroInvokable.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, inferStampafterClone, bci, createInvoke, getArguments, getContextMethod, getInvokeKind, getKilledLocationIdentity, getLocationIdentity, getTargetMethod, hasSideEffect, replaceWithInvoke, setStateAfter, stateAfter, toArgumentArrayasFixedWithNextNode, next, setNextasConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterfaceapplyInputs, 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, hasUsagesOfType, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeUsage, replaceAllInputs, replaceAndDelete, replaceAtAllUsages, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, singleUsage, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, usages, valueEquals, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePositionclone, equals, finalize, getClass, notify, notifyAll, wait, wait, waitcanUseAsStateDuringbci, computeStamp, findLength, genLoadIndexedNode, getConcreteType, virtualizehasSideEffect, setStateAfter, stateAfterpublic 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.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 MacroInvokable.lower(org.graalvm.compiler.nodes.spi.LoweringTool) which we do not want.lower in interface org.graalvm.compiler.nodes.spi.Lowerablelower in interface org.graalvm.compiler.replacements.nodes.MacroInvokablepublic 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