2717 2718 /* debugger breakpoint */ 2719 2720 CASE(_breakpoint): { 2721 Bytecodes::Code original_bytecode; 2722 DECACHE_STATE(); 2723 SET_LAST_JAVA_FRAME(); 2724 original_bytecode = InterpreterRuntime::get_original_bytecode_at(THREAD, 2725 METHOD, pc); 2726 RESET_LAST_JAVA_FRAME(); 2727 CACHE_STATE(); 2728 if (THREAD->has_pending_exception()) goto handle_exception; 2729 CALL_VM(InterpreterRuntime::_breakpoint(THREAD, METHOD, pc), 2730 handle_exception); 2731 2732 opcode = (jubyte)original_bytecode; 2733 goto opcode_switch; 2734 } 2735 2736 DEFAULT: 2737 fatal(err_msg("Unimplemented opcode %d = %s", opcode, 2738 Bytecodes::name((Bytecodes::Code)opcode))); 2739 goto finish; 2740 2741 } /* switch(opc) */ 2742 2743 2744 #ifdef USELABELS 2745 check_for_exception: 2746 #endif 2747 { 2748 if (!THREAD->has_pending_exception()) { 2749 CONTINUE; 2750 } 2751 /* We will be gcsafe soon, so flush our state. */ 2752 DECACHE_PC(); 2753 goto handle_exception; 2754 } 2755 do_continue: ; 2756 2757 } /* while (1) interpreter loop */ 2758 | 2717 2718 /* debugger breakpoint */ 2719 2720 CASE(_breakpoint): { 2721 Bytecodes::Code original_bytecode; 2722 DECACHE_STATE(); 2723 SET_LAST_JAVA_FRAME(); 2724 original_bytecode = InterpreterRuntime::get_original_bytecode_at(THREAD, 2725 METHOD, pc); 2726 RESET_LAST_JAVA_FRAME(); 2727 CACHE_STATE(); 2728 if (THREAD->has_pending_exception()) goto handle_exception; 2729 CALL_VM(InterpreterRuntime::_breakpoint(THREAD, METHOD, pc), 2730 handle_exception); 2731 2732 opcode = (jubyte)original_bytecode; 2733 goto opcode_switch; 2734 } 2735 2736 DEFAULT: 2737 fatal("Unimplemented opcode %d = %s", opcode, 2738 Bytecodes::name((Bytecodes::Code)opcode)); 2739 goto finish; 2740 2741 } /* switch(opc) */ 2742 2743 2744 #ifdef USELABELS 2745 check_for_exception: 2746 #endif 2747 { 2748 if (!THREAD->has_pending_exception()) { 2749 CONTINUE; 2750 } 2751 /* We will be gcsafe soon, so flush our state. */ 2752 DECACHE_PC(); 2753 goto handle_exception; 2754 } 2755 do_continue: ; 2756 2757 } /* while (1) interpreter loop */ 2758 |