hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
changeset 360 21d113ecbf6a
parent 1 489c9b5090e2
child 670 ddf3e9583f2f
--- a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp	Fri Apr 11 09:56:35 2008 -0400
+++ b/hotspot/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?