Mercurial > hg > truffle
diff src/share/vm/runtime/frame.cpp @ 113:ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv
Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author | coleenp |
---|---|
date | Sun, 13 Apr 2008 17:43:42 -0400 |
parents | a61af66fc99e |
children | d1605aabd0a1 |
line wrap: on
line diff
--- a/src/share/vm/runtime/frame.cpp Fri Apr 11 09:56:35 2008 -0400 +++ b/src/share/vm/runtime/frame.cpp Sun Apr 13 17:43:42 2008 -0400 @@ -1153,9 +1153,8 @@ // If it is passed in a register, it got spilled in the stub frame. return (oop *)reg_map->location(reg); } else { - int sp_offset_in_stack_slots = reg->reg2stack(); - int sp_offset = sp_offset_in_stack_slots >> (LogBytesPerWord - LogBytesPerInt); - return (oop *)&unextended_sp()[sp_offset]; + int sp_offset_in_bytes = reg->reg2stack() * VMRegImpl::stack_slot_size; + return (oop*)(((address)unextended_sp()) + sp_offset_in_bytes); } } @@ -1331,8 +1330,7 @@ ResourceMark rm(thread); assert(_cb != NULL, "sanity check"); if (_cb->oop_maps() != NULL) { - OopMapSet::all_do(this, reg_map, &_check_oop, check_derived_oop, - &_check_value, &_zap_dead); + OopMapSet::all_do(this, reg_map, &_check_oop, check_derived_oop, &_check_value); } }