# HG changeset patch # User shade # Date 1582782059 0 # Node ID 4df47a343601ceb03cffc9ffacd7384934d44954 # Parent 2e636385f1374c7dd21d8f64e3f422f14146f984 8187078: -XX:+VerifyOops finds numerous problems when running JPRT Reviewed-by: andrew diff -r 2e636385f137 -r 4df47a343601 src/share/vm/c1/c1_LIRGenerator.cpp --- a/src/share/vm/c1/c1_LIRGenerator.cpp Mon Nov 27 03:11:38 2017 -0800 +++ b/src/share/vm/c1/c1_LIRGenerator.cpp Thu Feb 27 05:40:59 2020 +0000 @@ -2334,7 +2334,7 @@ __ cmp(lir_cond_equal, src_reg, LIR_OprFact::oopConst(NULL)); __ branch(lir_cond_equal, T_OBJECT, Lcont->label()); } - LIR_Opr src_klass = new_register(T_OBJECT); + LIR_Opr src_klass = new_register(T_METADATA); if (gen_type_check) { // We have determined that offset == referent_offset && src != null. // if (src->_klass->_reference_type == REF_NONE) -> continue @@ -3299,7 +3299,7 @@ void LIRGenerator::do_ProfileCall(ProfileCall* x) { // Need recv in a temporary register so it interferes with the other temporaries LIR_Opr recv = LIR_OprFact::illegalOpr; - LIR_Opr mdo = new_register(T_OBJECT); + LIR_Opr mdo = new_register(T_METADATA); // tmp is used to hold the counters on SPARC LIR_Opr tmp = new_pointer_register(); diff -r 2e636385f137 -r 4df47a343601 src/share/vm/runtime/java.cpp --- a/src/share/vm/runtime/java.cpp Mon Nov 27 03:11:38 2017 -0800 +++ b/src/share/vm/runtime/java.cpp Thu Feb 27 05:40:59 2020 +0000 @@ -335,7 +335,7 @@ klassVtable::print_statistics(); klassItable::print_statistics(); } - if (VerifyOops) { + if (VerifyOops && Verbose) { tty->print_cr("+VerifyOops count: %d", StubRoutines::verify_oop_count()); }