src/share/vm/opto/runtime.cpp

Print this page
rev 1122 : refactored to check all 3 can_post_exception bits and other Dan comments

*** 808,818 **** fatal("Native mathod should not have path to exception handling"); } else { // we are switching to old paradigm: search for exception handler in caller_frame // instead in exception handler of caller_frame.sender() ! if (JvmtiExport::can_post_exceptions()) { // "Full-speed catching" is not necessary here, // since we're notifying the VM on every catch. // Force deoptimization and the rest of the lookup // will be fine. deoptimize_caller_frame(thread, true); --- 808,819 ---- fatal("Native mathod should not have path to exception handling"); } else { // we are switching to old paradigm: search for exception handler in caller_frame // instead in exception handler of caller_frame.sender() ! // We only need to deoptimize if we exceptions can really cause some event notification ! if (thread->should_post_on_exceptions_flag()) { // "Full-speed catching" is not necessary here, // since we're notifying the VM on every catch. // Force deoptimization and the rest of the lookup // will be fine. deoptimize_caller_frame(thread, true);
*** 1206,1210 **** --- 1207,1212 ---- JRT_LEAF(void, OptoRuntime::zap_dead_native_locals_C(JavaThread* thread)) zap_dead_java_or_native_locals(thread, is_native_frame); JRT_END # endif +