mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
Merge
This commit is contained in:
commit
d507b8945c
658 changed files with 7673 additions and 3278 deletions
|
@ -772,13 +772,13 @@ void java_lang_Class::initialize_mirror_fields(Klass* k,
|
|||
InstanceKlass::cast(k)->do_local_static_fields(&initialize_static_field, mirror, CHECK);
|
||||
}
|
||||
|
||||
// Set the java.lang.reflect.Module module field in the java_lang_Class mirror
|
||||
// Set the java.lang.Module module field in the java_lang_Class mirror
|
||||
void java_lang_Class::set_mirror_module_field(Klass* k, Handle mirror, Handle module, TRAPS) {
|
||||
if (module.is_null()) {
|
||||
// During startup, the module may be NULL only if java.base has not been defined yet.
|
||||
// Put the class on the fixup_module_list to patch later when the java.lang.reflect.Module
|
||||
// Put the class on the fixup_module_list to patch later when the java.lang.Module
|
||||
// for java.base is known.
|
||||
assert(!Universe::is_module_initialized(), "Incorrect java.lang.reflect.Module pre module system initialization");
|
||||
assert(!Universe::is_module_initialized(), "Incorrect java.lang.Module pre module system initialization");
|
||||
|
||||
bool javabase_was_defined = false;
|
||||
{
|
||||
|
@ -809,7 +809,7 @@ void java_lang_Class::set_mirror_module_field(Klass* k, Handle mirror, Handle mo
|
|||
assert(Universe::is_module_initialized() ||
|
||||
(ModuleEntryTable::javabase_defined() &&
|
||||
(module() == JNIHandles::resolve(ModuleEntryTable::javabase_moduleEntry()->module()))),
|
||||
"Incorrect java.lang.reflect.Module specification while creating mirror");
|
||||
"Incorrect java.lang.Module specification while creating mirror");
|
||||
set_module(mirror(), module());
|
||||
}
|
||||
}
|
||||
|
@ -2802,27 +2802,27 @@ void java_lang_reflect_Parameter::set_executable(oop param, oop value) {
|
|||
}
|
||||
|
||||
|
||||
int java_lang_reflect_Module::loader_offset;
|
||||
int java_lang_reflect_Module::name_offset;
|
||||
int java_lang_reflect_Module::_module_entry_offset = -1;
|
||||
int java_lang_Module::loader_offset;
|
||||
int java_lang_Module::name_offset;
|
||||
int java_lang_Module::_module_entry_offset = -1;
|
||||
|
||||
Handle java_lang_reflect_Module::create(Handle loader, Handle module_name, TRAPS) {
|
||||
Handle java_lang_Module::create(Handle loader, Handle module_name, TRAPS) {
|
||||
assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
|
||||
|
||||
Symbol* name = vmSymbols::java_lang_reflect_Module();
|
||||
Symbol* name = vmSymbols::java_lang_Module();
|
||||
Klass* k = SystemDictionary::resolve_or_fail(name, true, CHECK_NH);
|
||||
InstanceKlass* ik = InstanceKlass::cast(k);
|
||||
Handle jlrmh = ik->allocate_instance_handle(CHECK_NH);
|
||||
Handle jlmh = ik->allocate_instance_handle(CHECK_NH);
|
||||
JavaValue result(T_VOID);
|
||||
JavaCalls::call_special(&result, jlrmh, ik,
|
||||
JavaCalls::call_special(&result, jlmh, ik,
|
||||
vmSymbols::object_initializer_name(),
|
||||
vmSymbols::java_lang_reflect_module_init_signature(),
|
||||
vmSymbols::java_lang_module_init_signature(),
|
||||
loader, module_name, CHECK_NH);
|
||||
return jlrmh;
|
||||
return jlmh;
|
||||
}
|
||||
|
||||
void java_lang_reflect_Module::compute_offsets() {
|
||||
Klass* k = SystemDictionary::reflect_Module_klass();
|
||||
void java_lang_Module::compute_offsets() {
|
||||
Klass* k = SystemDictionary::Module_klass();
|
||||
if(NULL != k) {
|
||||
compute_offset(loader_offset, k, vmSymbols::loader_name(), vmSymbols::classloader_signature());
|
||||
compute_offset(name_offset, k, vmSymbols::name_name(), vmSymbols::string_signature());
|
||||
|
@ -2831,27 +2831,27 @@ void java_lang_reflect_Module::compute_offsets() {
|
|||
}
|
||||
|
||||
|
||||
oop java_lang_reflect_Module::loader(oop module) {
|
||||
oop java_lang_Module::loader(oop module) {
|
||||
assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
|
||||
return module->obj_field(loader_offset);
|
||||
}
|
||||
|
||||
void java_lang_reflect_Module::set_loader(oop module, oop value) {
|
||||
void java_lang_Module::set_loader(oop module, oop value) {
|
||||
assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
|
||||
module->obj_field_put(loader_offset, value);
|
||||
}
|
||||
|
||||
oop java_lang_reflect_Module::name(oop module) {
|
||||
oop java_lang_Module::name(oop module) {
|
||||
assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
|
||||
return module->obj_field(name_offset);
|
||||
}
|
||||
|
||||
void java_lang_reflect_Module::set_name(oop module, oop value) {
|
||||
void java_lang_Module::set_name(oop module, oop value) {
|
||||
assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
|
||||
module->obj_field_put(name_offset, value);
|
||||
}
|
||||
|
||||
ModuleEntry* java_lang_reflect_Module::module_entry(oop module, TRAPS) {
|
||||
ModuleEntry* java_lang_Module::module_entry(oop module, TRAPS) {
|
||||
assert(_module_entry_offset != -1, "Uninitialized module_entry_offset");
|
||||
assert(module != NULL, "module can't be null");
|
||||
assert(module->is_oop(), "module must be oop");
|
||||
|
@ -2860,7 +2860,7 @@ ModuleEntry* java_lang_reflect_Module::module_entry(oop module, TRAPS) {
|
|||
if (module_entry == NULL) {
|
||||
// If the inject field containing the ModuleEntry* is null then return the
|
||||
// class loader's unnamed module.
|
||||
oop loader = java_lang_reflect_Module::loader(module);
|
||||
oop loader = java_lang_Module::loader(module);
|
||||
Handle h_loader = Handle(THREAD, loader);
|
||||
ClassLoaderData* loader_cld = SystemDictionary::register_loader(h_loader, CHECK_NULL);
|
||||
return loader_cld->unnamed_module();
|
||||
|
@ -2868,7 +2868,7 @@ ModuleEntry* java_lang_reflect_Module::module_entry(oop module, TRAPS) {
|
|||
return module_entry;
|
||||
}
|
||||
|
||||
void java_lang_reflect_Module::set_module_entry(oop module, ModuleEntry* module_entry) {
|
||||
void java_lang_Module::set_module_entry(oop module, ModuleEntry* module_entry) {
|
||||
assert(_module_entry_offset != -1, "Uninitialized module_entry_offset");
|
||||
assert(module != NULL, "module can't be null");
|
||||
assert(module->is_oop(), "module must be oop");
|
||||
|
@ -3873,7 +3873,7 @@ void JavaClasses::compute_offsets() {
|
|||
reflect_ConstantPool::compute_offsets();
|
||||
reflect_UnsafeStaticFieldAccessorImpl::compute_offsets();
|
||||
java_lang_reflect_Parameter::compute_offsets();
|
||||
java_lang_reflect_Module::compute_offsets();
|
||||
java_lang_Module::compute_offsets();
|
||||
java_lang_StackFrameInfo::compute_offsets();
|
||||
java_lang_LiveStackFrameInfo::compute_offsets();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue