< 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 >