# HG changeset patch # User Tom Rodriguez # Date 1441312254 25200 # Node ID 82818d115a982e602d2d674ed1e2d9f0cdd38582 # Parent 1852abfbaca3ed0625ccd076d2945dc54dc48c32 jvmciJavaAccess classes are always instanceKlasses diff -r 1852abfbaca3 -r 82818d115a98 src/share/vm/jvmci/jvmciCompilerToVM.cpp --- 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); diff -r 1852abfbaca3 -r 82818d115a98 src/share/vm/jvmci/jvmciJavaAccess.hpp --- 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; \ }