Thu, 27 Feb 2020 05:40:59 +0000
8187078: -XX:+VerifyOops finds numerous problems when running JPRT
Reviewed-by: andrew
src/share/vm/c1/c1_LIRGenerator.cpp | file | annotate | diff | comparison | revisions | |
src/share/vm/runtime/java.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/c1/c1_LIRGenerator.cpp Mon Nov 27 03:11:38 2017 -0800 1.2 +++ b/src/share/vm/c1/c1_LIRGenerator.cpp Thu Feb 27 05:40:59 2020 +0000 1.3 @@ -2334,7 +2334,7 @@ 1.4 __ cmp(lir_cond_equal, src_reg, LIR_OprFact::oopConst(NULL)); 1.5 __ branch(lir_cond_equal, T_OBJECT, Lcont->label()); 1.6 } 1.7 - LIR_Opr src_klass = new_register(T_OBJECT); 1.8 + LIR_Opr src_klass = new_register(T_METADATA); 1.9 if (gen_type_check) { 1.10 // We have determined that offset == referent_offset && src != null. 1.11 // if (src->_klass->_reference_type == REF_NONE) -> continue 1.12 @@ -3299,7 +3299,7 @@ 1.13 void LIRGenerator::do_ProfileCall(ProfileCall* x) { 1.14 // Need recv in a temporary register so it interferes with the other temporaries 1.15 LIR_Opr recv = LIR_OprFact::illegalOpr; 1.16 - LIR_Opr mdo = new_register(T_OBJECT); 1.17 + LIR_Opr mdo = new_register(T_METADATA); 1.18 // tmp is used to hold the counters on SPARC 1.19 LIR_Opr tmp = new_pointer_register(); 1.20
2.1 --- a/src/share/vm/runtime/java.cpp Mon Nov 27 03:11:38 2017 -0800 2.2 +++ b/src/share/vm/runtime/java.cpp Thu Feb 27 05:40:59 2020 +0000 2.3 @@ -335,7 +335,7 @@ 2.4 klassVtable::print_statistics(); 2.5 klassItable::print_statistics(); 2.6 } 2.7 - if (VerifyOops) { 2.8 + if (VerifyOops && Verbose) { 2.9 tty->print_cr("+VerifyOops count: %d", StubRoutines::verify_oop_count()); 2.10 } 2.11