7122939: TraceBytecodes broken with UseCompressedOops

Disable verify_heapbase on sparc if TraceBytecodes because the latter uses r12 as a temp register

Reviewed-by: coleenp, phh
This commit is contained in:
Volker Simonis 2011-12-19 15:34:09 -05:00 committed by Coleen Phillimore
parent 106a949bb5
commit f49894d78c

View File

@ -5968,7 +5968,9 @@ void MacroAssembler::call_VM_base(Register oop_result,
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");