Mercurial > hg > truffle
diff src/share/vm/prims/unsafe.cpp @ 845:df6caf649ff7
6700789: G1: Enable use of compressed oops with G1 heaps
Summary: Modifications to G1 so as to allow the use of compressed oops.
Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
author | ysr |
---|---|
date | Tue, 14 Jul 2009 15:40:39 -0700 |
parents | a45484ea312d |
children | e392695de029 |
line wrap: on
line diff
--- a/src/share/vm/prims/unsafe.cpp Fri Jul 10 16:01:20 2009 -0700 +++ b/src/share/vm/prims/unsafe.cpp Tue Jul 14 15:40:39 2009 -0700 @@ -1048,7 +1048,11 @@ oop e = JNIHandles::resolve(e_h); oop p = JNIHandles::resolve(obj); HeapWord* addr = (HeapWord *)index_oop_from_field_offset_long(p, offset); - update_barrier_set_pre((void*)addr, e); + if (UseCompressedOops) { + update_barrier_set_pre((narrowOop*)addr, e); + } else { + update_barrier_set_pre((oop*)addr, e); + } oop res = oopDesc::atomic_compare_exchange_oop(x, addr, e); jboolean success = (res == e); if (success)