< prev index next >

src/share/vm/ci/ciReplay.cpp

Print this page




 713           if (tag != cp->tag_at(i).value()) {
 714             report_error("tag mismatch: wrong class files?");
 715             return;
 716           }
 717           break;
 718 
 719         case JVM_CONSTANT_Class:
 720           if (tag == JVM_CONSTANT_Class) {
 721           } else if (tag == JVM_CONSTANT_UnresolvedClass) {
 722             tty->print_cr("Warning: entry was unresolved in the replay data");
 723           } else {
 724             report_error("Unexpected tag");
 725             return;
 726           }
 727           break;
 728 
 729         case 0:
 730           if (parsed_two_word == i) continue;
 731 
 732         default:
 733           fatal(err_msg_res("Unexpected tag: %d", cp->tag_at(i).value()));
 734           break;
 735       }
 736 
 737     }
 738   }
 739 
 740   // Initialize a class and fill in the value for a static field.
 741   // This is useful when the compile was dependent on the value of
 742   // static fields but it's impossible to properly rerun the static
 743   // initiailizer.
 744   void process_staticfield(TRAPS) {
 745     InstanceKlass* k = (InstanceKlass *)parse_klass(CHECK);
 746 
 747     if (ReplaySuppressInitializers == 0 ||
 748         ReplaySuppressInitializers == 2 && k->class_loader() == NULL) {
 749       return;
 750     }
 751 
 752     assert(k->is_initialized(), "must be");
 753 




 713           if (tag != cp->tag_at(i).value()) {
 714             report_error("tag mismatch: wrong class files?");
 715             return;
 716           }
 717           break;
 718 
 719         case JVM_CONSTANT_Class:
 720           if (tag == JVM_CONSTANT_Class) {
 721           } else if (tag == JVM_CONSTANT_UnresolvedClass) {
 722             tty->print_cr("Warning: entry was unresolved in the replay data");
 723           } else {
 724             report_error("Unexpected tag");
 725             return;
 726           }
 727           break;
 728 
 729         case 0:
 730           if (parsed_two_word == i) continue;
 731 
 732         default:
 733           fatal("Unexpected tag: %d", cp->tag_at(i).value());
 734           break;
 735       }
 736 
 737     }
 738   }
 739 
 740   // Initialize a class and fill in the value for a static field.
 741   // This is useful when the compile was dependent on the value of
 742   // static fields but it's impossible to properly rerun the static
 743   // initiailizer.
 744   void process_staticfield(TRAPS) {
 745     InstanceKlass* k = (InstanceKlass *)parse_klass(CHECK);
 746 
 747     if (ReplaySuppressInitializers == 0 ||
 748         ReplaySuppressInitializers == 2 && k->class_loader() == NULL) {
 749       return;
 750     }
 751 
 752     assert(k->is_initialized(), "must be");
 753 


< prev index next >