src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64MoveFactoryBase.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.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64MoveFactoryBase.java

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64MoveFactoryBase.java

Print this page

        

*** 24,42 **** package org.graalvm.compiler.core.amd64; import static org.graalvm.compiler.asm.amd64.AMD64Assembler.OperandSize.QWORD; import static org.graalvm.compiler.asm.amd64.AMD64Assembler.OperandSize.WORD; - import java.util.HashMap; - import java.util.Map; - import org.graalvm.compiler.core.common.LIRKind; import org.graalvm.compiler.lir.VirtualStackSlot; import org.graalvm.compiler.lir.amd64.AMD64LIRInstruction; import org.graalvm.compiler.lir.amd64.AMD64Move.AMD64PushPopStackMove; import org.graalvm.compiler.lir.framemap.FrameMapBuilder; import org.graalvm.compiler.lir.gen.LIRGeneratorTool.MoveFactory; import jdk.vm.ci.amd64.AMD64Kind; import jdk.vm.ci.code.Architecture; import jdk.vm.ci.code.Register; import jdk.vm.ci.code.RegisterArray; --- 24,41 ---- package org.graalvm.compiler.core.amd64; import static org.graalvm.compiler.asm.amd64.AMD64Assembler.OperandSize.QWORD; import static org.graalvm.compiler.asm.amd64.AMD64Assembler.OperandSize.WORD; import org.graalvm.compiler.core.common.LIRKind; import org.graalvm.compiler.lir.VirtualStackSlot; import org.graalvm.compiler.lir.amd64.AMD64LIRInstruction; import org.graalvm.compiler.lir.amd64.AMD64Move.AMD64PushPopStackMove; import org.graalvm.compiler.lir.framemap.FrameMapBuilder; import org.graalvm.compiler.lir.gen.LIRGeneratorTool.MoveFactory; + import org.graalvm.util.Equivalence; + import org.graalvm.util.EconomicMap; import jdk.vm.ci.amd64.AMD64Kind; import jdk.vm.ci.code.Architecture; import jdk.vm.ci.code.Register; import jdk.vm.ci.code.RegisterArray;
*** 59,78 **** } public static final class BackupSlotProvider { private final FrameMapBuilder frameMapBuilder; ! private Map<PlatformKind.Key, RegisterBackupPair> categorized; public BackupSlotProvider(FrameMapBuilder frameMapBuilder) { this.frameMapBuilder = frameMapBuilder; } protected RegisterBackupPair getScratchRegister(PlatformKind kind) { PlatformKind.Key key = kind.getKey(); if (categorized == null) { ! categorized = new HashMap<>(); } else if (categorized.containsKey(key)) { return categorized.get(key); } RegisterConfig registerConfig = frameMapBuilder.getRegisterConfig(); --- 58,77 ---- } public static final class BackupSlotProvider { private final FrameMapBuilder frameMapBuilder; ! private EconomicMap<PlatformKind.Key, RegisterBackupPair> categorized; public BackupSlotProvider(FrameMapBuilder frameMapBuilder) { this.frameMapBuilder = frameMapBuilder; } protected RegisterBackupPair getScratchRegister(PlatformKind kind) { PlatformKind.Key key = kind.getKey(); if (categorized == null) { ! categorized = EconomicMap.create(Equivalence.DEFAULT); } else if (categorized.containsKey(key)) { return categorized.get(key); } RegisterConfig registerConfig = frameMapBuilder.getRegisterConfig();
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64MoveFactoryBase.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File