3232 param->int_field_put(index_offset, value);
3233 }
3234
3235 oop java_lang_reflect_Parameter::executable(oop param) {
3236 assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
3237 return param->obj_field(executable_offset);
3238 }
3239
3240 void java_lang_reflect_Parameter::set_executable(oop param, oop value) {
3241 assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
3242 param->obj_field_put(executable_offset, value);
3243 }
3244
3245
3246 int java_lang_Module::loader_offset;
3247 int java_lang_Module::name_offset;
3248 int java_lang_Module::_module_entry_offset = -1;
3249
3250 Handle java_lang_Module::create(Handle loader, Handle module_name, TRAPS) {
3251 assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
3252
3253 Symbol* name = vmSymbols::java_lang_Module();
3254 Klass* k = SystemDictionary::resolve_or_fail(name, true, CHECK_NH);
3255 InstanceKlass* ik = InstanceKlass::cast(k);
3256 Handle jlmh = ik->allocate_instance_handle(CHECK_NH);
3257 JavaValue result(T_VOID);
3258 JavaCalls::call_special(&result, jlmh, ik,
3259 vmSymbols::object_initializer_name(),
3260 vmSymbols::java_lang_module_init_signature(),
3261 loader, module_name, CHECK_NH);
3262 return jlmh;
3263 }
3264
3265 #define MODULE_FIELDS_DO(macro) \
3266 macro(loader_offset, k, vmSymbols::loader_name(), classloader_signature, false); \
3267 macro(name_offset, k, vmSymbols::name_name(), string_signature, false)
3268
3269 void java_lang_Module::compute_offsets() {
3270 InstanceKlass* k = SystemDictionary::Module_klass();
3271 MODULE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
3272 MODULE_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
3273 }
3274
3275 #if INCLUDE_CDS
3276 void java_lang_Module::serialize(SerializeClosure* f) {
3277 MODULE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
3278 MODULE_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET);
3279 }
3280 #endif
3281
3282 oop java_lang_Module::loader(oop module) {
|
3232 param->int_field_put(index_offset, value);
3233 }
3234
3235 oop java_lang_reflect_Parameter::executable(oop param) {
3236 assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
3237 return param->obj_field(executable_offset);
3238 }
3239
3240 void java_lang_reflect_Parameter::set_executable(oop param, oop value) {
3241 assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
3242 param->obj_field_put(executable_offset, value);
3243 }
3244
3245
3246 int java_lang_Module::loader_offset;
3247 int java_lang_Module::name_offset;
3248 int java_lang_Module::_module_entry_offset = -1;
3249
3250 Handle java_lang_Module::create(Handle loader, Handle module_name, TRAPS) {
3251 assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
3252 return JavaCalls::construct_new_instance(SystemDictionary::Module_klass(),
3253 vmSymbols::java_lang_module_init_signature(),
3254 loader, module_name, CHECK_NH);
3255 }
3256
3257 #define MODULE_FIELDS_DO(macro) \
3258 macro(loader_offset, k, vmSymbols::loader_name(), classloader_signature, false); \
3259 macro(name_offset, k, vmSymbols::name_name(), string_signature, false)
3260
3261 void java_lang_Module::compute_offsets() {
3262 InstanceKlass* k = SystemDictionary::Module_klass();
3263 MODULE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
3264 MODULE_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
3265 }
3266
3267 #if INCLUDE_CDS
3268 void java_lang_Module::serialize(SerializeClosure* f) {
3269 MODULE_FIELDS_DO(FIELD_SERIALIZE_OFFSET);
3270 MODULE_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET);
3271 }
3272 #endif
3273
3274 oop java_lang_Module::loader(oop module) {
|