Class AMD64HotSpotNodeLIRBuilder
java.lang.Object
jdk.graal.compiler.core.gen.NodeLIRBuilder
jdk.graal.compiler.core.amd64.AMD64NodeLIRBuilder
jdk.graal.compiler.hotspot.amd64.AMD64HotSpotNodeLIRBuilder
- All Implemented Interfaces:
HotSpotNodeLIRBuilder
,LIRGenerationDebugContext
,NodeLIRBuilderTool
,NodeValueMap
public class AMD64HotSpotNodeLIRBuilder
extends AMD64NodeLIRBuilder
implements HotSpotNodeLIRBuilder
LIR generator specialized for AMD64 HotSpot.
-
Field Summary
Fields inherited from class jdk.graal.compiler.core.gen.NodeLIRBuilder
gen
-
Constructor Summary
ConstructorsConstructorDescriptionAMD64HotSpotNodeLIRBuilder
(StructuredGraph graph, LIRGeneratorTool gen, AMD64NodeMatchRules nodeMatchRules) -
Method Summary
Modifier and TypeMethodDescriptionprotected DebugInfoBuilder
createDebugInfoBuilder
(StructuredGraph graph, NodeValueMap nodeValueMap) protected void
emitDirectCall
(DirectCallTargetNode callTarget, jdk.vm.ci.meta.Value result, jdk.vm.ci.meta.Value[] parameters, jdk.vm.ci.meta.Value[] temps, LIRFrameState callState) protected void
emitIndirectCall
(IndirectCallTargetNode callTarget, jdk.vm.ci.meta.Value result, jdk.vm.ci.meta.Value[] parameters, jdk.vm.ci.meta.Value[] temps, LIRFrameState callState) void
emitJumpToExceptionHandlerInCaller
(ValueNode handlerInCallerPc, ValueNode exception, ValueNode exceptionPc) void
emitPatchReturnAddress
(ValueNode address) protected void
emitPrologue
(StructuredGraph graph) lookupGraalStub
(ValueNode valueNode, ForeignCallDescriptor foreignCallDescriptor) void
void
void
Methods inherited from class jdk.graal.compiler.core.amd64.AMD64NodeLIRBuilder
getLIRGeneratorTool, peephole
Methods inherited from class jdk.graal.compiler.core.gen.NodeLIRBuilder
append, doBlock, doBlockPrologue, emitBranch, emitConditional, emitConditional, emitForeignCall, emitIf, emitInvoke, emitInvoke, emitNode, emitOverflowCheckBranch, emitReadExceptionObject, emitSwitch, getDebugInfoBuilder, getExactPhiKind, getLIRBlock, getNodeMatchRules, getPhiKind, getSourceForOperand, hasOperand, incrementSharedMatchCount, matchBlock, matchComplexExpressions, newJumpOp, operand, prologAssignParams, prologSetParameterNodes, setMatchResult, setResult, state, stateFor, stateForWithExceptionEdge, stateWithExceptionEdge, valueForOperand, visitEndNode, visitInvokeArguments, visitLoopEnd, visitMerge
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface jdk.graal.compiler.hotspot.HotSpotNodeLIRBuilder
emitJumpToExceptionHandler
-
Constructor Details
-
AMD64HotSpotNodeLIRBuilder
public AMD64HotSpotNodeLIRBuilder(StructuredGraph graph, LIRGeneratorTool gen, AMD64NodeMatchRules nodeMatchRules)
-
-
Method Details
-
createDebugInfoBuilder
- Overrides:
createDebugInfoBuilder
in classNodeLIRBuilder
-
emitPrologue
- Overrides:
emitPrologue
in classNodeLIRBuilder
-
visitSafepointNode
- Specified by:
visitSafepointNode
in interfaceNodeLIRBuilderTool
-
emitDirectCall
protected void emitDirectCall(DirectCallTargetNode callTarget, jdk.vm.ci.meta.Value result, jdk.vm.ci.meta.Value[] parameters, jdk.vm.ci.meta.Value[] temps, LIRFrameState callState) - Specified by:
emitDirectCall
in classNodeLIRBuilder
-
emitIndirectCall
protected void emitIndirectCall(IndirectCallTargetNode callTarget, jdk.vm.ci.meta.Value result, jdk.vm.ci.meta.Value[] parameters, jdk.vm.ci.meta.Value[] temps, LIRFrameState callState) - Overrides:
emitIndirectCall
in classAMD64NodeLIRBuilder
-
emitPatchReturnAddress
- Specified by:
emitPatchReturnAddress
in interfaceHotSpotNodeLIRBuilder
-
emitJumpToExceptionHandlerInCaller
public void emitJumpToExceptionHandlerInCaller(ValueNode handlerInCallerPc, ValueNode exception, ValueNode exceptionPc) - Specified by:
emitJumpToExceptionHandlerInCaller
in interfaceHotSpotNodeLIRBuilder
-
visitFullInfopointNode
- Specified by:
visitFullInfopointNode
in interfaceNodeLIRBuilderTool
- Overrides:
visitFullInfopointNode
in classNodeLIRBuilder
-
visitBreakpointNode
- Specified by:
visitBreakpointNode
in interfaceNodeLIRBuilderTool
-
lookupGraalStub
public ForeignCallLinkage lookupGraalStub(ValueNode valueNode, ForeignCallDescriptor foreignCallDescriptor) - Specified by:
lookupGraalStub
in interfaceNodeLIRBuilderTool
-