changeset 18632:5ec45cb4bf22

Merge
author Stefan Anzinger <stefan.a.anzinger@oracle.com>
date Thu, 04 Dec 2014 23:34:27 +0100
parents 12bad81babff (diff) 196cf131ed32 (current diff)
children 8a03753546f3
files graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopySnippets.java
diffstat 3 files changed, 11 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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<PlatformKind, Register[]> categorized = new HashMap<>();
+    private final Map<PlatformKind, Register[]> categorized = new ConcurrentHashMap<>();
 
     private final RegisterAttributes[] attributesMap;
 
--- 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<PlatformKind, Register[]> categorized = new HashMap<>();
+    private final Map<PlatformKind, Register[]> categorized = new ConcurrentHashMap<>(20);
 
     private final RegisterAttributes[] attributesMap;
 
--- 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;
         }