# HG changeset patch # User Doug Simon # Date 1415303049 -3600 # Node ID ab8fbaa5e72f878d2e86952b0c1547cdd8ec005a # Parent 463722cb77f8a4d203c5141215fdf19d1e557229 fixed minor regressions after removing HotSpotObjectConstantImpl.asObject() diff -r 463722cb77f8 -r ab8fbaa5e72f graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestConstantReflectionProvider.java --- 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()); } diff -r 463722cb77f8 -r ab8fbaa5e72f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantReflectionProvider.java --- 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()); } diff -r 463722cb77f8 -r ab8fbaa5e72f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java --- 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 c = (Class) object; - assert CompositeValueClass.class.isAssignableFrom(c); + assert CompositeValue.class.isAssignableFrom(c) : c; return HotSpotObjectConstantImpl.forObject(CompositeValueClass.get(c)); } return null; diff -r 463722cb77f8 -r ab8fbaa5e72f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaFieldImpl.java --- 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 diff -r 463722cb77f8 -r ab8fbaa5e72f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethodImpl.java --- 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);