The proper fix would be to make TruncatingUseInfoFromRepresentation respect tagged signed use representation, but requires extra work to refine typing for all values that are stored into Smi fields. Bug: chromium:791245 Change-Id: I83965bcc18a836d2c758a6a8b1477a4aa2c6133d Reviewed-on: https://chromium-review.googlesource.com/808866 Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49870}
18 lines
432 B
JavaScript
18 lines
432 B
JavaScript
// Copyright 2017 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: --expose-gc
|
|
|
|
var a, b; // Global variables that will end up with number map.
|
|
|
|
for (var i = 0; i < 100000; i++) {
|
|
b = 1;
|
|
a = i + -0; // -0 is a number, so this will make "a" a heap object.
|
|
b = a;
|
|
}
|
|
|
|
assertTrue(a === b);
|
|
gc();
|
|
assertTrue(a === b);
|