< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLIRGenerator.java

Print this page




 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.PrimitiveConstant;
 105 import jdk.vm.ci.meta.SpeculationLog;
 106 import jdk.vm.ci.meta.Value;
 107 
 108 /**
 109  * LIR generator specialized for AMD64 HotSpot.
 110  */
 111 public class AMD64HotSpotLIRGenerator extends AMD64LIRGenerator implements HotSpotLIRGenerator {
 112 
 113     final GraalHotSpotVMConfig config;
 114     private HotSpotDebugInfoBuilder debugInfoBuilder;
 115 
 116     protected AMD64HotSpotLIRGenerator(HotSpotProviders providers, GraalHotSpotVMConfig config, LIRGenerationResult lirGenRes) {
 117         this(providers, config, lirGenRes, new BackupSlotProvider(lirGenRes.getFrameMapBuilder()));
 118     }
 119 
 120     private AMD64HotSpotLIRGenerator(HotSpotProviders providers, GraalHotSpotVMConfig config, LIRGenerationResult lirGenRes, BackupSlotProvider backupSlotProvider) {
 121         this(new AMD64HotSpotLIRKindTool(), new AMD64ArithmeticLIRGenerator(null, new AMD64HotSpotMaths()), new AMD64HotSpotMoveFactory(backupSlotProvider), providers, config, lirGenRes);
 122     }
 123 
 124     protected AMD64HotSpotLIRGenerator(LIRKindTool lirKindTool, AMD64ArithmeticLIRGenerator arithmeticLIRGen, MoveFactory moveFactory, HotSpotProviders providers, GraalHotSpotVMConfig config,
 125                     LIRGenerationResult lirGenRes) {
 126         super(lirKindTool, arithmeticLIRGen, moveFactory, providers, lirGenRes);
 127         assert config.basicLockSize == 8;
 128         this.config = config;
 129     }
 130 
 131     @Override
 132     public HotSpotProviders getProviders() {
 133         return (HotSpotProviders) super.getProviders();
 134     }
 135 
 136     @Override
 137     protected int getMaxVectorSize() {
 138         return config.maxVectorSize;
 139     }
 140 
 141     /**




 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.PrimitiveConstant;
 105 import jdk.vm.ci.meta.SpeculationLog;
 106 import jdk.vm.ci.meta.Value;
 107 
 108 /**
 109  * LIR generator specialized for AMD64 HotSpot.
 110  */
 111 public class AMD64HotSpotLIRGenerator extends AMD64LIRGenerator implements HotSpotLIRGenerator {
 112 
 113     final GraalHotSpotVMConfig config;
 114     private HotSpotDebugInfoBuilder debugInfoBuilder;
 115 
 116     protected AMD64HotSpotLIRGenerator(HotSpotProviders providers, GraalHotSpotVMConfig config, LIRGenerationResult lirGenRes) {
 117         this(providers, config, lirGenRes, new BackupSlotProvider(lirGenRes.getFrameMapBuilder()));
 118     }
 119 
 120     private AMD64HotSpotLIRGenerator(HotSpotProviders providers, GraalHotSpotVMConfig config, LIRGenerationResult lirGenRes, BackupSlotProvider backupSlotProvider) {
 121         this(new AMD64HotSpotLIRKindTool(), new AMD64ArithmeticLIRGenerator(null), new AMD64HotSpotMoveFactory(backupSlotProvider), providers, config, lirGenRes);
 122     }
 123 
 124     protected AMD64HotSpotLIRGenerator(LIRKindTool lirKindTool, AMD64ArithmeticLIRGenerator arithmeticLIRGen, MoveFactory moveFactory, HotSpotProviders providers, GraalHotSpotVMConfig config,
 125                     LIRGenerationResult lirGenRes) {
 126         super(lirKindTool, arithmeticLIRGen, moveFactory, providers, lirGenRes);
 127         assert config.basicLockSize == 8;
 128         this.config = config;
 129     }
 130 
 131     @Override
 132     public HotSpotProviders getProviders() {
 133         return (HotSpotProviders) super.getProviders();
 134     }
 135 
 136     @Override
 137     protected int getMaxVectorSize() {
 138         return config.maxVectorSize;
 139     }
 140 
 141     /**


< prev index next >