Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/sharedRuntime.cpp @ 11029:9ba41a4a71ff
8004124: Handle and/or warn about SI_KERNEL
Summary: Detect this crash in the signal handler and give a fatal error message instead of making us chase down bugs that don't reproduce
Reviewed-by: kvn, mgerdin, dholmes
author | coleenp |
---|---|
date | Fri, 21 Jun 2013 10:50:19 -0400 |
parents | ef57c43512d6 |
children | 6b0fd0964b87 f98f5d48f511 583211d4b16b |
comparison
equal
deleted
inserted
replaced
11028:b3cd8b58b798 | 11029:9ba41a4a71ff |
---|---|
811 // 1. Inline-cache check in C2I handler blob, | 811 // 1. Inline-cache check in C2I handler blob, |
812 // 2. Inline-cache check in nmethod, or | 812 // 2. Inline-cache check in nmethod, or |
813 // 3. Implict null exception in nmethod | 813 // 3. Implict null exception in nmethod |
814 | 814 |
815 if (!cb->is_nmethod()) { | 815 if (!cb->is_nmethod()) { |
816 guarantee(cb->is_adapter_blob() || cb->is_method_handles_adapter_blob(), | 816 bool is_in_blob = cb->is_adapter_blob() || cb->is_method_handles_adapter_blob(); |
817 "exception happened outside interpreter, nmethods and vtable stubs (1)"); | 817 if (!is_in_blob) { |
818 cb->print(); | |
819 fatal(err_msg("exception happened outside interpreter, nmethods and vtable stubs at pc " INTPTR_FORMAT, pc)); | |
820 } | |
818 Events::log_exception(thread, "NullPointerException in code blob at " INTPTR_FORMAT, pc); | 821 Events::log_exception(thread, "NullPointerException in code blob at " INTPTR_FORMAT, pc); |
819 // There is no handler here, so we will simply unwind. | 822 // There is no handler here, so we will simply unwind. |
820 return StubRoutines::throw_NullPointerException_at_call_entry(); | 823 return StubRoutines::throw_NullPointerException_at_call_entry(); |
821 } | 824 } |
822 | 825 |