< prev index next >
src/share/vm/runtime/frame.cpp
Print this page
rev 12854 : [mq]: gcinterface.patch
*** 886,896 ****
assert(map != NULL, "map must be set");
Thread *thread = Thread::current();
methodHandle m (thread, interpreter_frame_method());
jint bci = interpreter_frame_bci();
! assert(!Universe::heap()->is_in(m()),
"must be valid oop");
assert(m->is_method(), "checking frame value");
assert((m->is_native() && bci == 0) ||
(!m->is_native() && bci >= 0 && bci < m->code_size()),
"invalid bci value");
--- 886,896 ----
assert(map != NULL, "map must be set");
Thread *thread = Thread::current();
methodHandle m (thread, interpreter_frame_method());
jint bci = interpreter_frame_bci();
! assert(!GC::gc()->heap()->is_in(m()),
"must be valid oop");
assert(m->is_method(), "checking frame value");
assert((m->is_native() && bci == 0) ||
(!m->is_native() && bci >= 0 && bci < m->code_size()),
"invalid bci value");
*** 1065,1075 ****
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), "bad receiver: " INTPTR_FORMAT " (" INTX_FORMAT ")", p2i(r), p2i(r));
return r;
}
oop* frame::oopmapreg_to_location(VMReg reg, const RegisterMap* reg_map) const {
--- 1065,1075 ----
if (oop_adr == NULL) {
guarantee(oop_adr != NULL, "bad register save location");
return NULL;
}
oop r = *oop_adr;
! assert(GC::gc()->heap()->is_in_or_null(r), "bad receiver: " INTPTR_FORMAT " (" INTX_FORMAT ")", p2i(r), p2i(r));
return r;
}
oop* frame::oopmapreg_to_location(VMReg reg, const RegisterMap* reg_map) const {
*** 1096,1106 ****
assert(_cb != NULL && _cb->is_nmethod() && nm->method()->is_native(),
"Should not call this unless it's a native nmethod");
int byte_offset = in_bytes(nm->native_receiver_sp_offset());
assert(byte_offset >= 0, "should not see invalid offset");
oop owner = ((oop*) sp())[byte_offset / wordSize];
! assert( Universe::heap()->is_in(owner), "bad receiver" );
return owner;
}
void frame::oops_entry_do(OopClosure* f, const RegisterMap* map) {
assert(map != NULL, "map must be set");
--- 1096,1106 ----
assert(_cb != NULL && _cb->is_nmethod() && nm->method()->is_native(),
"Should not call this unless it's a native nmethod");
int byte_offset = in_bytes(nm->native_receiver_sp_offset());
assert(byte_offset >= 0, "should not see invalid offset");
oop owner = ((oop*) sp())[byte_offset / wordSize];
! assert( GC::gc()->heap()->is_in(owner), "bad receiver" );
return owner;
}
void frame::oops_entry_do(OopClosure* f, const RegisterMap* map) {
assert(map != NULL, "map must be set");
< prev index next >