523be745d2
This adds missing support when converting a Word32 value (either in Signed32 or Unsigned32 range) to Word64 representation, for which the type also includes MinusZero. This conversion is fine as long as the difference between 0 and -0 is not observable (in other words, as long as the truncation identifies zeros). Bug: chromium:971782, chromium:225811, v8:4153, v8:7881, v8:8171, v8:8383 Change-Id: I9d350a25f57b1342eb7fd1279d55a8610bdaf7cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664062 Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#62235}
19 lines
430 B
JavaScript
19 lines
430 B
JavaScript
// Copyright 2019 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Flags: --allow-natives-syntax
|
|
|
|
function foo(dv) {
|
|
for (let i = -1; i < 1; ++i) {
|
|
dv.setUint16(i % 1);
|
|
}
|
|
}
|
|
|
|
const dv = new DataView(new ArrayBuffer(2));
|
|
%PrepareFunctionForOptimization(foo);
|
|
foo(dv);
|
|
foo(dv);
|
|
%OptimizeFunctionOnNextCall(foo);
|
|
foo(dv);
|