hotspot/src/share/vm/runtime/frame.cpp
changeset 15870 370c3b74c642
parent 14633 58caa6fc3b7c
child 17872 2c49e72dcf08
child 22806 7d1955769e90
equal deleted inserted replaced
15869:6336b792f928 15870:370c3b74c642
  1068 oop frame::retrieve_receiver(RegisterMap* reg_map) {
  1068 oop frame::retrieve_receiver(RegisterMap* reg_map) {
  1069   frame caller = *this;
  1069   frame caller = *this;
  1070 
  1070 
  1071   // First consult the ADLC on where it puts parameter 0 for this signature.
  1071   // First consult the ADLC on where it puts parameter 0 for this signature.
  1072   VMReg reg = SharedRuntime::name_for_receiver();
  1072   VMReg reg = SharedRuntime::name_for_receiver();
  1073   oop r = *caller.oopmapreg_to_location(reg, reg_map);
  1073   oop* oop_adr = caller.oopmapreg_to_location(reg, reg_map);
       
  1074   if (oop_adr == NULL) {
       
  1075     guarantee(oop_adr != NULL, "bad register save location");
       
  1076     return NULL;
       
  1077   }
       
  1078   oop r = *oop_adr;
  1074   assert(Universe::heap()->is_in_or_null(r), err_msg("bad receiver: " INTPTR_FORMAT " (" INTX_FORMAT ")", (intptr_t) r, (intptr_t) r));
  1079   assert(Universe::heap()->is_in_or_null(r), err_msg("bad receiver: " INTPTR_FORMAT " (" INTX_FORMAT ")", (intptr_t) r, (intptr_t) r));
  1075   return r;
  1080   return r;
  1076 }
  1081 }
  1077 
  1082 
  1078 
  1083