< prev index next >
src/hotspot/cpu/s390/stubGenerator_s390.cpp
Print this page
rev 57534 : 8236555: [s390] Fix VerifyOops
Reviewed-by:
*** 665,674 ****
--- 665,685 ----
__ z_br(Z_R14);
return start;
}
+ #if !defined(PRODUCT)
+ // Wrapper which calls oopDesc::is_oop_or_null()
+ // Only called by MacroAssembler::verify_oop
+ static void verify_oop_helper(const char* message, oopDesc* o) {
+ if (!oopDesc::is_oop_or_null(o)) {
+ fatal("%s. oop: " PTR_FORMAT, message, p2i(o));
+ }
+ ++ StubRoutines::_verify_oop_count;
+ }
+ #endif
+
// Return address of code to be called from code generated by
// MacroAssembler::verify_oop.
//
// Don't generate, rather use C++ code.
address generate_verify_oop_subroutine() {
*** 677,686 ****
--- 688,702 ----
// about the dynamic code generation, but the stub without
// code (code_size == 0) confuses opjitconv
// StubCodeMark mark(this, "StubRoutines", "verify_oop_stub");
address start = 0;
+
+ #if !defined(PRODUCT)
+ start = CAST_FROM_FN_PTR(address, verify_oop_helper);
+ #endif
+
return start;
}
// This is to test that the count register contains a positive int value.
// Required because C2 does not respect int to long conversion for stub calls.
< prev index next >