hotspot/src/share/vm/oops/constantPool.cpp
changeset 46816 f64eb2bfb250
parent 46810 7dad333205cd
child 46961 c9094b1e5f87
equal deleted inserted replaced
46810:7dad333205cd 46816:f64eb2bfb250
   262   if (rr != NULL) {
   262   if (rr != NULL) {
   263     for (int i = 0; i < rr->length(); i++) {
   263     for (int i = 0; i < rr->length(); i++) {
   264       oop p = rr->obj_at(i);
   264       oop p = rr->obj_at(i);
   265       if (p != NULL) {
   265       if (p != NULL) {
   266         int index = object_to_cp_index(i);
   266         int index = object_to_cp_index(i);
   267         if (tag_at(index).is_string()) {
   267         // Skip the entry if the string hash code is 0 since the string
       
   268         // is not included in the shared string_table, see StringTable::copy_shared_string.
       
   269         if (tag_at(index).is_string() && java_lang_String::hash_code(p) != 0) {
   268           oop op = StringTable::create_archived_string(p, THREAD);
   270           oop op = StringTable::create_archived_string(p, THREAD);
   269           // If the String object is not archived (possibly too large),
   271           // If the String object is not archived (possibly too large),
   270           // NULL is returned. Also set it in the array, so we won't
   272           // NULL is returned. Also set it in the array, so we won't
   271           // have a 'bad' reference in the archived resolved_reference
   273           // have a 'bad' reference in the archived resolved_reference
   272           // array.
   274           // array.