changeset 10073:1397c3e1f642

HotSpotResolvedJavaField: add cache of java.lang.{Character,Byte,Short} to not embeddable list (GRAAL-290) running dacapo in AOT mode + verification revealed some more possible usages of cached boxed values (Character + Short). For completness I also added j.l.Byte.
author Bernhard Urban <bernhard.urban@jku.at>
date Mon, 17 Jun 2013 17:07:49 +0200
parents 62ea8789b88a
children e8fbc5fd3440
files graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java	Mon Jun 17 20:39:24 2013 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java	Mon Jun 17 17:07:49 2013 +0200
@@ -119,6 +119,18 @@
             addResolvedToSet(Boolean.class.getDeclaredField("TRUE"));
             addResolvedToSet(Boolean.class.getDeclaredField("FALSE"));
 
+            Class<?> characterCacheClass = Character.class.getDeclaredClasses()[0];
+            assert "java.lang.Character$CharacterCache".equals(characterCacheClass.getName());
+            addResolvedToSet(characterCacheClass.getDeclaredField("cache"));
+
+            Class<?> byteCacheClass = Byte.class.getDeclaredClasses()[0];
+            assert "java.lang.Byte$ByteCache".equals(byteCacheClass.getName());
+            addResolvedToSet(byteCacheClass.getDeclaredField("cache"));
+
+            Class<?> shortCacheClass = Short.class.getDeclaredClasses()[0];
+            assert "java.lang.Short$ShortCache".equals(shortCacheClass.getName());
+            addResolvedToSet(shortCacheClass.getDeclaredField("cache"));
+
             Class<?> integerCacheClass = Integer.class.getDeclaredClasses()[0];
             assert "java.lang.Integer$IntegerCache".equals(integerCacheClass.getName());
             addResolvedToSet(integerCacheClass.getDeclaredField("cache"));