diff graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValueClass.java @ 19526:8fc336a04d77

Create TYPE fields for LIRInstruction and CompositeValue. Renaming NodeClass#get to NodeClass#create.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Fri, 20 Feb 2015 22:22:55 +0100
parents d216de21bfe8
children a69a7c0e0ccc
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValueClass.java	Fri Feb 20 18:08:53 2015 +0100
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValueClass.java	Fri Feb 20 22:22:55 2015 +0100
@@ -40,22 +40,8 @@
  */
 public class CompositeValueClass<T> extends LIRIntrospection<T> {
 
-    @SuppressWarnings("unchecked")
-    public static final <T extends CompositeValue> CompositeValueClass<T> get(Class<T> c) {
-        CompositeValueClass<T> clazz = (CompositeValueClass<T>) allClasses.get(c);
-        if (clazz != null) {
-            return clazz;
-        }
-
-        // We can have a race of multiple threads creating the LIRInstructionClass at the same time.
-        // However, only one will be put into the map, and this is the one returned by all threads.
-        clazz = new CompositeValueClass<>(c);
-        CompositeValueClass<T> oldClazz = (CompositeValueClass<T>) allClasses.putIfAbsent(c, clazz);
-        if (oldClazz != null) {
-            return oldClazz;
-        } else {
-            return clazz;
-        }
+    public static final <T extends CompositeValue> CompositeValueClass<T> create(Class<T> c) {
+        return new CompositeValueClass<>(c);
     }
 
     public CompositeValueClass(Class<T> clazz) {