--- a/hotspot/src/share/vm/code/nmethod.cpp Mon Feb 08 12:20:09 2010 -0800
+++ b/hotspot/src/share/vm/code/nmethod.cpp Tue Feb 09 01:31:13 2010 -0800
@@ -988,7 +988,8 @@
PcDesc* pd = pc_desc_at(pc);
guarantee(pd != NULL, "scope must be present");
return new ScopeDesc(this, pd->scope_decode_offset(),
- pd->obj_decode_offset(), pd->should_reexecute());
+ pd->obj_decode_offset(), pd->should_reexecute(),
+ pd->return_oop());
}
@@ -2159,7 +2160,8 @@
PcDesc* pd = pc_desc_at(ic->end_of_call());
assert(pd != NULL, "PcDesc must exist");
for (ScopeDesc* sd = new ScopeDesc(this, pd->scope_decode_offset(),
- pd->obj_decode_offset(), pd->should_reexecute());
+ pd->obj_decode_offset(), pd->should_reexecute(),
+ pd->return_oop());
!sd->is_top(); sd = sd->sender()) {
sd->verify();
}
@@ -2424,7 +2426,8 @@
PcDesc* p = pc_desc_near(begin+1);
if (p != NULL && p->real_pc(this) <= end) {
return new ScopeDesc(this, p->scope_decode_offset(),
- p->obj_decode_offset(), p->should_reexecute());
+ p->obj_decode_offset(), p->should_reexecute(),
+ p->return_oop());
}
return NULL;
}