hotspot/src/share/vm/ci/ciReplay.cpp
changeset 18984 a0fce9081603
parent 17376 4ee999c3c007
child 20695 4f5a5e95090b
equal deleted inserted replaced
18948:28a8224681eb 18984:a0fce9081603
   297     InstanceKlass* k = (InstanceKlass*)parse_klass(CHECK_NULL);
   297     InstanceKlass* k = (InstanceKlass*)parse_klass(CHECK_NULL);
   298     Symbol* method_name = parse_symbol(CHECK_NULL);
   298     Symbol* method_name = parse_symbol(CHECK_NULL);
   299     Symbol* method_signature = parse_symbol(CHECK_NULL);
   299     Symbol* method_signature = parse_symbol(CHECK_NULL);
   300     Method* m = k->find_method(method_name, method_signature);
   300     Method* m = k->find_method(method_name, method_signature);
   301     if (m == NULL) {
   301     if (m == NULL) {
   302       report_error("can't find method");
   302       report_error("Can't find method");
   303     }
   303     }
   304     return m;
   304     return m;
   305   }
   305   }
   306 
   306 
   307   // Process each line of the replay file executing each command until
   307   // Process each line of the replay file executing each command until
   396     return true;
   396     return true;
   397   }
   397   }
   398 
   398 
   399   // compile <klass> <name> <signature> <entry_bci> <comp_level>
   399   // compile <klass> <name> <signature> <entry_bci> <comp_level>
   400   void process_compile(TRAPS) {
   400   void process_compile(TRAPS) {
   401     // methodHandle method;
       
   402     Method* method = parse_method(CHECK);
   401     Method* method = parse_method(CHECK);
       
   402     if (had_error()) return;
   403     int entry_bci = parse_int("entry_bci");
   403     int entry_bci = parse_int("entry_bci");
   404     const char* comp_level_label = "comp_level";
   404     const char* comp_level_label = "comp_level";
   405     int comp_level = parse_int(comp_level_label);
   405     int comp_level = parse_int(comp_level_label);
   406     // old version w/o comp_level
   406     // old version w/o comp_level
   407     if (had_error() && (error_message() == comp_level_label)) {
   407     if (had_error() && (error_message() == comp_level_label)) {
   438   // ciMethod <klass> <name> <signature> <invocation_counter> <backedge_counter> <interpreter_invocation_count> <interpreter_throwout_count> <instructions_size>
   438   // ciMethod <klass> <name> <signature> <invocation_counter> <backedge_counter> <interpreter_invocation_count> <interpreter_throwout_count> <instructions_size>
   439   //
   439   //
   440   //
   440   //
   441   void process_ciMethod(TRAPS) {
   441   void process_ciMethod(TRAPS) {
   442     Method* method = parse_method(CHECK);
   442     Method* method = parse_method(CHECK);
       
   443     if (had_error()) return;
   443     ciMethodRecord* rec = new_ciMethod(method);
   444     ciMethodRecord* rec = new_ciMethod(method);
   444     rec->invocation_counter = parse_int("invocation_counter");
   445     rec->invocation_counter = parse_int("invocation_counter");
   445     rec->backedge_counter = parse_int("backedge_counter");
   446     rec->backedge_counter = parse_int("backedge_counter");
   446     rec->interpreter_invocation_count = parse_int("interpreter_invocation_count");
   447     rec->interpreter_invocation_count = parse_int("interpreter_invocation_count");
   447     rec->interpreter_throwout_count = parse_int("interpreter_throwout_count");
   448     rec->interpreter_throwout_count = parse_int("interpreter_throwout_count");
   449   }
   450   }
   450 
   451 
   451   // ciMethodData <klass> <name> <signature> <state> <current mileage> orig <length> # # ... data <length> # # ... oops <length>
   452   // ciMethodData <klass> <name> <signature> <state> <current mileage> orig <length> # # ... data <length> # # ... oops <length>
   452   void process_ciMethodData(TRAPS) {
   453   void process_ciMethodData(TRAPS) {
   453     Method* method = parse_method(CHECK);
   454     Method* method = parse_method(CHECK);
       
   455     if (had_error()) return;
   454     /* jsut copied from Method, to build interpret data*/
   456     /* jsut copied from Method, to build interpret data*/
   455     if (InstanceRefKlass::owns_pending_list_lock((JavaThread*)THREAD)) {
   457     if (InstanceRefKlass::owns_pending_list_lock((JavaThread*)THREAD)) {
   456       return;
   458       return;
   457     }
   459     }
   458     // methodOopDesc::build_interpreter_method_data(method, CHECK);
   460     // methodOopDesc::build_interpreter_method_data(method, CHECK);