< prev index next >
src/hotspot/cpu/ppc/macroAssembler_ppc.cpp
Print this page
rev 56646 : 8231757: [ppc] Fix VerifyOops. Errors show since 8231058.
Summary: Also make the checks print the wrong value and where a failure occurred.
*** 3118,3128 ****
ld(oop_result, in_bytes(JavaThread::vm_result_offset()), R16_thread);
li(R0, 0);
std(R0, in_bytes(JavaThread::vm_result_offset()), R16_thread);
! verify_oop(oop_result);
}
void MacroAssembler::get_vm_result_2(Register metadata_result) {
// Read:
// R16_thread
--- 3118,3128 ----
ld(oop_result, in_bytes(JavaThread::vm_result_offset()), R16_thread);
li(R0, 0);
std(R0, in_bytes(JavaThread::vm_result_offset()), R16_thread);
! verify_oop(oop_result, FILE_AND_LINE);
}
void MacroAssembler::get_vm_result_2(Register metadata_result) {
// Read:
// R16_thread
*** 4915,4924 ****
--- 4915,4931 ----
if (VerifyThread) {
unimplemented("'VerifyThread' currently not implemented on PPC");
}
}
+ void MacroAssembler::verify_coop(Register coop, const char* msg) {
+ if (!VerifyOops) { return; }
+ if (UseCompressedOops) { decode_heap_oop(coop); }
+ verify_oop(coop, msg);
+ if (UseCompressedOops) { encode_heap_oop(coop, coop); }
+ }
+
// READ: oop. KILL: R0. Volatile floats perhaps.
void MacroAssembler::verify_oop(Register oop, const char* msg) {
if (!VerifyOops) {
return;
}
< prev index next >