mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
8003421: NPG: Move oops out of InstanceKlass into mirror
Inject protection_domain, signers, init_lock into java_lang_Class Reviewed-by: stefank, dholmes, sla
This commit is contained in:
parent
a1b903879f
commit
6ed8c8fcea
18 changed files with 130 additions and 136 deletions
|
@ -1072,11 +1072,7 @@ JVM_ENTRY(jobjectArray, JVM_GetClassSigners(JNIEnv *env, jclass cls))
|
|||
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 @@ JVM_ENTRY(void, JVM_SetClassSigners(JNIEnv *env, jclass cls, jobjectArray signer
|
|||
// 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 @@ JVM_ENTRY(jobject, JVM_GetProtectionDomain(JNIEnv *env, jclass cls))
|
|||
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 @@ JVM_ENTRY(void, JVM_SetProtectionDomain(JNIEnv *env, jclass cls, jobject protect
|
|||
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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue