Attention is currently required from: Martin Kustermann.
Ryan Macnak would like Martin Kustermann to review this 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.
Attention is currently required from: Martin Kustermann.
1 comment:
Patchset:
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.
Attention is currently required from: Martin Kustermann.
go/dart-cbuild result: SUCCESS
Details: https://goto.google.com/dart-cbuild/find/888347ca51a25bd9910e1668bbf5ba8c6c88ebba
Attention is currently required from: Ryan Macnak.
Patch set 1:Code-Review +1
Attention is currently required from: Ryan Macnak.
Ryan Macnak uploaded patch set #2 to this 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.
Attention is currently required from: Ryan Macnak.
Patch set 3:Commit-Queue +2
commi...@chromium.org submitted this change.
1 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
[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.
go/dart-cbuild result: SUCCESS
Details: https://goto.google.com/dart-cbuild/find/00f20a07323664dfeb9f3e109f2f63883c1be3ac