equal
deleted
inserted
replaced
766 break; |
766 break; |
767 case T_OBJECT: |
767 case T_OBJECT: |
768 { |
768 { |
769 assert(fd->signature() == vmSymbols::string_signature(), |
769 assert(fd->signature() == vmSymbols::string_signature(), |
770 "just checking"); |
770 "just checking"); |
771 if (DumpSharedSpaces && oopDesc::is_archive_object(mirror())) { |
771 if (DumpSharedSpaces && MetaspaceShared::is_archive_object(mirror())) { |
772 // Archive the String field and update the pointer. |
772 // Archive the String field and update the pointer. |
773 oop s = mirror()->obj_field(fd->offset()); |
773 oop s = mirror()->obj_field(fd->offset()); |
774 oop archived_s = StringTable::create_archived_string(s, CHECK); |
774 oop archived_s = StringTable::create_archived_string(s, CHECK); |
775 mirror()->obj_field_put(fd->offset(), archived_s); |
775 mirror()->obj_field_put(fd->offset(), archived_s); |
776 } else { |
776 } else { |
807 |
807 |
808 if (k->is_shared() && k->has_raw_archived_mirror()) { |
808 if (k->is_shared() && k->has_raw_archived_mirror()) { |
809 if (MetaspaceShared::open_archive_heap_region_mapped()) { |
809 if (MetaspaceShared::open_archive_heap_region_mapped()) { |
810 oop m = k->archived_java_mirror(); |
810 oop m = k->archived_java_mirror(); |
811 assert(m != NULL, "archived mirror is NULL"); |
811 assert(m != NULL, "archived mirror is NULL"); |
812 assert(oopDesc::is_archive_object(m), "must be archived mirror object"); |
812 assert(MetaspaceShared::is_archive_object(m), "must be archived mirror object"); |
813 Handle m_h(THREAD, m); |
813 Handle m_h(THREAD, m); |
814 // restore_archived_mirror() clears the klass' _has_raw_archived_mirror flag |
814 // restore_archived_mirror() clears the klass' _has_raw_archived_mirror flag |
815 restore_archived_mirror(k, m_h, Handle(), Handle(), Handle(), CHECK); |
815 restore_archived_mirror(k, m_h, Handle(), Handle(), Handle(), CHECK); |
816 return; |
816 return; |
817 } else { |
817 } else { |