8187078: -XX:+VerifyOops finds numerous problems when running JPRT

Thu, 27 Feb 2020 05:40:59 +0000

author
shade
date
Thu, 27 Feb 2020 05:40:59 +0000
changeset 9842
4df47a343601
parent 9841
2e636385f137
child 9843
a6f289d66efe

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  

mercurial