Mercurial > hg > graal-compiler
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"));