Lines Matching defs:thread

96 void InterpreterRuntime::set_bcp_and_mdp(address bcp, JavaThread *thread) {
97 last_frame(thread).interpreter_frame_set_bcp(bcp);
101 methodDataOop mdo = last_frame(thread).interpreter_frame_method()->method_data();
104 last_frame(thread).interpreter_frame_set_mdp(mdo->bci_to_dp(last_frame(thread).interpreter_frame_bci()));
113 IRT_ENTRY(void, InterpreterRuntime::ldc(JavaThread* thread, bool wide))
115 constantPoolOop pool = method(thread)->constants();
116 int index = wide ? get_index_u2(thread, Bytecodes::_ldc_w) : get_index_u1(thread, Bytecodes::_ldc);
122 thread->set_vm_result(java_class);
127 // However, another thread could have resolved the unresolved string
132 thread->set_vm_result(s_oop);
136 IRT_ENTRY(void, InterpreterRuntime::resolve_ldc(JavaThread* thread, Bytecodes::Code bytecode)) {
139 ResourceMark rm(thread);
140 methodHandle m (thread, method(thread));
141 Bytecode_loadconstant ldc(m, bci(thread));
146 Bytecode_loadconstant ldc2(m, bci(thread));
158 IRT_ENTRY(void, InterpreterRuntime::_new(JavaThread* thread, constantPoolOopDesc* pool, int index))
183 thread->set_vm_result(obj);
187 IRT_ENTRY(void, InterpreterRuntime::newarray(JavaThread* thread, BasicType type, jint size))
189 thread->set_vm_result(obj);
193 IRT_ENTRY(void, InterpreterRuntime::anewarray(JavaThread* thread, constantPoolOopDesc* pool, int index, jint size))
199 thread->set_vm_result(obj);
203 IRT_ENTRY(void, InterpreterRuntime::multianewarray(JavaThread* thread, jint* first_size_address))
205 constantPoolOop constants = method(thread)->constants();
206 int i = get_index_u2(thread, Bytecodes::_multianewarray);
208 int nof_dims = number_of_dimensions(thread);
213 ResourceMark rm(thread);
226 thread->set_vm_result(obj);
230 IRT_ENTRY(void, InterpreterRuntime::register_finalizer(JavaThread* thread, oopDesc* obj))
238 IRT_ENTRY(void, InterpreterRuntime::quicken_io_cc(JavaThread* thread))
240 int which = get_index_u2(thread, Bytecodes::_checkcast);
241 constantPoolOop cpool = method(thread)->constants();
244 // thread quicken the bytecode before we get here.
247 thread->set_vm_result(klass);
256 void InterpreterRuntime::note_trap(JavaThread* thread, int reason, TRAPS) {
258 methodHandle trap_method(thread, method(thread));
261 methodDataHandle trap_mdo(thread, trap_method->method_data());
268 trap_mdo = methodDataHandle(thread, trap_method->method_data());
274 int trap_bci = trap_method->bci_from(bcp(thread));
300 IRT_ENTRY(void, InterpreterRuntime::throw_StackOverflowError(JavaThread* thread))
308 IRT_ENTRY(void, InterpreterRuntime::create_exception(JavaThread* thread, char* name, char* message))
313 note_trap(thread, Deoptimization::Reason_div0_check, CHECK);
315 note_trap(thread, Deoptimization::Reason_null_check, CHECK);
319 Handle exception = Exceptions::new_exception(thread, s, message);
320 thread->set_vm_result(exception());
324 IRT_ENTRY(void, InterpreterRuntime::create_klass_exception(JavaThread* thread, char* name, oopDesc* obj))
325 ResourceMark rm(thread);
330 note_trap(thread, Deoptimization::Reason_class_check, CHECK);
333 Handle exception = Exceptions::new_exception(thread, s, klass_name);
334 thread->set_vm_result(exception());
338 IRT_ENTRY(void, InterpreterRuntime::throw_ArrayIndexOutOfBoundsException(JavaThread* thread, char* name, jint index))
343 note_trap(thread, Deoptimization::Reason_range_check, CHECK);
351 JavaThread* thread, oopDesc* obj))
353 ResourceMark rm(thread);
355 thread, Klass::cast(obj->klass())->external_name());
358 note_trap(thread, Deoptimization::Reason_class_check, CHECK);
373 IRT_ENTRY(address, InterpreterRuntime::exception_handler_for_exception(JavaThread* thread, oopDesc* exception))
375 Handle h_exception(thread, exception);
376 methodHandle h_method (thread, method(thread));
377 constantPoolHandle h_constants(thread, h_method->constants());
380 int current_bci = bci(thread);
386 if (thread->do_not_unlock_if_synchronized()) {
389 thread->set_vm_result(exception);
414 ResourceMark rm(thread);
417 tty->print_cr(" at bci %d for thread " INTPTR_FORMAT, current_bci, thread);
434 // be set into thread local storage, and do another lookup for an
450 JvmtiExport::post_exception_throw(thread, h_method(), bcp(thread), h_exception());
459 if (handler_bci < 0 || !thread->reguard_stack((address) &continuation)) {
472 set_bcp_and_mdp(handler_pc, thread);
479 JvmtiExport::notice_unwind_due_to_exception(thread, h_method(), handler_pc, h_exception(), (handler_pc != NULL));
482 thread->set_vm_result(h_exception());
487 IRT_ENTRY(void, InterpreterRuntime::throw_pending_exception(JavaThread* thread))
488 assert(thread->has_pending_exception(), "must only ne called if there's an exception pending");
493 IRT_ENTRY(void, InterpreterRuntime::throw_AbstractMethodError(JavaThread* thread))
498 IRT_ENTRY(void, InterpreterRuntime::throw_IncompatibleClassChangeError(JavaThread* thread))
507 IRT_ENTRY(void, InterpreterRuntime::resolve_get_put(JavaThread* thread, Bytecodes::Code bytecode))
510 constantPoolHandle pool(thread, method(thread)->constants());
515 JvmtiHideSingleStepping jhss(thread);
516 LinkResolver::resolve_field(info, pool, get_index_u2_cpcache(thread, bytecode),
521 if (already_resolved(thread)) return;
549 cache_entry(thread)->set_field(
575 IRT_ENTRY_NO_ASYNC(void, InterpreterRuntime::monitorenter(JavaThread* thread, BasicObjectLock* elem))
577 thread->last_frame().interpreter_frame_verify_monitor(elem);
582 Handle h_obj(thread, elem->obj());
594 thread->last_frame().interpreter_frame_verify_monitor(elem);
600 IRT_ENTRY_NO_ASYNC(void, InterpreterRuntime::monitorexit(JavaThread* thread, BasicObjectLock* elem))
602 thread->last_frame().interpreter_frame_verify_monitor(elem);
604 Handle h_obj(thread, elem->obj());
610 ObjectSynchronizer::slow_exit(h_obj(), elem->lock(), thread);
615 thread->last_frame().interpreter_frame_verify_monitor(elem);
620 IRT_ENTRY(void, InterpreterRuntime::throw_illegal_monitor_state_exception(JavaThread* thread))
625 IRT_ENTRY(void, InterpreterRuntime::new_illegal_monitor_state_exception(JavaThread* thread))
626 // Returns an illegal exception to install into the current thread. The
632 Handle exception(thread, thread->vm_result());
634 thread->set_vm_result(NULL); // clear vm result before continuing (may cause memory leaks and assert failures)
640 thread->set_vm_result(exception());
647 IRT_ENTRY(Bytecodes::Code, InterpreterRuntime::get_original_bytecode_at(JavaThread* thread, methodOopDesc* method, address bcp))
651 IRT_ENTRY(void, InterpreterRuntime::set_original_bytecode_at(JavaThread* thread, methodOopDesc* method, address bcp, Bytecodes::Code new_code))
655 IRT_ENTRY(void, InterpreterRuntime::_breakpoint(JavaThread* thread, methodOopDesc* method, address bcp))
656 JvmtiExport::post_raw_breakpoint(thread, method, bcp);
659 IRT_ENTRY(void, InterpreterRuntime::resolve_invoke(JavaThread* thread, Bytecodes::Code bytecode)) {
661 Handle receiver(thread, NULL);
663 ResourceMark rm(thread);
664 methodHandle m (thread, method(thread));
665 Bytecode_invoke call(m, bci(thread));
667 receiver = Handle(thread,
668 thread->last_frame().interpreter_callee_receiver(signature));
678 constantPoolHandle pool(thread, method(thread)->constants());
681 JvmtiHideSingleStepping jhss(thread);
683 get_index_u2_cpcache(thread, bytecode), bytecode, CHECK);
694 get_index_u2_cpcache(thread, bytecode), bytecode, CHECK);
700 if (already_resolved(thread)) return;
705 ResourceMark rm(thread);
715 cache_entry(thread)->set_method(bytecode, rm, info.vtable_index());
719 cache_entry(thread)->set_interface_call(info.resolved_method(), index);
722 cache_entry(thread)->set_method(
732 IRT_ENTRY(void, InterpreterRuntime::resolve_invokehandle(JavaThread* thread)) {
738 constantPoolHandle pool(thread, method(thread)->constants());
741 JvmtiHideSingleStepping jhss(thread);
743 get_index_u2_cpcache(thread, bytecode), bytecode, CHECK);
746 cache_entry(thread)->set_method_handle(
756 IRT_ENTRY(void, InterpreterRuntime::resolve_invokedynamic(JavaThread* thread)) {
761 // int caller_bci = method(thread)->bci_from(bcp(thread));
765 constantPoolHandle pool(thread, method(thread)->constants());
766 int index = get_index_u4(thread, bytecode);
769 JvmtiHideSingleStepping jhss(thread);
787 nmethod* InterpreterRuntime::frequency_counter_overflow(JavaThread* thread, address branch_bcp) {
788 nmethod* nm = frequency_counter_overflow_inner(thread, branch_bcp);
796 frame fr = thread->last_frame();
813 InterpreterRuntime::frequency_counter_overflow_inner(JavaThread* thread, address branch_bcp))
816 UnlockFlagSaver fs(thread);
818 frame fr = thread->last_frame();
820 methodHandle method(thread, fr.interpreter_frame_method());
825 nmethod* osr_nm = CompilationPolicy::policy()->event(method, method, branch_bci, bci, CompLevel_none, NULL, thread);
859 IRT_ENTRY(void, InterpreterRuntime::profile_method(JavaThread* thread))
862 UnlockFlagSaver fs(thread);
865 frame fr = thread->last_frame();
867 methodHandle method(thread, fr.interpreter_frame_method());
908 IRT_ENTRY(void, InterpreterRuntime::update_mdp_for_ret(JavaThread* thread, int return_bci))
910 ResourceMark rm(thread);
911 HandleMark hm(thread);
912 frame fr = thread->last_frame();
914 methodDataHandle h_mdo(thread, fr.interpreter_frame_method()->method_data());
929 IRT_ENTRY(void, InterpreterRuntime::at_safepoint(JavaThread* thread))
939 // single stepping. If any thread is marked for single stepping,
941 JvmtiExport::at_single_stepping_point(thread, method(thread), bcp(thread));
945 IRT_ENTRY(void, InterpreterRuntime::post_field_access(JavaThread *thread, oopDesc* obj,
966 HandleMark hm(thread);
971 h_obj = Handle(thread, obj);
973 instanceKlassHandle h_cp_entry_f1(thread, java_lang_Class::as_klassOop(cp_entry->f1_as_klass_mirror()));
975 JvmtiExport::post_field_access(thread, method(thread), bcp(thread), h_cp_entry_f1, h_obj, fid);
978 IRT_ENTRY(void, InterpreterRuntime::post_field_modification(JavaThread *thread,
1004 HandleMark hm(thread);
1005 instanceKlassHandle h_klass(thread, k);
1027 h_obj = Handle(thread, obj);
1030 JvmtiExport::post_raw_field_modification(thread, method(thread), bcp(thread), h_klass, h_obj,
1034 IRT_ENTRY(void, InterpreterRuntime::post_method_entry(JavaThread *thread))
1035 JvmtiExport::post_method_entry(thread, InterpreterRuntime::method(thread), InterpreterRuntime::last_frame(thread));
1039 IRT_ENTRY(void, InterpreterRuntime::post_method_exit(JavaThread *thread))
1040 JvmtiExport::post_method_exit(thread, InterpreterRuntime::method(thread), InterpreterRuntime::last_frame(thread));
1169 // thread which may change the arrays in the above, mutex protected block, we
1190 IRT_ENTRY(void, InterpreterRuntime::prepare_native_call(JavaThread* thread, methodOopDesc* method))
1191 methodHandle m(thread, method);
1207 IRT_LEAF(void, InterpreterRuntime::popframe_move_outgoing_args(JavaThread* thread, void* src_address, void* dest_address))
1214 frame fr = thread->last_frame();
1217 methodHandle mh(thread, fr.interpreter_frame_method());