555 static void print_stack_usage(Handle stream);
556
557 static void compute_offsets();
558 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
559
560 // Allocate space for backtrace (created but stack trace not filled in)
561 static void allocate_backtrace(Handle throwable, TRAPS);
562 // Fill in current stack trace for throwable with preallocated backtrace (no GC)
563 static void fill_in_stack_trace_of_preallocated_backtrace(Handle throwable);
564 // Fill in current stack trace, can cause GC
565 static void fill_in_stack_trace(Handle throwable, const methodHandle& method, TRAPS);
566 static void fill_in_stack_trace(Handle throwable, const methodHandle& method = methodHandle());
567 // Programmatic access to stack trace
568 static void get_stack_trace_elements(Handle throwable, objArrayHandle stack_trace, TRAPS);
569 // Printing
570 static void print(oop throwable, outputStream* st);
571 static void print_stack_trace(Handle throwable, outputStream* st);
572 static void java_printStackTrace(Handle throwable, TRAPS);
573 // Debugging
574 friend class JavaClasses;
575 };
576
577
578 // Interface to java.lang.reflect.AccessibleObject objects
579
580 class java_lang_reflect_AccessibleObject: AllStatic {
581 private:
582 // Note that to reduce dependencies on the JDK we compute these
583 // offsets at run-time.
584 static int override_offset;
585
586 static void compute_offsets();
587
588 public:
589 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
590
591 // Accessors
592 static jboolean override(oop reflect);
593 static void set_override(oop reflect, jboolean value);
594
|
555 static void print_stack_usage(Handle stream);
556
557 static void compute_offsets();
558 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
559
560 // Allocate space for backtrace (created but stack trace not filled in)
561 static void allocate_backtrace(Handle throwable, TRAPS);
562 // Fill in current stack trace for throwable with preallocated backtrace (no GC)
563 static void fill_in_stack_trace_of_preallocated_backtrace(Handle throwable);
564 // Fill in current stack trace, can cause GC
565 static void fill_in_stack_trace(Handle throwable, const methodHandle& method, TRAPS);
566 static void fill_in_stack_trace(Handle throwable, const methodHandle& method = methodHandle());
567 // Programmatic access to stack trace
568 static void get_stack_trace_elements(Handle throwable, objArrayHandle stack_trace, TRAPS);
569 // Printing
570 static void print(oop throwable, outputStream* st);
571 static void print_stack_trace(Handle throwable, outputStream* st);
572 static void java_printStackTrace(Handle throwable, TRAPS);
573 // Debugging
574 friend class JavaClasses;
575 // Gets the method and bci of the top frame (TOS). Returns false if this failed.
576 static bool get_method_and_bci(oop throwable, Method** method, int* bci);
577 };
578
579
580 // Interface to java.lang.reflect.AccessibleObject objects
581
582 class java_lang_reflect_AccessibleObject: AllStatic {
583 private:
584 // Note that to reduce dependencies on the JDK we compute these
585 // offsets at run-time.
586 static int override_offset;
587
588 static void compute_offsets();
589
590 public:
591 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
592
593 // Accessors
594 static jboolean override(oop reflect);
595 static void set_override(oop reflect, jboolean value);
596
|