554 555 if (fr.sp()) { 556 st->print(", sp=" PTR_FORMAT, fr.sp()); 557 size_t free_stack_size = pointer_delta(fr.sp(), stack_bottom, 1024); 558 st->print(", free space=" SIZE_FORMAT "k", free_stack_size); 559 } 560 561 st->cr(); 562 } 563 564 STEP(120, "(printing native stack)" ) 565 566 if (_verbose) { 567 frame fr = _context ? os::fetch_frame_from_context(_context) 568 : os::current_frame(); 569 570 // see if it's a valid frame 571 if (fr.pc()) { 572 st->print_cr("Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)"); 573 574 // initialize decoder to decode C frames 575 Decoder decoder; 576 577 int count = 0; 578 while (count++ < StackPrintLimit) { 579 fr.print_on_error(st, buf, sizeof(buf)); 580 st->cr(); 581 if (os::is_first_C_frame(&fr)) break; 582 fr = os::get_sender_for_C_frame(&fr); 583 } 584 585 if (count > StackPrintLimit) { 586 st->print_cr("...<more frames>..."); 587 } 588 589 st->cr(); 590 } 591 } 592 593 STEP(130, "(printing Java stack)" ) 594 595 if (_verbose && _thread && _thread->is_Java_thread()) { 596 print_stack_trace(st, (JavaThread*)_thread, buf, sizeof(buf)); | 554 555 if (fr.sp()) { 556 st->print(", sp=" PTR_FORMAT, fr.sp()); 557 size_t free_stack_size = pointer_delta(fr.sp(), stack_bottom, 1024); 558 st->print(", free space=" SIZE_FORMAT "k", free_stack_size); 559 } 560 561 st->cr(); 562 } 563 564 STEP(120, "(printing native stack)" ) 565 566 if (_verbose) { 567 frame fr = _context ? os::fetch_frame_from_context(_context) 568 : os::current_frame(); 569 570 // see if it's a valid frame 571 if (fr.pc()) { 572 st->print_cr("Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)"); 573 574 int count = 0; 575 while (count++ < StackPrintLimit) { 576 fr.print_on_error(st, buf, sizeof(buf)); 577 st->cr(); 578 if (os::is_first_C_frame(&fr)) break; 579 fr = os::get_sender_for_C_frame(&fr); 580 } 581 582 if (count > StackPrintLimit) { 583 st->print_cr("...<more frames>..."); 584 } 585 586 st->cr(); 587 } 588 } 589 590 STEP(130, "(printing Java stack)" ) 591 592 if (_verbose && _thread && _thread->is_Java_thread()) { 593 print_stack_trace(st, (JavaThread*)_thread, buf, sizeof(buf)); |