502 static char* print_stack_element_to_buffer(Handle mirror, int method, int version, int bci, int cpref);
503 // StackTrace (programmatic access, new since 1.4)
504 static void clear_stacktrace(oop throwable);
505 // No stack trace available
506 static const char* no_stack_trace_message();
507 // Stacktrace (post JDK 1.7.0 to allow immutability protocol to be followed)
508 static void set_stacktrace(oop throwable, oop st_element_array);
509 static oop unassigned_stacktrace();
510
511 public:
512 // Backtrace
513 static oop backtrace(oop throwable);
514 static void set_backtrace(oop throwable, oop value);
515 // Needed by JVMTI to filter out this internal field.
516 static int get_backtrace_offset() { return backtrace_offset;}
517 static int get_detailMessage_offset() { return detailMessage_offset;}
518 // Message
519 static oop message(oop throwable);
520 static oop message(Handle throwable);
521 static void set_message(oop throwable, oop value);
522 static void print_stack_element(outputStream *st, Handle mirror, int method,
523 int version, int bci, int cpref);
524 static void print_stack_element(outputStream *st, methodHandle method, int bci);
525 static void print_stack_usage(Handle stream);
526
527 // Allocate space for backtrace (created but stack trace not filled in)
528 static void allocate_backtrace(Handle throwable, TRAPS);
529 // Fill in current stack trace for throwable with preallocated backtrace (no GC)
530 static void fill_in_stack_trace_of_preallocated_backtrace(Handle throwable);
531 // Fill in current stack trace, can cause GC
532 static void fill_in_stack_trace(Handle throwable, methodHandle method, TRAPS);
533 static void fill_in_stack_trace(Handle throwable, methodHandle method = methodHandle());
534 // Programmatic access to stack trace
535 static oop get_stack_trace_element(oop throwable, int index, TRAPS);
536 static int get_stack_trace_depth(oop throwable, TRAPS);
537 // Printing
538 static void print(oop throwable, outputStream* st);
539 static void print(Handle throwable, outputStream* st);
540 static void print_stack_trace(oop throwable, outputStream* st);
541 // Debugging
|
502 static char* print_stack_element_to_buffer(Handle mirror, int method, int version, int bci, int cpref);
503 // StackTrace (programmatic access, new since 1.4)
504 static void clear_stacktrace(oop throwable);
505 // No stack trace available
506 static const char* no_stack_trace_message();
507 // Stacktrace (post JDK 1.7.0 to allow immutability protocol to be followed)
508 static void set_stacktrace(oop throwable, oop st_element_array);
509 static oop unassigned_stacktrace();
510
511 public:
512 // Backtrace
513 static oop backtrace(oop throwable);
514 static void set_backtrace(oop throwable, oop value);
515 // Needed by JVMTI to filter out this internal field.
516 static int get_backtrace_offset() { return backtrace_offset;}
517 static int get_detailMessage_offset() { return detailMessage_offset;}
518 // Message
519 static oop message(oop throwable);
520 static oop message(Handle throwable);
521 static void set_message(oop throwable, oop value);
522 static Symbol* detail_message(oop throwable);
523 static void print_stack_element(outputStream *st, Handle mirror, int method,
524 int version, int bci, int cpref);
525 static void print_stack_element(outputStream *st, methodHandle method, int bci);
526 static void print_stack_usage(Handle stream);
527
528 // Allocate space for backtrace (created but stack trace not filled in)
529 static void allocate_backtrace(Handle throwable, TRAPS);
530 // Fill in current stack trace for throwable with preallocated backtrace (no GC)
531 static void fill_in_stack_trace_of_preallocated_backtrace(Handle throwable);
532 // Fill in current stack trace, can cause GC
533 static void fill_in_stack_trace(Handle throwable, methodHandle method, TRAPS);
534 static void fill_in_stack_trace(Handle throwable, methodHandle method = methodHandle());
535 // Programmatic access to stack trace
536 static oop get_stack_trace_element(oop throwable, int index, TRAPS);
537 static int get_stack_trace_depth(oop throwable, TRAPS);
538 // Printing
539 static void print(oop throwable, outputStream* st);
540 static void print(Handle throwable, outputStream* st);
541 static void print_stack_trace(oop throwable, outputStream* st);
542 // Debugging
|