Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8253161

[lworld] C1's substitutability check should use andptr instead of andl for mark word

XMLWordPrintable


      @@ -2054,8 +2049,8 @@ void LIR_Assembler::emit_opSubstitutabilityCheck(LIR_OpSubstitutabilityCheck* op
             !left_klass->is_inlinetype() || !right_klass->is_inlinetype()) {
           Register tmp1 = op->tmp1()->as_register();
           __ movptr(tmp1, (intptr_t)markWord::always_locked_pattern);
      - __ andl(tmp1, Address(left, oopDesc::mark_offset_in_bytes()));
      - __ andl(tmp1, Address(right, oopDesc::mark_offset_in_bytes()));
      + __ andptr(tmp1, Address(left, oopDesc::mark_offset_in_bytes()));
      + __ andptr(tmp1, Address(right, oopDesc::mark_offset_in_bytes()));

            thartmann Tobias Hartmann
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: