< prev index next >

src/os/windows/vm/os_windows.cpp

Print this page

        

*** 2364,2374 **** PEXCEPTION_RECORD exceptionRecord = exceptionInfo->ExceptionRecord; address addr = (address) exceptionRecord->ExceptionInformation[1]; if (Interpreter::contains(pc)) { *fr = os::fetch_frame_from_context((void*)exceptionInfo->ContextRecord); if (!fr->is_first_java_frame()) { ! assert(fr->safe_for_sender(thread), "Safety check"); *fr = fr->java_sender(); } } else { // more complex code with compiled code assert(!Interpreter::contains(pc), "Interpreted methods should have been handled above"); --- 2364,2376 ---- PEXCEPTION_RECORD exceptionRecord = exceptionInfo->ExceptionRecord; address addr = (address) exceptionRecord->ExceptionInformation[1]; if (Interpreter::contains(pc)) { *fr = os::fetch_frame_from_context((void*)exceptionInfo->ContextRecord); if (!fr->is_first_java_frame()) { ! // get_frame_at_stack_banging_point() is only called when we ! // have well defined stacks so java_sender() calls do not need ! // to assert safe_for_sender() first. *fr = fr->java_sender(); } } else { // more complex code with compiled code assert(!Interpreter::contains(pc), "Interpreted methods should have been handled above");
*** 2381,2391 **** *fr = os::fetch_frame_from_context((void*)exceptionInfo->ContextRecord); // in compiled code, the stack banging is performed just after the return pc // has been pushed on the stack *fr = frame(fr->sp() + 1, fr->fp(), (address)*(fr->sp())); if (!fr->is_java_frame()) { ! assert(fr->safe_for_sender(thread), "Safety check"); *fr = fr->java_sender(); } } } assert(fr->is_java_frame(), "Safety check"); --- 2383,2395 ---- *fr = os::fetch_frame_from_context((void*)exceptionInfo->ContextRecord); // in compiled code, the stack banging is performed just after the return pc // has been pushed on the stack *fr = frame(fr->sp() + 1, fr->fp(), (address)*(fr->sp())); if (!fr->is_java_frame()) { ! // get_frame_at_stack_banging_point() is only called when we ! // have well defined stacks so java_sender() calls do not need ! // to assert safe_for_sender() first. *fr = fr->java_sender(); } } } assert(fr->is_java_frame(), "Safety check");
< prev index next >