< prev index next >

src/hotspot/share/ci/ciReplay.cpp

Print this page

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

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