# HG changeset patch # User vlivanov # Date 1362500238 28800 # Node ID 02481313d596013fee61af7e846aae77a736a333 # Parent 370c3b74c6426e1820f648ad434ff66395852c6f# Parent b04dd94da4e65dd14690b21e1a6eaa65652a995e Merge diff -r b04dd94da4e6 -r 02481313d596 hotspot/src/share/vm/runtime/frame.cpp --- a/hotspot/src/share/vm/runtime/frame.cpp Tue Mar 05 04:24:50 2013 -0800 +++ b/hotspot/src/share/vm/runtime/frame.cpp Tue Mar 05 08:17:18 2013 -0800 @@ -1070,7 +1070,12 @@ // First consult the ADLC on where it puts parameter 0 for this signature. VMReg reg = SharedRuntime::name_for_receiver(); - oop r = *caller.oopmapreg_to_location(reg, reg_map); + oop* oop_adr = caller.oopmapreg_to_location(reg, reg_map); + if (oop_adr == NULL) { + guarantee(oop_adr != NULL, "bad register save location"); + return NULL; + } + oop r = *oop_adr; assert(Universe::heap()->is_in_or_null(r), err_msg("bad receiver: " INTPTR_FORMAT " (" INTX_FORMAT ")", (intptr_t) r, (intptr_t) r)); return r; }