96 import jdk.vm.ci.hotspot.HotSpotObjectConstant;
97 import jdk.vm.ci.meta.AllocatableValue;
98 import jdk.vm.ci.meta.Constant;
99 import jdk.vm.ci.meta.DeoptimizationAction;
100 import jdk.vm.ci.meta.DeoptimizationReason;
101 import jdk.vm.ci.meta.JavaConstant;
102 import jdk.vm.ci.meta.JavaKind;
103 import jdk.vm.ci.meta.PlatformKind;
104 import jdk.vm.ci.meta.SpeculationLog;
105 import jdk.vm.ci.meta.Value;
106
107 /**
108 * LIR generator specialized for AArch64 HotSpot.
109 */
110 public class AArch64HotSpotLIRGenerator extends AArch64LIRGenerator implements HotSpotLIRGenerator {
111
112 final GraalHotSpotVMConfig config;
113 private HotSpotDebugInfoBuilder debugInfoBuilder;
114
115 protected AArch64HotSpotLIRGenerator(HotSpotProviders providers, GraalHotSpotVMConfig config, LIRGenerationResult lirGenRes) {
116 this(new AArch64LIRKindTool(), new AArch64ArithmeticLIRGenerator(), new AArch64HotSpotMoveFactory(), providers, config, lirGenRes);
117 }
118
119 protected AArch64HotSpotLIRGenerator(LIRKindTool lirKindTool, AArch64ArithmeticLIRGenerator arithmeticLIRGen, MoveFactory moveFactory, HotSpotProviders providers, GraalHotSpotVMConfig config,
120 LIRGenerationResult lirGenRes) {
121 super(lirKindTool, arithmeticLIRGen, moveFactory, providers, lirGenRes);
122 this.config = config;
123 }
124
125 @Override
126 public HotSpotProviders getProviders() {
127 return (HotSpotProviders) super.getProviders();
128 }
129
130 @Override
131 public boolean needOnlyOopMaps() {
132 // Stubs only need oop maps
133 return getResult().getStub() != null;
134 }
135
136 private LIRFrameState currentRuntimeCallInfo;
|
96 import jdk.vm.ci.hotspot.HotSpotObjectConstant;
97 import jdk.vm.ci.meta.AllocatableValue;
98 import jdk.vm.ci.meta.Constant;
99 import jdk.vm.ci.meta.DeoptimizationAction;
100 import jdk.vm.ci.meta.DeoptimizationReason;
101 import jdk.vm.ci.meta.JavaConstant;
102 import jdk.vm.ci.meta.JavaKind;
103 import jdk.vm.ci.meta.PlatformKind;
104 import jdk.vm.ci.meta.SpeculationLog;
105 import jdk.vm.ci.meta.Value;
106
107 /**
108 * LIR generator specialized for AArch64 HotSpot.
109 */
110 public class AArch64HotSpotLIRGenerator extends AArch64LIRGenerator implements HotSpotLIRGenerator {
111
112 final GraalHotSpotVMConfig config;
113 private HotSpotDebugInfoBuilder debugInfoBuilder;
114
115 protected AArch64HotSpotLIRGenerator(HotSpotProviders providers, GraalHotSpotVMConfig config, LIRGenerationResult lirGenRes) {
116 this(new AArch64LIRKindTool(), new AArch64ArithmeticLIRGenerator(null), new AArch64HotSpotMoveFactory(), providers, config, lirGenRes);
117 }
118
119 protected AArch64HotSpotLIRGenerator(LIRKindTool lirKindTool, AArch64ArithmeticLIRGenerator arithmeticLIRGen, MoveFactory moveFactory, HotSpotProviders providers, GraalHotSpotVMConfig config,
120 LIRGenerationResult lirGenRes) {
121 super(lirKindTool, arithmeticLIRGen, moveFactory, providers, lirGenRes);
122 this.config = config;
123 }
124
125 @Override
126 public HotSpotProviders getProviders() {
127 return (HotSpotProviders) super.getProviders();
128 }
129
130 @Override
131 public boolean needOnlyOopMaps() {
132 // Stubs only need oop maps
133 return getResult().getStub() != null;
134 }
135
136 private LIRFrameState currentRuntimeCallInfo;
|