src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/SaveCalleeSaveRegisters.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/SaveCalleeSaveRegisters.java

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/SaveCalleeSaveRegisters.java

Print this page

        

*** 20,30 **** * or visit www.oracle.com if you need additional information or have any * questions. */ package org.graalvm.compiler.lir.alloc; ! import java.util.List; import org.graalvm.compiler.core.common.LIRKind; import org.graalvm.compiler.core.common.cfg.AbstractBlockBase; import org.graalvm.compiler.lir.LIR; import org.graalvm.compiler.lir.LIRInsertionBuffer; --- 20,30 ---- * or visit www.oracle.com if you need additional information or have any * questions. */ package org.graalvm.compiler.lir.alloc; ! import java.util.ArrayList; import org.graalvm.compiler.core.common.LIRKind; import org.graalvm.compiler.core.common.cfg.AbstractBlockBase; import org.graalvm.compiler.lir.LIR; import org.graalvm.compiler.lir.LIRInsertionBuffer;
*** 66,76 **** } } private static RegisterMap<Variable> saveAtEntry(LIR lir, LIRGeneratorTool lirGen, RegisterArray calleeSaveRegisters, Architecture arch) { AbstractBlockBase<?> startBlock = lir.getControlFlowGraph().getStartBlock(); ! List<LIRInstruction> instructions = lir.getLIRforBlock(startBlock); int insertionIndex = 1; LIRInsertionBuffer buffer = new LIRInsertionBuffer(); buffer.init(instructions); StandardOp.LabelOp entry = (StandardOp.LabelOp) instructions.get(insertionIndex - 1); RegisterValue[] savedRegisterValues = new RegisterValue[calleeSaveRegisters.size()]; --- 66,76 ---- } } private static RegisterMap<Variable> saveAtEntry(LIR lir, LIRGeneratorTool lirGen, RegisterArray calleeSaveRegisters, Architecture arch) { AbstractBlockBase<?> startBlock = lir.getControlFlowGraph().getStartBlock(); ! ArrayList<LIRInstruction> instructions = lir.getLIRforBlock(startBlock); int insertionIndex = 1; LIRInsertionBuffer buffer = new LIRInsertionBuffer(); buffer.init(instructions); StandardOp.LabelOp entry = (StandardOp.LabelOp) instructions.get(insertionIndex - 1); RegisterValue[] savedRegisterValues = new RegisterValue[calleeSaveRegisters.size()];
*** 90,100 **** buffer.finish(); return saveMap; } private static void restoreAtExit(LIR lir, LIRGeneratorTool.MoveFactory moveFactory, RegisterMap<Variable> calleeSaveRegisters, AbstractBlockBase<?> block) { ! List<LIRInstruction> instructions = lir.getLIRforBlock(block); int insertionIndex = instructions.size() - 1; LIRInsertionBuffer buffer = new LIRInsertionBuffer(); buffer.init(instructions); assert instructions.get(insertionIndex) instanceof StandardOp.BlockEndOp; calleeSaveRegisters.forEach((Register register, Variable saved) -> { --- 90,100 ---- buffer.finish(); return saveMap; } private static void restoreAtExit(LIR lir, LIRGeneratorTool.MoveFactory moveFactory, RegisterMap<Variable> calleeSaveRegisters, AbstractBlockBase<?> block) { ! ArrayList<LIRInstruction> instructions = lir.getLIRforBlock(block); int insertionIndex = instructions.size() - 1; LIRInsertionBuffer buffer = new LIRInsertionBuffer(); buffer.init(instructions); assert instructions.get(insertionIndex) instanceof StandardOp.BlockEndOp; calleeSaveRegisters.forEach((Register register, Variable saved) -> {
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/SaveCalleeSaveRegisters.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File