< 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
rev 52509 : [mq]: graal


 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     /**
 137      * Utility for emitting the instruction to save RBP.
 138      */
 139     class SaveRbp {
 140 
 141         final NoOp placeholder;
 142 
 143         /**
 144          * The slot reserved for saving RBP.
 145          */
 146         final StackSlot reservedSlot;
 147 
 148         SaveRbp(NoOp placeholder) {
 149             this.placeholder = placeholder;
 150             AMD64FrameMapBuilder frameMapBuilder = (AMD64FrameMapBuilder) getResult().getFrameMapBuilder();
 151             this.reservedSlot = frameMapBuilder.allocateRBPSpillSlot();
 152         }
 153 
 154         /**
 155          * Replaces this operation with the appropriate move for saving rbp.




 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     /**
 142      * Utility for emitting the instruction to save RBP.
 143      */
 144     class SaveRbp {
 145 
 146         final NoOp placeholder;
 147 
 148         /**
 149          * The slot reserved for saving RBP.
 150          */
 151         final StackSlot reservedSlot;
 152 
 153         SaveRbp(NoOp placeholder) {
 154             this.placeholder = placeholder;
 155             AMD64FrameMapBuilder frameMapBuilder = (AMD64FrameMapBuilder) getResult().getFrameMapBuilder();
 156             this.reservedSlot = frameMapBuilder.allocateRBPSpillSlot();
 157         }
 158 
 159         /**
 160          * Replaces this operation with the appropriate move for saving rbp.


< prev index next >