90e50cc2cc
Add effect input and output to String.p.char[Code]At/codePointAt. This is necessary to fix an hard to reproduce bug, a repro for which is included. However, the only way to get the repro included in this CL to fail is to run it with the patch of 873382: [turbofan] Speculate on bounds checks for String#char[Code]At but WITHOUT this patch. This fixes a scheduling problem triggered by 873382 that caused a bounds check to get scheduled after the associated access. Bug: v8:7326 Change-Id: I4b97c1726caac92ff8f74c23df2788f0ecfb1304 Reviewed-on: https://chromium-review.googlesource.com/881781 Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#50832}
19 lines
392 B
JavaScript
19 lines
392 B
JavaScript
// Copyright 2018 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: --opt --allow-natives-syntax
|
|
|
|
(() => {
|
|
function f(u) {
|
|
for (var j = 0; j < 20; ++j) {
|
|
print("" + u.codePointAt());
|
|
}
|
|
}
|
|
|
|
f("test");
|
|
f("foo");
|
|
%OptimizeFunctionOnNextCall(f);
|
|
f("");
|
|
})();
|