Mercurial > hg > truffle
comparison src/share/vm/graal/graalRuntime.cpp @ 9820:1b60f639ac4b
implemented alternative implementation for loading the exception object from the thread at the start of an exception dispatcher
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Sat, 25 May 2013 23:42:11 +0200 |
parents | aa8f3fc0a9a9 |
children | 62ea8789b88a |
comparison
equal
deleted
inserted
replaced
9819:8aea948c522b | 9820:1b60f639ac4b |
---|---|
378 jio_snprintf(detail_msg, detail_msg_length, buf, value); | 378 jio_snprintf(detail_msg, detail_msg_length, buf, value); |
379 } | 379 } |
380 report_vm_error(__FILE__, __LINE__, error_msg, detail_msg); | 380 report_vm_error(__FILE__, __LINE__, error_msg, detail_msg); |
381 JRT_END | 381 JRT_END |
382 | 382 |
383 JRT_LEAF(oop, GraalRuntime::load_and_clear_exception(JavaThread* thread)) | |
384 oop exception = thread->exception_oop(); | |
385 assert(exception != NULL, "npe"); | |
386 thread->set_exception_oop(NULL); | |
387 thread->set_exception_pc(0); | |
388 return exception; | |
389 JRT_END | |
383 | 390 |
384 JRT_LEAF(void, GraalRuntime::log_printf(JavaThread* thread, oop format, jlong v1, jlong v2, jlong v3)) | 391 JRT_LEAF(void, GraalRuntime::log_printf(JavaThread* thread, oop format, jlong v1, jlong v2, jlong v3)) |
385 ResourceMark rm; | 392 ResourceMark rm; |
386 assert(format != NULL && java_lang_String::is_instance(format), "must be"); | 393 assert(format != NULL && java_lang_String::is_instance(format), "must be"); |
387 char *buf = java_lang_String::as_utf8_string(format); | 394 char *buf = java_lang_String::as_utf8_string(format); |