comparison src/share/vm/utilities/vmError.cpp @ 12199:38f750491293

8022335: Native stack walk while generating hs_err does not work on Windows x64 Summary: Use WinDbg API StackWalk64() Reviewed-by: zgu, dholmes
author iklam
date Fri, 06 Sep 2013 08:42:42 -0700
parents 4b2838704fd5
children cefad50507d8 5cc2d82aa82a
comparison
equal deleted inserted replaced
12198:baa7927dfbd2 12199:38f750491293
572 } 572 }
573 573
574 STEP(120, "(printing native stack)" ) 574 STEP(120, "(printing native stack)" )
575 575
576 if (_verbose) { 576 if (_verbose) {
577 if (os::platform_print_native_stack(st, _context, buf, sizeof(buf))) {
578 // We have printed the native stack in platform-specific code
579 // Windows/x64 needs special handling.
580 } else {
577 frame fr = _context ? os::fetch_frame_from_context(_context) 581 frame fr = _context ? os::fetch_frame_from_context(_context)
578 : os::current_frame(); 582 : os::current_frame();
579 583
580 // see if it's a valid frame 584 // see if it's a valid frame
581 if (fr.pc()) { 585 if (fr.pc()) {
602 } 606 }
603 607
604 st->cr(); 608 st->cr();
605 } 609 }
606 } 610 }
611 }
607 612
608 STEP(130, "(printing Java stack)" ) 613 STEP(130, "(printing Java stack)" )
609 614
610 if (_verbose && _thread && _thread->is_Java_thread()) { 615 if (_verbose && _thread && _thread->is_Java_thread()) {
611 print_stack_trace(st, (JavaThread*)_thread, buf, sizeof(buf)); 616 print_stack_trace(st, (JavaThread*)_thread, buf, sizeof(buf));