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

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

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: repo-valhalla
    • Fix Version/s: repo-valhalla
    • Component/s: hotspot
    • Labels:

      Description


      @@ -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()));

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: