< prev index next >

src/share/vm/utilities/debug.hpp

Print this page
rev 7424 : improve secondary signal handling

@@ -259,10 +259,31 @@
 void set_error_reported();
 
 /* Test assert(), fatal(), guarantee(), etc. */
 NOT_PRODUCT(void test_error_handler();)
 
+// crash in a controlled way:
+// how can be one of:
+// 1,2 - asserts
+// 3,4 - guarantee
+// 5-7 - fatal
+// 8 - vm_exit_out_of_memory
+// 9 - ShouldNotCallThis
+// 10 - ShouldNotReachHere
+// 11 - Unimplemented
+// 12,13 - (not guaranteed) crashes
+// 14 - SIGSEGV
+// 15 - SIGILL 
+NOT_PRODUCT(void controlled_crash(int how);)
+
+// returns an address which is guaranteed to generate a SIGSEGV on read,
+// for test purposes, which is not NULL and contains bits in every word
+NOT_PRODUCT(void* get_segfault_address();)
+
+// return an instruction which will generate a SIGILL
+NOT_PRODUCT(bool get_illegal_instruction_sequence(uint8_t buf[8]);)
+
 void pd_ps(frame f);
 void pd_obfuscate_location(char *buf, size_t buflen);
 
 class outputStream;
 void print_native_stack(outputStream* st, frame fr, Thread* t, char* buf, int buf_size);
< prev index next >