diff graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ClassGetHubNode.java @ 20135:987b4c42aef9

add GetClassNode and use it in a non-HotSpot specific InvocationPlugin for Object.getClass()
author Doug Simon <doug.simon@oracle.com>
date Thu, 02 Apr 2015 11:45:32 +0200
parents 8fc336a04d77
children a4aa2116cfe0
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ClassGetHubNode.java	Thu Apr 02 10:00:21 2015 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ClassGetHubNode.java	Thu Apr 02 11:45:32 2015 +0200
@@ -73,6 +73,10 @@
                     }
                 }
             }
+            if (clazz instanceof GetClassNode) {
+                GetClassNode getClass = (GetClassNode) clazz;
+                return new LoadHubNode(KlassPointerStamp.klass(), getClass.getObject(), null);
+            }
             if (clazz instanceof HubGetClassNode) {
                 // replace _klass._java_mirror._klass -> _klass
                 return ((HubGetClassNode) clazz).getHub();