Mercurial > hg > truffle
comparison src/share/vm/runtime/frame.cpp @ 8690:c40fbf634c90
8008574: [parfait] Null pointer deference in hotspot/src/share/vm/runtime/frame.cpp
Summary: fix null pointer
Reviewed-by: kvn
author | morris |
---|---|
date | Tue, 05 Mar 2013 04:24:33 -0800 |
parents | d2f8c38e543d |
children | b9a918201d47 28e5aed7f3a6 0f03ff49c720 |
comparison
equal
deleted
inserted
replaced
8689:bf06968a8a00 | 8690:c40fbf634c90 |
---|---|
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 |