# HG changeset patch # User coleenp # Date 1324326849 18000 # Node ID 96ce4c27112f212c11d21e36bce9c353ce4f4f05 # Parent 434acc8387720b126e20d875d2c60d2b6aa7ea9e 7122939: TraceBytecodes broken with UseCompressedOops Summary: Disable verify_heapbase on sparc if TraceBytecodes because the latter uses r12 as a temp register Reviewed-by: coleenp, phh Contributed-by: Volker Simonis diff -r 434acc838772 -r 96ce4c27112f src/cpu/x86/vm/assembler_x86.cpp --- a/src/cpu/x86/vm/assembler_x86.cpp Fri Dec 16 12:46:17 2011 -0800 +++ b/src/cpu/x86/vm/assembler_x86.cpp Mon Dec 19 15:34:09 2011 -0500 @@ -5968,7 +5968,9 @@ assert(number_of_arguments >= 0 , "cannot have negative number of arguments"); LP64_ONLY(assert(java_thread == r15_thread, "unexpected register")); #ifdef ASSERT - LP64_ONLY(if (UseCompressedOops) verify_heapbase("call_VM_base");) + // TraceBytecodes does not use r12 but saves it over the call, so don't verify + // r12 is the heapbase. + LP64_ONLY(if (UseCompressedOops && !TraceBytecodes) verify_heapbase("call_VM_base");) #endif // ASSERT assert(java_thread != oop_result , "cannot use the same register for java_thread & oop_result");