Change in dart/sdk[master]: [vm, compiler] Fix load width for X64's EmitLoadInt32.

3 views
Skip to first unread message

Ryan Macnak (Gerrit)

unread,
Jun 3, 2021, 5:09:55 PM6/3/21
to Martin Kustermann, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org

Attention is currently required from: Martin Kustermann.

Ryan Macnak would like Martin Kustermann to review this change.

View Change

[vm, compiler] Fix load width for X64's EmitLoadInt32.

Broken since 94362f1af0f21455e723d1c53bc3953c830ccb6f.

Change-Id: I85a4874becb6bade92279715543eddeeb7a3f0f1
---
M runtime/vm/compiler/backend/il_x64.cc
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/runtime/vm/compiler/backend/il_x64.cc b/runtime/vm/compiler/backend/il_x64.cc
index da71487..53fc918 100644
--- a/runtime/vm/compiler/backend/il_x64.cc
+++ b/runtime/vm/compiler/backend/il_x64.cc
@@ -4212,14 +4212,14 @@
ASSERT(value == result);
__ SmiUntag(value);
__ j(NOT_CARRY, &done, compiler::Assembler::kNearJump);
- __ movsxw(result, compiler::Address(value, TIMES_2, Mint::value_offset()));
+ __ movsxd(result, compiler::Address(value, TIMES_2, Mint::value_offset()));
#else
ASSERT(value != result);
// Cannot speculatively untag with value == result because it erases the
// upper bits needed to dereference when it is a Mint.
__ SmiUntagAndSignExtend(result, value);
__ j(NOT_CARRY, &done, compiler::Assembler::kNearJump);
- __ movsxw(result, compiler::FieldAddress(value, Mint::value_offset()));
+ __ movsxd(result, compiler::FieldAddress(value, Mint::value_offset()));
#endif
__ Bind(&done);
}

To view, visit change 202311. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: sdk
Gerrit-Branch: master
Gerrit-Change-Id: I85a4874becb6bade92279715543eddeeb7a3f0f1
Gerrit-Change-Number: 202311
Gerrit-PatchSet: 1
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Attention: Martin Kustermann <kuste...@google.com>
Gerrit-MessageType: newchange

Ryan Macnak (Gerrit)

unread,
Jun 3, 2021, 5:09:56 PM6/3/21
to dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org, Martin Kustermann, commi...@chromium.org

Attention is currently required from: Martin Kustermann.

View Change

1 comment:

  • Patchset:

    • Patch Set #1:

      Is this even reachable without compressed Smis? I don't think ever allow Mints to contain values representable as Smi.

      Noticed a bad movsxw else and was looking through all the other uses.

To view, visit change 202311. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: sdk
Gerrit-Branch: master
Gerrit-Change-Id: I85a4874becb6bade92279715543eddeeb7a3f0f1
Gerrit-Change-Number: 202311
Gerrit-PatchSet: 1
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Attention: Martin Kustermann <kuste...@google.com>
Gerrit-Comment-Date: Thu, 03 Jun 2021 21:09:53 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment

Dart CI (Gerrit)

unread,
Jun 3, 2021, 5:41:09 PM6/3/21
to Ryan Macnak, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org, Martin Kustermann, commi...@chromium.org

Attention is currently required from: Martin Kustermann.

go/dart-cbuild result: SUCCESS

Details: https://goto.google.com/dart-cbuild/find/888347ca51a25bd9910e1668bbf5ba8c6c88ebba

