changeset 22513:82818d115a98

jvmciJavaAccess classes are always instanceKlasses
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Thu, 03 Sep 2015 13:30:54 -0700
parents 1852abfbaca3
children 8e4949926ae5
files src/share/vm/jvmci/jvmciCompilerToVM.cpp src/share/vm/jvmci/jvmciJavaAccess.hpp
diffstat 2 files changed, 6 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/jvmci/jvmciCompilerToVM.cpp	Thu Sep 03 17:03:51 2015 +0200
+++ b/src/share/vm/jvmci/jvmciCompilerToVM.cpp	Thu Sep 03 13:30:54 2015 -0700
@@ -862,7 +862,7 @@
   ResourceMark rm;
 
   if (!thread->has_last_Java_frame()) return NULL;
-  Handle result = InstanceKlass::cast(HotSpotStackFrameReference::klass())->allocate_instance(thread);
+  Handle result = HotSpotStackFrameReference::klass()->allocate_instance(thread);
   HotSpotStackFrameReference::klass()->initialize(thread);
 
   StackFrameStream fst(thread);
--- a/src/share/vm/jvmci/jvmciJavaAccess.hpp	Thu Sep 03 17:03:51 2015 +0200
+++ b/src/share/vm/jvmci/jvmciJavaAccess.hpp	Thu Sep 03 13:30:54 2015 -0700
@@ -286,7 +286,7 @@
     }                                                                                                                                                          \
     static void compute_offsets();                                                                                                                             \
   public:                                                                                                                                                      \
-    static Klass* klass() { return SystemDictionary::name##_klass(); }
+    static InstanceKlass* klass() { return SystemDictionary::name##_klass() == NULL ? NULL : InstanceKlass::cast(SystemDictionary::name##_klass()); }
 
 #define END_CLASS };
 
@@ -314,7 +314,7 @@
     static int _##name##_offset;                                                                               \
     static type name() {                                                                                       \
       assert(klassName::klass() != NULL, "Class not yet loaded: " #klassName);                                 \
-      InstanceKlass* ik = InstanceKlass::cast(klassName::klass());                                             \
+      InstanceKlass* ik = klassName::klass();                                                                  \
       address addr = ik->static_field_addr(_##name##_offset - InstanceMirrorKlass::offset_of_static_fields()); \
       if (UseCompressedOops) {                                                                                 \
         return (type) oopDesc::load_decode_heap_oop((narrowOop *)addr);                                        \
@@ -324,7 +324,7 @@
     }                                                                                                          \
     static void set_##name(type x) {                                                                           \
       assert(klassName::klass() != NULL, "Class not yet loaded: " #klassName);                                 \
-      InstanceKlass* ik = InstanceKlass::cast(klassName::klass());                                             \
+      InstanceKlass* ik = klassName::klass();                                                                  \
       address addr = ik->static_field_addr(_##name##_offset - InstanceMirrorKlass::offset_of_static_fields()); \
       if (UseCompressedOops) {                                                                                 \
         oop_store((narrowOop *)addr, x);                                                                       \
@@ -335,12 +335,12 @@
 #define STATIC_PRIMITIVE_FIELD(klassName, name, jtypename)                                                     \
     static int _##name##_offset;                                                                               \
     static jtypename name() {                                                                                  \
-      InstanceKlass* ik = InstanceKlass::cast(klassName::klass());                                             \
+      InstanceKlass* ik = klassName::klass();                                                                  \
       address addr = ik->static_field_addr(_##name##_offset - InstanceMirrorKlass::offset_of_static_fields()); \
       return *((jtypename *)addr);                                                                             \
     }                                                                                                          \
     static void set_##name(jtypename x) {                                                                      \
-      InstanceKlass* ik = InstanceKlass::cast(klassName::klass());                                             \
+      InstanceKlass* ik = klassName::klass();                                                                  \
       address addr = ik->static_field_addr(_##name##_offset - InstanceMirrorKlass::offset_of_static_fields()); \
       *((jtypename *)addr) = x;                                                                                \
     }