diff src/share/vm/graal/graalJavaAccess.hpp @ 15018:db4254246f9a

Remove Constant.forObject and Constant.asObject to improve compiler/VM separation
author Christian Wimmer <christian.wimmer@oracle.com>
date Mon, 07 Apr 2014 16:09:17 -0700
parents aa1a43bfdf4e
children 36e1a11a72b3
line wrap: on
line diff
--- a/src/share/vm/graal/graalJavaAccess.hpp	Mon Apr 07 23:35:41 2014 +0200
+++ b/src/share/vm/graal/graalJavaAccess.hpp	Mon Apr 07 16:09:17 2014 -0700
@@ -201,8 +201,18 @@
   end_class                                                                                                                                                    \
   start_class(Constant)                                                                                                                                        \
     oop_field(Constant, kind, "Lcom/oracle/graal/api/meta/Kind;")                                                                                              \
-    oop_field(Constant, object, "Ljava/lang/Object;")                                                                                                          \
-    long_field(Constant, primitive)                                                                                                                            \
+  end_class                                                                                                                                                    \
+  start_class(PrimitiveConstant)                                                                                                                                        \
+    long_field(PrimitiveConstant, primitive)                                                                                                                            \
+  end_class                                                                                                                                                    \
+  start_class(NullConstant)                                                                                                                                        \
+  end_class                                                                                                                                                    \
+  start_class(HotSpotObjectConstant)                                                                                                                                        \
+    oop_field(HotSpotObjectConstant, object, "Ljava/lang/Object;")                                                                                                          \
+  end_class                                                                                                                                                    \
+  start_class(HotSpotMetaspaceConstant)                                                                                                                                        \
+    long_field(HotSpotMetaspaceConstant, primitive)                                                                                                                            \
+    oop_field(HotSpotMetaspaceConstant, metaspaceObject, "Ljava/lang/Object;")                                                                                                          \
   end_class                                                                                                                                                    \
   start_class(Kind)                                                                                                                                            \
     char_field(Kind, typeChar)                                                                                                                                 \