534 static oop message(oop throwable);
535 static oop message(Handle throwable);
536 static void set_message(oop throwable, oop value);
537 static Symbol* detail_message(oop throwable);
538 static void print_stack_element(outputStream *st, Handle mirror, int method,
539 int version, int bci, int cpref);
540 static void print_stack_element(outputStream *st, const methodHandle& method, int bci);
541 static void print_stack_usage(Handle stream);
542
543 // Allocate space for backtrace (created but stack trace not filled in)
544 static void allocate_backtrace(Handle throwable, TRAPS);
545 // Fill in current stack trace for throwable with preallocated backtrace (no GC)
546 static void fill_in_stack_trace_of_preallocated_backtrace(Handle throwable);
547 // Fill in current stack trace, can cause GC
548 static void fill_in_stack_trace(Handle throwable, const methodHandle& method, TRAPS);
549 static void fill_in_stack_trace(Handle throwable, const methodHandle& method = methodHandle());
550 // Programmatic access to stack trace
551 static oop get_stack_trace_element(oop throwable, int index, TRAPS);
552 static int get_stack_trace_depth(oop throwable, TRAPS);
553 // Printing
554 static void print(oop throwable, outputStream* st);
555 static void print(Handle throwable, outputStream* st);
556 static void print_stack_trace(oop throwable, outputStream* st);
557 // Debugging
558 friend class JavaClasses;
559 };
560
561
562 // Interface to java.lang.reflect.AccessibleObject objects
563
564 class java_lang_reflect_AccessibleObject: AllStatic {
565 private:
566 // Note that to reduce dependencies on the JDK we compute these
567 // offsets at run-time.
568 static int override_offset;
569
570 static void compute_offsets();
571
572 public:
573 // Accessors
574 static jboolean override(oop reflect);
575 static void set_override(oop reflect, jboolean value);
576
|
534 static oop message(oop throwable);
535 static oop message(Handle throwable);
536 static void set_message(oop throwable, oop value);
537 static Symbol* detail_message(oop throwable);
538 static void print_stack_element(outputStream *st, Handle mirror, int method,
539 int version, int bci, int cpref);
540 static void print_stack_element(outputStream *st, const methodHandle& method, int bci);
541 static void print_stack_usage(Handle stream);
542
543 // Allocate space for backtrace (created but stack trace not filled in)
544 static void allocate_backtrace(Handle throwable, TRAPS);
545 // Fill in current stack trace for throwable with preallocated backtrace (no GC)
546 static void fill_in_stack_trace_of_preallocated_backtrace(Handle throwable);
547 // Fill in current stack trace, can cause GC
548 static void fill_in_stack_trace(Handle throwable, const methodHandle& method, TRAPS);
549 static void fill_in_stack_trace(Handle throwable, const methodHandle& method = methodHandle());
550 // Programmatic access to stack trace
551 static oop get_stack_trace_element(oop throwable, int index, TRAPS);
552 static int get_stack_trace_depth(oop throwable, TRAPS);
553 // Printing
554 static void print(Handle throwable, outputStream* st);
555 static void print_stack_trace(Handle throwable, outputStream* st);
556 // Debugging
557 friend class JavaClasses;
558 };
559
560
561 // Interface to java.lang.reflect.AccessibleObject objects
562
563 class java_lang_reflect_AccessibleObject: AllStatic {
564 private:
565 // Note that to reduce dependencies on the JDK we compute these
566 // offsets at run-time.
567 static int override_offset;
568
569 static void compute_offsets();
570
571 public:
572 // Accessors
573 static jboolean override(oop reflect);
574 static void set_override(oop reflect, jboolean value);
575
|