Remove invalid slow assert in arm64's SmiUntag
The assertion is invalid if dst aliases src, which is the case in InterpreterOnStackReplacement: __ SmiUntag(x1, FieldMemOperand(x1, FixedArray::OffsetOfElementAt( DeoptimizationData::kOsrPcOffsetIndex))); This didn't fail so far because slow asserts in snapshotted code are never executed. Bug: v8:7853 Change-Id: I5b2dad780da94b5821aa9a624a3fcb9d083b3aa3 Reviewed-on: https://chromium-review.googlesource.com/1109503 Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53905}
This commit is contained in:
parent
4735bc7e6b
commit
9498d609a0
@ -1054,10 +1054,6 @@ void TurboAssembler::SmiUntag(Register dst, const MemOperand& src) {
|
||||
DCHECK(dst.Is64Bits());
|
||||
if (SmiValuesAre32Bits()) {
|
||||
if (src.IsImmediateOffset() && src.shift_amount() == 0) {
|
||||
if (FLAG_enable_slow_asserts) {
|
||||
Ldr(dst, src);
|
||||
AssertSmi(dst);
|
||||
}
|
||||
// Load value directly from the upper half-word.
|
||||
// Assumes that Smis are shifted by 32 bits and little endianness.
|
||||
DCHECK_EQ(kSmiShift, 32);
|
||||
|
Loading…
Reference in New Issue
Block a user