equal
deleted
inserted
replaced
616 comp_mirror = element_klass->java_mirror(); |
616 comp_mirror = element_klass->java_mirror(); |
617 } |
617 } |
618 assert(comp_mirror.not_null(), "must have a mirror"); |
618 assert(comp_mirror.not_null(), "must have a mirror"); |
619 |
619 |
620 // Two-way link between the array klass and its component mirror: |
620 // Two-way link between the array klass and its component mirror: |
|
621 // (array_klass) k -> mirror -> component_mirror -> array_klass -> k |
|
622 set_component_mirror(mirror(), comp_mirror()); |
621 ArrayKlass::cast(k())->set_component_mirror(comp_mirror()); |
623 ArrayKlass::cast(k())->set_component_mirror(comp_mirror()); |
622 set_array_klass(comp_mirror(), k()); |
624 set_array_klass(comp_mirror(), k()); |
623 } else { |
625 } else { |
624 assert(k->oop_is_instance(), "Must be"); |
626 assert(k->oop_is_instance(), "Must be"); |
625 |
627 |
675 return java_class->obj_field(_protection_domain_offset); |
677 return java_class->obj_field(_protection_domain_offset); |
676 } |
678 } |
677 void java_lang_Class::set_protection_domain(oop java_class, oop pd) { |
679 void java_lang_Class::set_protection_domain(oop java_class, oop pd) { |
678 assert(_protection_domain_offset != 0, "must be set"); |
680 assert(_protection_domain_offset != 0, "must be set"); |
679 java_class->obj_field_put(_protection_domain_offset, pd); |
681 java_class->obj_field_put(_protection_domain_offset, pd); |
|
682 } |
|
683 |
|
684 void java_lang_Class::set_component_mirror(oop java_class, oop comp_mirror) { |
|
685 if (_component_mirror_offset != 0) { |
|
686 java_class->obj_field_put(_component_mirror_offset, comp_mirror); |
|
687 } |
|
688 } |
|
689 oop java_lang_Class::component_mirror(oop java_class) { |
|
690 assert(_component_mirror_offset != 0, "must be set"); |
|
691 return java_class->obj_field(_component_mirror_offset); |
680 } |
692 } |
681 |
693 |
682 oop java_lang_Class::init_lock(oop java_class) { |
694 oop java_lang_Class::init_lock(oop java_class) { |
683 assert(_init_lock_offset != 0, "must be set"); |
695 assert(_init_lock_offset != 0, "must be set"); |
684 return java_class->obj_field(_init_lock_offset); |
696 return java_class->obj_field(_init_lock_offset); |
872 // Needs to be optional because the old build runs Queens during bootstrapping |
884 // Needs to be optional because the old build runs Queens during bootstrapping |
873 // and jdk8-9 doesn't have coordinated pushes yet. |
885 // and jdk8-9 doesn't have coordinated pushes yet. |
874 compute_optional_offset(_class_loader_offset, |
886 compute_optional_offset(_class_loader_offset, |
875 klass_oop, vmSymbols::classLoader_name(), |
887 klass_oop, vmSymbols::classLoader_name(), |
876 vmSymbols::classloader_signature()); |
888 vmSymbols::classloader_signature()); |
|
889 |
|
890 compute_optional_offset(_component_mirror_offset, |
|
891 klass_oop, vmSymbols::componentType_name(), |
|
892 vmSymbols::class_signature()); |
877 |
893 |
878 CLASS_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET); |
894 CLASS_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET); |
879 } |
895 } |
880 |
896 |
881 int java_lang_Class::classRedefinedCount(oop the_class_mirror) { |
897 int java_lang_Class::classRedefinedCount(oop the_class_mirror) { |
3095 int java_lang_Class::_array_klass_offset; |
3111 int java_lang_Class::_array_klass_offset; |
3096 int java_lang_Class::_oop_size_offset; |
3112 int java_lang_Class::_oop_size_offset; |
3097 int java_lang_Class::_static_oop_field_count_offset; |
3113 int java_lang_Class::_static_oop_field_count_offset; |
3098 int java_lang_Class::_class_loader_offset; |
3114 int java_lang_Class::_class_loader_offset; |
3099 int java_lang_Class::_protection_domain_offset; |
3115 int java_lang_Class::_protection_domain_offset; |
|
3116 int java_lang_Class::_component_mirror_offset; |
3100 int java_lang_Class::_init_lock_offset; |
3117 int java_lang_Class::_init_lock_offset; |
3101 int java_lang_Class::_signers_offset; |
3118 int java_lang_Class::_signers_offset; |
3102 GrowableArray<Klass*>* java_lang_Class::_fixup_mirror_list = NULL; |
3119 GrowableArray<Klass*>* java_lang_Class::_fixup_mirror_list = NULL; |
3103 int java_lang_Throwable::backtrace_offset; |
3120 int java_lang_Throwable::backtrace_offset; |
3104 int java_lang_Throwable::detailMessage_offset; |
3121 int java_lang_Throwable::detailMessage_offset; |