public final class BreakpointNode extends FixedWithNextNode implements LIRLowerable
A breakpoint is usually place by defining a node intrinsic method as follows:
@NodeIntrinsic(BreakpointNode.class) static void breakpoint(Object object, Word mark, Word value) { throw new JVMCIError(""); }Note that the signature is arbitrary. It's sole purpose is to capture values you may want to inspect in the native debugger when the breakpoint is hit.
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Modifier and Type | Field and Description |
---|---|
(package private) NodeInputList<ValueNode> |
arguments |
static NodeClass<BreakpointNode> |
TYPE |
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
BreakpointNode(ValueNode... arguments) |
Modifier and Type | Method and Description |
---|---|
NodeInputList<ValueNode> |
arguments() |
static void |
breakpoint() |
void |
generate(NodeLIRBuilderTool gen) |
asNode, next, setNext
asConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStamp
acceptInputs, acceptSuccessors, afterClone, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearSuccessors, copyWithInputs, copyWithInputs, equals, fail, formatTo, getDebugProperties, getDebugProperties, getId, getNodeClass, getUsageAt, getUsageCount, hashCode, hasNoUsages, hasUsages, inputs, isAlive, isDeleted, markDeleted, modCount, newIdentityMap, newIdentityMap, newIdentityMap, newMap, newMap, newMap, newSet, newSet, predecessor, pushInputs, removeUsage, replaceAndDelete, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceFirstInput, replaceFirstSuccessor, safeDelete, simplify, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputs
public static final NodeClass<BreakpointNode> TYPE
NodeInputList<ValueNode> arguments
public BreakpointNode(ValueNode... arguments)
public void generate(NodeLIRBuilderTool gen)
generate
in interface LIRLowerable
public NodeInputList<ValueNode> arguments()
public static void breakpoint()