1.1 --- a/src/share/vm/runtime/sharedRuntime.cpp Mon May 22 09:23:59 2017 +0200 1.2 +++ b/src/share/vm/runtime/sharedRuntime.cpp Wed May 24 16:53:58 2017 +0200 1.3 @@ -546,7 +546,7 @@ 1.4 CodeBlob *cb = CodeCache::find_blob(pc); 1.5 1.6 // Should be an nmethod 1.7 - assert( cb && cb->is_nmethod(), "safepoint polling: pc must refer to an nmethod" ); 1.8 + guarantee(cb != NULL && cb->is_nmethod(), "safepoint polling: pc must refer to an nmethod"); 1.9 1.10 // Look up the relocation information 1.11 assert( ((nmethod*)cb)->is_at_poll_or_poll_return(pc), 1.12 @@ -1709,7 +1709,7 @@ 1.13 // ask me how I know this... 1.14 1.15 CodeBlob* cb = CodeCache::find_blob(caller_pc); 1.16 - if (!cb->is_nmethod() || entry_point == moop->get_c2i_entry()) { 1.17 + if (cb == NULL || !cb->is_nmethod() || entry_point == moop->get_c2i_entry()) { 1.18 return; 1.19 } 1.20 1.21 @@ -1760,7 +1760,7 @@ 1.22 if (destination != entry_point) { 1.23 CodeBlob* callee = CodeCache::find_blob(destination); 1.24 // callee == cb seems weird. It means calling interpreter thru stub. 1.25 - if (callee == cb || callee->is_adapter_blob()) { 1.26 + if (callee != NULL && (callee == cb || callee->is_adapter_blob())) { 1.27 // static call or optimized virtual 1.28 if (TraceCallFixup) { 1.29 tty->print("fixup callsite at " INTPTR_FORMAT " to compiled code for", caller_pc);