comparison src/share/vm/classfile/javaClasses.cpp @ 6735:aed758eda82a

7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass Summary: Simple renaming to be consistent with instanceKlass->InstanceKlass renaming Reviewed-by: stefank, jmasa
author coleenp
date Fri, 07 Sep 2012 12:04:16 -0400
parents da91efe96a93
children d8ce2825b193
comparison
equal deleted inserted replaced
6734:942bb29b20b0 6735:aed758eda82a
498 } 498 }
499 } 499 }
500 500
501 501
502 void java_lang_Class::fixup_mirror(KlassHandle k, TRAPS) { 502 void java_lang_Class::fixup_mirror(KlassHandle k, TRAPS) {
503 assert(instanceMirrorKlass::offset_of_static_fields() != 0, "must have been computed already"); 503 assert(InstanceMirrorKlass::offset_of_static_fields() != 0, "must have been computed already");
504 504
505 // If the offset was read from the shared archive, it was fixed up already 505 // If the offset was read from the shared archive, it was fixed up already
506 if (!k->is_shared()) { 506 if (!k->is_shared()) {
507 if (k->oop_is_instance()) { 507 if (k->oop_is_instance()) {
508 // During bootstrap, java.lang.Class wasn't loaded so static field 508 // During bootstrap, java.lang.Class wasn't loaded so static field
509 // offsets were computed without the size added it. Go back and 509 // offsets were computed without the size added it. Go back and
510 // update all the static field offsets to included the size. 510 // update all the static field offsets to included the size.
511 for (JavaFieldStream fs(InstanceKlass::cast(k())); !fs.done(); fs.next()) { 511 for (JavaFieldStream fs(InstanceKlass::cast(k())); !fs.done(); fs.next()) {
512 if (fs.access_flags().is_static()) { 512 if (fs.access_flags().is_static()) {
513 int real_offset = fs.offset() + instanceMirrorKlass::offset_of_static_fields(); 513 int real_offset = fs.offset() + InstanceMirrorKlass::offset_of_static_fields();
514 fs.set_offset(real_offset); 514 fs.set_offset(real_offset);
515 } 515 }
516 } 516 }
517 } 517 }
518 } 518 }
529 k->set_modifier_flags(computed_modifiers); 529 k->set_modifier_flags(computed_modifiers);
530 // Class_klass has to be loaded because it is used to allocate 530 // Class_klass has to be loaded because it is used to allocate
531 // the mirror. 531 // the mirror.
532 if (SystemDictionary::Class_klass_loaded()) { 532 if (SystemDictionary::Class_klass_loaded()) {
533 // Allocate mirror (java.lang.Class instance) 533 // Allocate mirror (java.lang.Class instance)
534 Handle mirror = instanceMirrorKlass::cast(SystemDictionary::Class_klass())->allocate_instance(k, CHECK_0); 534 Handle mirror = InstanceMirrorKlass::cast(SystemDictionary::Class_klass())->allocate_instance(k, CHECK_0);
535 535
536 instanceMirrorKlass* mk = instanceMirrorKlass::cast(mirror->klass()); 536 InstanceMirrorKlass* mk = InstanceMirrorKlass::cast(mirror->klass());
537 java_lang_Class::set_static_oop_field_count(mirror(), mk->compute_static_oop_field_count(mirror())); 537 java_lang_Class::set_static_oop_field_count(mirror(), mk->compute_static_oop_field_count(mirror()));
538 538
539 // It might also have a component mirror. This mirror must already exist. 539 // It might also have a component mirror. This mirror must already exist.
540 if (k->oop_is_array()) { 540 if (k->oop_is_array()) {
541 Handle comp_mirror; 541 Handle comp_mirror;
590 } 590 }
591 591
592 oop java_lang_Class::create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS) { 592 oop java_lang_Class::create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS) {
593 // This should be improved by adding a field at the Java level or by 593 // This should be improved by adding a field at the Java level or by
594 // introducing a new VM klass (see comment in ClassFileParser) 594 // introducing a new VM klass (see comment in ClassFileParser)
595 oop java_class = instanceMirrorKlass::cast(SystemDictionary::Class_klass())->allocate_instance(NULL, CHECK_0); 595 oop java_class = InstanceMirrorKlass::cast(SystemDictionary::Class_klass())->allocate_instance(NULL, CHECK_0);
596 if (type != T_VOID) { 596 if (type != T_VOID) {
597 Klass* aklass = Universe::typeArrayKlassObj(type); 597 Klass* aklass = Universe::typeArrayKlassObj(type);
598 assert(aklass != NULL, "correct bootstrap"); 598 assert(aklass != NULL, "correct bootstrap");
599 set_array_klass(java_class, aklass); 599 set_array_klass(java_class, aklass);
600 } 600 }
601 #ifdef ASSERT 601 #ifdef ASSERT
602 instanceMirrorKlass* mk = instanceMirrorKlass::cast(SystemDictionary::Class_klass()); 602 InstanceMirrorKlass* mk = InstanceMirrorKlass::cast(SystemDictionary::Class_klass());
603 assert(java_lang_Class::static_oop_field_count(java_class) == 0, "should have been zeroed by allocation"); 603 assert(java_lang_Class::static_oop_field_count(java_class) == 0, "should have been zeroed by allocation");
604 #endif 604 #endif
605 return java_class; 605 return java_class;
606 } 606 }
607 607
2833 } 2833 }
2834 2834
2835 2835
2836 // Support for java_lang_System 2836 // Support for java_lang_System
2837 int java_lang_System::in_offset_in_bytes() { 2837 int java_lang_System::in_offset_in_bytes() {
2838 return (instanceMirrorKlass::offset_of_static_fields() + static_in_offset); 2838 return (InstanceMirrorKlass::offset_of_static_fields() + static_in_offset);
2839 } 2839 }
2840 2840
2841 2841
2842 int java_lang_System::out_offset_in_bytes() { 2842 int java_lang_System::out_offset_in_bytes() {
2843 return (instanceMirrorKlass::offset_of_static_fields() + static_out_offset); 2843 return (InstanceMirrorKlass::offset_of_static_fields() + static_out_offset);
2844 } 2844 }
2845 2845
2846 2846
2847 int java_lang_System::err_offset_in_bytes() { 2847 int java_lang_System::err_offset_in_bytes() {
2848 return (instanceMirrorKlass::offset_of_static_fields() + static_err_offset); 2848 return (InstanceMirrorKlass::offset_of_static_fields() + static_err_offset);
2849 } 2849 }
2850 2850
2851 2851
2852 2852
2853 int java_lang_Class::_klass_offset; 2853 int java_lang_Class::_klass_offset;
3122 } 3122 }
3123 if (!fd.is_static()) { 3123 if (!fd.is_static()) {
3124 tty->print_cr("Static field %s.%s appears to be nonstatic", klass_name, field_name); 3124 tty->print_cr("Static field %s.%s appears to be nonstatic", klass_name, field_name);
3125 return false; 3125 return false;
3126 } 3126 }
3127 if (fd.offset() == hardcoded_offset + instanceMirrorKlass::offset_of_static_fields()) { 3127 if (fd.offset() == hardcoded_offset + InstanceMirrorKlass::offset_of_static_fields()) {
3128 return true; 3128 return true;
3129 } else { 3129 } else {
3130 tty->print_cr("Offset of static field %s.%s is hardcoded as %d but should really be %d.", klass_name, field_name, hardcoded_offset, fd.offset() - instanceMirrorKlass::offset_of_static_fields()); 3130 tty->print_cr("Offset of static field %s.%s is hardcoded as %d but should really be %d.", klass_name, field_name, hardcoded_offset, fd.offset() - InstanceMirrorKlass::offset_of_static_fields());
3131 return false; 3131 return false;
3132 } 3132 }
3133 } 3133 }
3134 3134
3135 3135