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);