dc6eed6a4e
We assert that loops always have effect phis because there must be a stack check in every loop. However, with generators, the stack check may end up outside of loop because the dispatch switch is built first (while the dispatch switch will also keep the loop backedge alive). The logic for creating effect phis is already in the code, so removing the dcheck should be fine. Bug: chromium:913232 Change-Id: Icf4df831e8b47350543c2b82a34bd3af98782a16 Reviewed-on: https://chromium-review.googlesource.com/c/1372065 Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#58160}
15 lines
315 B
JavaScript
15 lines
315 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: --allow-natives-syntax
|
|
|
|
function* E(b) {
|
|
while (true) {
|
|
for (yield* 0; b; yield* 0) {}
|
|
}
|
|
}
|
|
|
|
%OptimizeFunctionOnNextCall(E);
|
|
E();
|