View Change

    To view, visit change 202311. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: sdk
    Gerrit-Branch: master
    Gerrit-Change-Id: I85a4874becb6bade92279715543eddeeb7a3f0f1
    Gerrit-Change-Number: 202311
    Gerrit-PatchSet: 1
    Gerrit-Owner: Ryan Macnak <rma...@google.com>
    Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
    Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
    Gerrit-Attention: Martin Kustermann <kuste...@google.com>
    Gerrit-Comment-Date: Thu, 03 Jun 2021 21:41:06 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: No
    Gerrit-MessageType: comment

    Martin Kustermann (Gerrit)

    unread,
    Jun 4, 2021, 6:26:52 AM6/4/21
    to Ryan Macnak, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org, Dart CI, commi...@chromium.org

    Attention is currently required from: Ryan Macnak.

    Patch set 1:Code-Review +1

    View Change

      To view, visit change 202311. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: sdk
      Gerrit-Branch: master
      Gerrit-Change-Id: I85a4874becb6bade92279715543eddeeb7a3f0f1
      Gerrit-Change-Number: 202311
      Gerrit-PatchSet: 1
      Gerrit-Owner: Ryan Macnak <rma...@google.com>
      Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
      Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
      Gerrit-Attention: Ryan Macnak <rma...@google.com>
      Gerrit-Comment-Date: Fri, 04 Jun 2021 10:26:47 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      Gerrit-MessageType: comment

      Ryan Macnak (Gerrit)

      unread,
      Sep 2, 2021, 6:10:30 PM9/2/21
      to dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org

      Attention is currently required from: Ryan Macnak.

      Ryan Macnak uploaded patch set #2 to this change.

      View Change

      [vm, compiler] Fix load width for X64's EmitLoadInt32.

      Broken since 94362f1af0f21455e723d1c53bc3953c830ccb6f.

      TEST=none

      Change-Id: I85a4874becb6bade92279715543eddeeb7a3f0f1
      ---
      M runtime/vm/compiler/backend/il_x64.cc
      1 file changed, 2 insertions(+), 2 deletions(-)

      To view, visit change 202311. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: sdk
      Gerrit-Branch: master
      Gerrit-Change-Id: I85a4874becb6bade92279715543eddeeb7a3f0f1
      Gerrit-Change-Number: 202311
      Gerrit-PatchSet: 2
      Gerrit-Owner: Ryan Macnak <rma...@google.com>
      Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
      Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
      Gerrit-Attention: Ryan Macnak <rma...@google.com>
      Gerrit-MessageType: newpatchset

      Ryan Macnak (Gerrit)

      unread,
      Sep 2, 2021, 6:10:45 PM9/2/21
      to dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org, Martin Kustermann, Dart CI, commi...@chromium.org

      Attention is currently required from: Ryan Macnak.

      Patch set 3:Commit-Queue +2

      View Change

        To view, visit change 202311. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: sdk
        Gerrit-Branch: master
        Gerrit-Change-Id: I85a4874becb6bade92279715543eddeeb7a3f0f1
        Gerrit-Change-Number: 202311
        Gerrit-PatchSet: 3
        Gerrit-Owner: Ryan Macnak <rma...@google.com>
        Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
        Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
        Gerrit-Attention: Ryan Macnak <rma...@google.com>
        Gerrit-Comment-Date: Thu, 02 Sep 2021 22:10:41 +0000

        commit-bot@chromium.org (Gerrit)

        unread,
        Sep 2, 2021, 7:09:52 PM9/2/21
        to Ryan Macnak, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org, Martin Kustermann, Dart CI

        commi...@chromium.org submitted this change.

        View Change



        1 is the latest approved patch-set.
        No files were changed between the latest approved patch-set and the submitted one.

        Approvals: Martin Kustermann: Looks good to me, approved Ryan Macnak: Commit
        [vm, compiler] Fix load width for X64's EmitLoadInt32.

        Broken since 94362f1af0f21455e723d1c53bc3953c830ccb6f.

        TEST=none
        Change-Id: I85a4874becb6bade92279715543eddeeb7a3f0f1
        Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/202311
        Commit-Queue: Ryan Macnak <rma...@google.com>
        Reviewed-by: Martin Kustermann <kuste...@google.com>

        ---
        M runtime/vm/compiler/backend/il_x64.cc
        1 file changed, 2 insertions(+), 2 deletions(-)

        
        
        diff --git a/runtime/vm/compiler/backend/il_x64.cc b/runtime/vm/compiler/backend/il_x64.cc
        index 704beaa..da9b346 100644
        --- a/runtime/vm/compiler/backend/il_x64.cc
        +++ b/runtime/vm/compiler/backend/il_x64.cc
        @@ -4198,14 +4198,14 @@

        ASSERT(value == result);
        __ SmiUntag(value);
        __ j(NOT_CARRY, &done, compiler::Assembler::kNearJump);
        - __ movsxw(result, compiler::Address(value, TIMES_2, Mint::value_offset()));
        + __ movsxd(result, compiler::Address(value, TIMES_2, Mint::value_offset()));
        #else
        ASSERT(value != result);
        // Cannot speculatively untag with value == result because it erases the
        // upper bits needed to dereference when it is a Mint.
        __ SmiUntagAndSignExtend(result, value);
        __ j(NOT_CARRY, &done, compiler::Assembler::kNearJump);
        - __ movsxw(result, compiler::FieldAddress(value, Mint::value_offset()));
        + __ movsxd(result, compiler::FieldAddress(value, Mint::value_offset()));
        #endif
        __ Bind(&done);
        }

        To view, visit change 202311. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: sdk
        Gerrit-Branch: master
        Gerrit-Change-Id: I85a4874becb6bade92279715543eddeeb7a3f0f1
        Gerrit-Change-Number: 202311
        Gerrit-PatchSet: 4
        Gerrit-Owner: Ryan Macnak <rma...@google.com>
        Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
        Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
        Gerrit-MessageType: merged

        Dart CI (Gerrit)

        unread,
        Sep 2, 2021, 7:38:22 PM9/2/21
        to commi...@chromium.org, Ryan Macnak, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org, Martin Kustermann

        go/dart-cbuild result: SUCCESS

        Details: https://goto.google.com/dart-cbuild/find/00f20a07323664dfeb9f3e109f2f63883c1be3ac

        View Change

          To view, visit change 202311. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: sdk
          Gerrit-Branch: master
          Gerrit-Change-Id: I85a4874becb6bade92279715543eddeeb7a3f0f1
          Gerrit-Change-Number: 202311
          Gerrit-PatchSet: 4
          Gerrit-Owner: Ryan Macnak <rma...@google.com>
          Gerrit-Reviewer: Martin Kustermann <kuste...@google.com>
          Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
          Gerrit-Comment-Date: Thu, 02 Sep 2021 23:38:18 +0000
          Reply all
          Reply to author
          Forward
          0 new messages