Mercurial > hg > truffle
diff src/share/vm/runtime/sharedRuntime.cpp @ 2605:98fa88528319
Deopt on implicit null pointer exception.
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Fri, 06 May 2011 16:20:56 +0200 |
parents | e88293edf07c |
children | 008adfd6d850 |
line wrap: on
line diff
--- a/src/share/vm/runtime/sharedRuntime.cpp Thu May 05 17:03:43 2011 +0200 +++ b/src/share/vm/runtime/sharedRuntime.cpp Fri May 06 16:20:56 2011 +0200 @@ -699,7 +699,7 @@ address target_pc = NULL; if (TraceSignals) { - tty->print_cr("Searching for continuation for implicit exception at %d", pc); + tty->print_cr("Searching for continuation for implicit exception at %d!", pc); } if (Interpreter::contains(pc)) { @@ -780,7 +780,8 @@ if (TraceSignals) { tty->print_cr(err_msg("calling implicit call stub relative pc=%d method name = %s", pc - nm->entry_point(), nm->method()->name()->as_C_string())); } - target_pc = Runtime1::entry_for(Runtime1::c1x_global_implicit_null_id); + thread->_ScratchA = (intptr_t)pc; + target_pc = (SharedRuntime::deopt_blob()->jmp_uncommon_trap());//Runtime1::entry_for(Runtime1::c1x_global_implicit_null_id); } else { target_pc = nm->continuation_for_implicit_exception(pc); }