comparison src/share/vm/graal/graalVMExits.hpp @ 3601:3822c5969a8b

better error messages for missing MAXINE env var and exceptions thrown by the compiler
author Lukas Stadler <lukas.stadler@jku.at>
date Tue, 25 Oct 2011 14:44:32 +0200
parents f00918f35c7f
children 5e9645341ec3
comparison
equal deleted inserted replaced
3600:707bc4847b00 3601:3822c5969a8b
99 inline void check_pending_exception(const char* message, bool dump_core = false) { 99 inline void check_pending_exception(const char* message, bool dump_core = false) {
100 Thread* THREAD = Thread::current(); 100 Thread* THREAD = Thread::current();
101 if (THREAD->has_pending_exception()) { 101 if (THREAD->has_pending_exception()) {
102 Handle exception = PENDING_EXCEPTION; 102 Handle exception = PENDING_EXCEPTION;
103 CLEAR_PENDING_EXCEPTION; 103 CLEAR_PENDING_EXCEPTION;
104 tty->print_cr("%s", message); 104
105 java_lang_Throwable::print(exception, tty); 105 assert(exception->is_a(SystemDictionary::Throwable_klass()), "Throwable instance expected");
106 tty->cr(); 106 JavaValue result(T_VOID);
107 java_lang_Throwable::print_stack_trace(exception(), tty); 107 JavaCalls::call_virtual(&result,
108 exception,
109 KlassHandle(THREAD,
110 SystemDictionary::Throwable_klass()),
111 vmSymbols::printStackTrace_name(),
112 vmSymbols::void_method_signature(),
113 THREAD);
114
108 vm_abort(dump_core); 115 vm_abort(dump_core);
109 } 116 }
110 } 117 }
111 118
112 inline void check_not_null(void* value, const char* message, bool dump_core = false) { 119 inline void check_not_null(void* value, const char* message, bool dump_core = false) {