comparison src/share/vm/graal/graalRuntime.cpp @ 9471:5fa54bf57f8c

replaced exception_handler_nofpu assembler stub with a compiled stub (GRAAL-81) generalized stub printf mechanism to also serve as a fatal VM exit message
author Doug Simon <doug.simon@oracle.com>
date Wed, 01 May 2013 17:46:12 +0200
parents 3e7d22d31f7e
children 3d3da5a588bb
comparison
equal deleted inserted replaced
9466:b8cae7920bca 9471:5fa54bf57f8c
400 if (continuation != NULL && !SharedRuntime::deopt_blob()->contains(continuation)) { 400 if (continuation != NULL && !SharedRuntime::deopt_blob()->contains(continuation)) {
401 nm->add_handler_for_exception_and_pc(exception, pc, continuation); 401 nm->add_handler_for_exception_and_pc(exception, pc, continuation);
402 } 402 }
403 } 403 }
404 404
405 thread->set_vm_result(exception());
406 // Set flag if return address is a method handle call site. 405 // Set flag if return address is a method handle call site.
407 thread->set_is_method_handle_return(nm->is_method_handle_return(pc)); 406 thread->set_is_method_handle_return(nm->is_method_handle_return(pc));
408 407
409 if (TraceExceptions) { 408 if (TraceExceptions) {
410 ttyLocker ttyl; 409 ttyLocker ttyl;
568 assert(format != NULL && java_lang_String::is_instance(format), "must be"); 567 assert(format != NULL && java_lang_String::is_instance(format), "must be");
569 char *buf = java_lang_String::as_utf8_string(format); 568 char *buf = java_lang_String::as_utf8_string(format);
570 tty->print(buf, v1, v2, v3); 569 tty->print(buf, v1, v2, v3);
571 JRT_END 570 JRT_END
572 571
573 JRT_LEAF(void, GraalRuntime::stub_printf(jlong format, jlong v1, jlong v2, jlong v3)) 572 JRT_LEAF(void, GraalRuntime::vm_message(jboolean vmError, jlong format, jlong v1, jlong v2, jlong v3))
574 ResourceMark rm; 573 ResourceMark rm;
575 char *buf = (char*) (address) format; 574 char *buf = (char*) (address) format;
576 tty->print(buf, v1, v2, v3); 575 if (vmError) {
576 fatal(err_msg(buf, v1, v2, v3));
577 } else {
578 tty->print(buf, v1, v2, v3);
579 }
577 JRT_END 580 JRT_END
578 581
579 JRT_ENTRY(void, GraalRuntime::log_primitive(JavaThread* thread, jchar typeChar, jlong value, jboolean newline)) 582 JRT_ENTRY(void, GraalRuntime::log_primitive(JavaThread* thread, jchar typeChar, jlong value, jboolean newline))
580 union { 583 union {
581 jlong l; 584 jlong l;