1.1 --- a/src/share/vm/runtime/frame.cpp Mon Mar 04 13:15:01 2013 -0800 1.2 +++ b/src/share/vm/runtime/frame.cpp Tue Mar 05 04:24:33 2013 -0800 1.3 @@ -1070,7 +1070,12 @@ 1.4 1.5 // First consult the ADLC on where it puts parameter 0 for this signature. 1.6 VMReg reg = SharedRuntime::name_for_receiver(); 1.7 - oop r = *caller.oopmapreg_to_location(reg, reg_map); 1.8 + oop* oop_adr = caller.oopmapreg_to_location(reg, reg_map); 1.9 + if (oop_adr == NULL) { 1.10 + guarantee(oop_adr != NULL, "bad register save location"); 1.11 + return NULL; 1.12 + } 1.13 + oop r = *oop_adr; 1.14 assert(Universe::heap()->is_in_or_null(r), err_msg("bad receiver: " INTPTR_FORMAT " (" INTX_FORMAT ")", (intptr_t) r, (intptr_t) r)); 1.15 return r; 1.16 }