Mercurial > hg > graal-compiler
changeset 18293:ab8fbaa5e72f
fixed minor regressions after removing HotSpotObjectConstantImpl.asObject()
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 06 Nov 2014 20:44:09 +0100 |
parents | 463722cb77f8 |
children | 8e10f4877773 |
files | graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestConstantReflectionProvider.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantReflectionProvider.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaFieldImpl.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethodImpl.java |
diffstat | 5 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestConstantReflectionProvider.java Thu Nov 06 20:23:51 2014 +0100 +++ b/graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestConstantReflectionProvider.java Thu Nov 06 20:44:09 2014 +0100 @@ -86,7 +86,7 @@ @Test public void unboxTest() { for (JavaConstant c : constants) { - JavaConstant unboxed = constantReflection.unboxPrimitive(c); + JavaConstant unboxed = c.isNull() ? null : constantReflection.unboxPrimitive(c); if (unboxed != null) { assertFalse(unboxed.getKind().isObject()); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantReflectionProvider.java Thu Nov 06 20:23:51 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantReflectionProvider.java Thu Nov 06 20:44:09 2014 +0100 @@ -65,7 +65,7 @@ Object base; long displacement; if (baseConstant.getKind() == Kind.Object) { - base = ((HotSpotObjectConstantImpl) baseConstant).object(); + base = baseConstant.isNull() ? null : ((HotSpotObjectConstantImpl) baseConstant).object(); displacement = initialDisplacement; if (base == null) { return null; @@ -132,7 +132,7 @@ Object base; long displacement; if (baseConstant.getKind() == Kind.Object) { - base = ((HotSpotObjectConstantImpl) baseConstant).object(); + base = baseConstant.isNull() ? null : ((HotSpotObjectConstantImpl) baseConstant).object(); displacement = initialDisplacement; if (base == null) { return null; @@ -223,6 +223,9 @@ if (!source.getKind().isObject()) { return null; } + if (source.isNull()) { + return null; + } return JavaConstant.forBoxedPrimitive(((HotSpotObjectConstantImpl) source).object()); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java Thu Nov 06 20:23:51 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java Thu Nov 06 20:44:09 2014 +0100 @@ -166,7 +166,7 @@ public JavaConstant getCompositeValueClass() { if (object instanceof Class) { Class<? extends CompositeValue> c = (Class<? extends CompositeValue>) object; - assert CompositeValueClass.class.isAssignableFrom(c); + assert CompositeValue.class.isAssignableFrom(c) : c; return HotSpotObjectConstantImpl.forObject(CompositeValueClass.get(c)); } return null;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaFieldImpl.java Thu Nov 06 20:23:51 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaFieldImpl.java Thu Nov 06 20:44:09 2014 +0100 @@ -210,7 +210,7 @@ * have a non-default value. */ assert !isStatic(); - Object object = ((HotSpotObjectConstantImpl) receiver).object(); + Object object = receiver.isNull() ? null : ((HotSpotObjectConstantImpl) receiver).object(); // Canonicalization may attempt to process an unsafe read before // processing a guard (e.g. a null check or a type check) for this read
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethodImpl.java Thu Nov 06 20:23:51 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethodImpl.java Thu Nov 06 20:44:09 2014 +0100 @@ -711,7 +711,7 @@ for (int i = 0; i < arguments.length; i++) { objArguments[i] = HotSpotObjectConstantImpl.asBoxedValue(arguments[i]); } - Object objReceiver = receiver != null ? ((HotSpotObjectConstantImpl) receiver).object() : null; + Object objReceiver = receiver != null && !receiver.isNull() ? ((HotSpotObjectConstantImpl) receiver).object() : null; try { Object objResult = javaMethod.invoke(objReceiver, objArguments);