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 |
nextNODE_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, setNextasConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStampacceptInputs, 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, verifyInputspublic static final NodeClass<BreakpointNode> TYPE
NodeInputList<ValueNode> arguments
public BreakpointNode(ValueNode... arguments)
public void generate(NodeLIRBuilderTool gen)
generate in interface LIRLowerablepublic NodeInputList<ValueNode> arguments()
public static void breakpoint()