Mercurial > hg > truffle
diff src/cpu/sparc/vm/templateInterpreter_sparc.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/cpu/sparc/vm/templateInterpreter_sparc.cpp Fri Apr 11 09:56:35 2008 -0400 +++ b/src/cpu/sparc/vm/templateInterpreter_sparc.cpp Sun Apr 13 17:43:42 2008 -0400 @@ -591,7 +591,10 @@ address entry = __ pc(); Label slow_path; - if ( UseFastAccessorMethods) { + + // XXX: for compressed oops pointer loading and decoding doesn't fit in + // delay slot and damages G1 + if ( UseFastAccessorMethods && !UseCompressedOops ) { // Check if we need to reach a safepoint and generate full interpreter // frame if so. Address sync_state(G3_scratch, SafepointSynchronize::address_of_state()); @@ -953,6 +956,7 @@ // Back from jni method Lmethod in this frame is DEAD, DEAD, DEAD __ restore_thread(L7_thread_cache); // restore G2_thread + __ reinit_heapbase(); // must we block?