--- a/hotspot/src/share/vm/prims/jvm.cpp Tue May 21 19:52:01 2013 -0700
+++ b/hotspot/src/share/vm/prims/jvm.cpp Wed May 22 14:37:49 2013 -0400
@@ -1072,11 +1072,7 @@
return NULL;
}
- Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
- objArrayOop signers = NULL;
- if (k->oop_is_instance()) {
- signers = InstanceKlass::cast(k)->signers();
- }
+ objArrayOop signers = java_lang_Class::signers(JNIHandles::resolve_non_null(cls));
// If there are no signers set in the class, or if the class
// is an array, return NULL.
@@ -1102,7 +1098,7 @@
// be called with an array. Only the bootstrap loader creates arrays.
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
if (k->oop_is_instance()) {
- InstanceKlass::cast(k)->set_signers(objArrayOop(JNIHandles::resolve(signers)));
+ java_lang_Class::set_signers(k->java_mirror(), objArrayOop(JNIHandles::resolve(signers)));
}
}
JVM_END
@@ -1119,8 +1115,8 @@
return NULL;
}
- Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve(cls));
- return (jobject) JNIHandles::make_local(env, k->protection_domain());
+ oop pd = java_lang_Class::protection_domain(JNIHandles::resolve(cls));
+ return (jobject) JNIHandles::make_local(env, pd);
JVM_END
@@ -1139,7 +1135,7 @@
if (k->oop_is_instance()) {
oop pd = JNIHandles::resolve(protection_domain);
assert(pd == NULL || pd->is_oop(), "just checking");
- InstanceKlass::cast(k)->set_protection_domain(pd);
+ java_lang_Class::set_protection_domain(k->java_mirror(), pd);
}
}
JVM_END