< prev index next >

src/hotspot/share/ci/ciReplay.cpp

Print this page

 792     InstanceKlass* ik = method->method_holder();
 793     ik->initialize(THREAD);
 794     if (HAS_PENDING_EXCEPTION) {
 795       oop throwable = PENDING_EXCEPTION;
 796       java_lang_Throwable::print(throwable, tty);
 797       tty->cr();
 798       if (ReplayIgnoreInitErrors) {
 799         CLEAR_PENDING_EXCEPTION;
 800         ik->set_init_state(InstanceKlass::fully_initialized);
 801       } else {
 802         return;
 803       }
 804     }
 805     // Make sure the existence of a prior compile doesn't stop this one
 806     nmethod* nm = (entry_bci != InvocationEntryBci) ? method->lookup_osr_nmethod_for(entry_bci, comp_level, true) : method->code();
 807     if (nm != nullptr) {
 808       nm->make_not_entrant();
 809     }
 810     replay_state = this;
 811     CompileBroker::compile_method(methodHandle(THREAD, method), entry_bci, comp_level,
 812                                   methodHandle(), 0, CompileTask::Reason_Replay, THREAD);
 813     replay_state = nullptr;
 814   }
 815 
 816   // ciMethod <klass> <name> <signature> <invocation_counter> <backedge_counter> <interpreter_invocation_count> <interpreter_throwout_count> <instructions_size>
 817   void process_ciMethod(TRAPS) {
 818     Method* method = parse_method(CHECK);
 819     if (had_error()) return;
 820     ciMethodRecord* rec = new_ciMethod(method);
 821     rec->_invocation_counter = parse_int("invocation_counter");
 822     rec->_backedge_counter = parse_int("backedge_counter");
 823     rec->_interpreter_invocation_count = parse_int("interpreter_invocation_count");
 824     rec->_interpreter_throwout_count = parse_int("interpreter_throwout_count");
 825     rec->_instructions_size = parse_int("instructions_size");
 826   }
 827 
 828   // ciMethodData <klass> <name> <signature> <state> <invocation_counter> orig <length> <byte>* data <length> <ptr>* oops <length> (<offset> <klass>)* methods <length> (<offset> <klass> <name> <signature>)*
 829   void process_ciMethodData(TRAPS) {
 830     Method* method = parse_method(CHECK);
 831     if (had_error()) return;
 832     /* just copied from Method, to build interpret data*/

 792     InstanceKlass* ik = method->method_holder();
 793     ik->initialize(THREAD);
 794     if (HAS_PENDING_EXCEPTION) {
 795       oop throwable = PENDING_EXCEPTION;
 796       java_lang_Throwable::print(throwable, tty);
 797       tty->cr();
 798       if (ReplayIgnoreInitErrors) {
 799         CLEAR_PENDING_EXCEPTION;
 800         ik->set_init_state(InstanceKlass::fully_initialized);
 801       } else {
 802         return;
 803       }
 804     }
 805     // Make sure the existence of a prior compile doesn't stop this one
 806     nmethod* nm = (entry_bci != InvocationEntryBci) ? method->lookup_osr_nmethod_for(entry_bci, comp_level, true) : method->code();
 807     if (nm != nullptr) {
 808       nm->make_not_entrant();
 809     }
 810     replay_state = this;
 811     CompileBroker::compile_method(methodHandle(THREAD, method), entry_bci, comp_level,
 812                                   methodHandle(), 0, true, CompileTask::Reason_Replay, THREAD);
 813     replay_state = nullptr;
 814   }
 815 
 816   // ciMethod <klass> <name> <signature> <invocation_counter> <backedge_counter> <interpreter_invocation_count> <interpreter_throwout_count> <instructions_size>
 817   void process_ciMethod(TRAPS) {
 818     Method* method = parse_method(CHECK);
 819     if (had_error()) return;
 820     ciMethodRecord* rec = new_ciMethod(method);
 821     rec->_invocation_counter = parse_int("invocation_counter");
 822     rec->_backedge_counter = parse_int("backedge_counter");
 823     rec->_interpreter_invocation_count = parse_int("interpreter_invocation_count");
 824     rec->_interpreter_throwout_count = parse_int("interpreter_throwout_count");
 825     rec->_instructions_size = parse_int("instructions_size");
 826   }
 827 
 828   // ciMethodData <klass> <name> <signature> <state> <invocation_counter> orig <length> <byte>* data <length> <ptr>* oops <length> (<offset> <klass>)* methods <length> (<offset> <klass> <name> <signature>)*
 829   void process_ciMethodData(TRAPS) {
 830     Method* method = parse_method(CHECK);
 831     if (had_error()) return;
 832     /* just copied from Method, to build interpret data*/
< prev index next >