Mercurial > hg > graal-jvmci-8
comparison src/share/vm/graal/graalRuntime.cpp @ 16679:58622d6b1097
give all aborting threads a chance to print Graal related stack traces
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 04 Aug 2014 14:26:29 +0200 |
parents | d3fec84757ed |
children | 4d0d1dc5db00 |
comparison
equal
deleted
inserted
replaced
16678:ffb014884c12 | 16679:58622d6b1097 |
---|---|
988 void GraalRuntime::abort_on_pending_exception(Handle exception, const char* message, bool dump_core) { | 988 void GraalRuntime::abort_on_pending_exception(Handle exception, const char* message, bool dump_core) { |
989 Thread* THREAD = Thread::current(); | 989 Thread* THREAD = Thread::current(); |
990 CLEAR_PENDING_EXCEPTION; | 990 CLEAR_PENDING_EXCEPTION; |
991 tty->print_cr(message); | 991 tty->print_cr(message); |
992 call_printStackTrace(exception, THREAD); | 992 call_printStackTrace(exception, THREAD); |
993 | |
994 // Give other aborting threads to also print their stack traces. | |
995 // This can be very useful when debugging class initialization | |
996 // failures. | |
997 os::sleep(THREAD, 200, false); | |
998 | |
993 vm_abort(dump_core); | 999 vm_abort(dump_core); |
994 } | 1000 } |
995 | 1001 |
996 Klass* GraalRuntime::resolve_or_null(Symbol* name, TRAPS) { | 1002 Klass* GraalRuntime::resolve_or_null(Symbol* name, TRAPS) { |
997 return SystemDictionary::resolve_or_null(name, SystemDictionary::graal_loader(), Handle(), CHECK_NULL); | 1003 return SystemDictionary::resolve_or_null(name, SystemDictionary::graal_loader(), Handle(), CHECK_NULL); |