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