Mercurial > hg > truffle
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) {