changeset 22265:b5ed7b253194

Use KlassPointer stamp when reading Klass::_super
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Mon, 20 Jul 2015 19:34:43 -0700
parents 97ee41c80b1d
children e743cde3ff3a
files graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompilerToVMImplSubstitutions.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotClassSubstitutions.java
diffstat 2 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompilerToVMImplSubstitutions.java	Mon Jul 20 11:08:40 2015 -0700
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompilerToVMImplSubstitutions.java	Mon Jul 20 19:34:43 2015 -0700
@@ -25,6 +25,7 @@
 import jdk.internal.jvmci.hotspot.*;
 
 import com.oracle.graal.api.replacements.*;
+import com.oracle.graal.hotspot.word.*;
 import com.oracle.graal.word.*;
 
 /**
@@ -35,6 +36,6 @@
 
     @MethodSubstitution(isStatic = false)
     public static Class<?> getJavaMirror(@SuppressWarnings("unused") CompilerToVMImpl impl, long metaspaceklass) {
-        return HotSpotClassSubstitutions.readJavaMirror(Word.unsigned(metaspaceklass));
+        return HotSpotClassSubstitutions.readJavaMirror(KlassPointer.fromWord(Word.unsigned(metaspaceklass)));
     }
 }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotClassSubstitutions.java	Mon Jul 20 11:08:40 2015 -0700
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotClassSubstitutions.java	Mon Jul 20 19:34:43 2015 -0700
@@ -28,7 +28,6 @@
 
 import com.oracle.graal.hotspot.word.*;
 import com.oracle.graal.nodes.*;
-import com.oracle.graal.word.*;
 
 // JaCoCo Exclude
 
@@ -81,8 +80,8 @@
                 if (klassIsArray(klass)) {
                     return Object.class;
                 } else {
-                    Word superKlass = klass.readWord(klassSuperKlassOffset(), KLASS_SUPER_KLASS_LOCATION);
-                    if (superKlass.equal(0)) {
+                    KlassPointer superKlass = klass.readKlassPointer(klassSuperKlassOffset(), KLASS_SUPER_KLASS_LOCATION);
+                    if (superKlass.isNull()) {
                         return null;
                     } else {
                         return readJavaMirror(superKlass);
@@ -95,7 +94,7 @@
         return null;
     }
 
-    public static Class<?> readJavaMirror(Word klass) {
+    public static Class<?> readJavaMirror(KlassPointer klass) {
         return PiNode.asNonNullClass(klass.readObject(classMirrorOffset(), CLASS_MIRROR_LOCATION));
     }