# HG changeset patch # User Stefan Anzinger # Date 1417732467 -3600 # Node ID 5ec45cb4bf222bdfae78715dc06268fe60afaf4f # Parent 12bad81babffa6f9418cc0b98898e6adf01dd477# Parent 196cf131ed32946f2567b9973af8e848cac0a665 Merge diff -r 196cf131ed32 -r 5ec45cb4bf22 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java Thu Dec 04 19:36:50 2014 +0100 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java Thu Dec 04 23:34:27 2014 +0100 @@ -26,6 +26,7 @@ import static com.oracle.graal.compiler.common.GraalOptions.*; import java.util.*; +import java.util.concurrent.*; import com.oracle.graal.amd64.*; import com.oracle.graal.api.code.*; @@ -51,7 +52,7 @@ private final boolean allAllocatableAreCallerSaved; - private final HashMap categorized = new HashMap<>(); + private final Map categorized = new ConcurrentHashMap<>(); private final RegisterAttributes[] attributesMap; diff -r 196cf131ed32 -r 5ec45cb4bf22 graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRegisterConfig.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRegisterConfig.java Thu Dec 04 19:36:50 2014 +0100 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRegisterConfig.java Thu Dec 04 23:34:27 2014 +0100 @@ -26,6 +26,7 @@ import static com.oracle.graal.sparc.SPARC.*; import java.util.*; +import java.util.concurrent.*; import com.oracle.graal.api.code.*; import com.oracle.graal.api.code.CallingConvention.Type; @@ -42,7 +43,7 @@ private final Register[] allocatable; - private final HashMap categorized = new HashMap<>(); + private final Map categorized = new ConcurrentHashMap<>(20); private final RegisterAttributes[] attributesMap; diff -r 196cf131ed32 -r 5ec45cb4bf22 graal/com.oracle.graal.sparc/src/com/oracle/graal/sparc/SPARCScratchRegister.java --- a/graal/com.oracle.graal.sparc/src/com/oracle/graal/sparc/SPARCScratchRegister.java Thu Dec 04 19:36:50 2014 +0100 +++ b/graal/com.oracle.graal.sparc/src/com/oracle/graal/sparc/SPARCScratchRegister.java Thu Dec 04 23:34:27 2014 +0100 @@ -30,6 +30,7 @@ private final Register register; private static final SPARCScratchRegister scratch1 = new SPARCScratchRegister(SPARC.g3); private static final SPARCScratchRegister scratch2 = new SPARCScratchRegister(SPARC.g1); + private static final boolean LOG_REQUEST_STACK = false; private SPARCScratchRegister(Register register) { super(); @@ -42,10 +43,14 @@ } boolean isLocked = locked.get(); if (isLocked) { - where.get().printStackTrace(); + if (LOG_REQUEST_STACK) { + where.get().printStackTrace(); + } throw new RuntimeException("Temp Register is already taken!"); } else { - where.set(new Exception()); + if (LOG_REQUEST_STACK) { + where.set(new Exception()); + } locked.set(true); return register; }