Skip to content
This repository was archived by the owner on Apr 22, 2023. It is now read-only.
This repository was archived by the owner on Apr 22, 2023. It is now read-only.

V8 Lateral upgrade - float V8 patch to address infinite loop #14411

@mhdawson

Description

@mhdawson

With the lateral upgrade to V8 discussed here: #9185

The following
node --harmony --use-strict -e 'for (let i = 0; i < 3; ++i) { if (i == 1) { continue; } }'

results in an infinite loop.

This is an instance of the problem reported in V8 Issue 3683 - https://code.google.com/p/v8/issues/detail?can=2&q=3683&colspec=ID%20Type%20Status%20Priority%20Owner%20Summary%20HW%20OS%20Area%20Stars&id=3683

The corresponding fix is: https://chromium.googlesource.com/v8/v8.git/+/b17eaaa5755e625493c5fe537f42b58838923c52

Cherry-picking that commit on top of 3.28.71.19 resolves the issue.

In V8 releases, the fix was rolled into 3.31.6:

commit 8b0d1187aaea32f767f0daf152434b3681c192ca
Author: v8-autoroll [email protected]
Date: Fri Nov 14 18:01:38 2014 -0800

Version 3.31.6 (based on 4a4158f3632ba2b18f6525a132891d480ea40bad)

Fix desugaring of let bindings in for loops to handle continue properly (issue 3683).

Performance and stability improvements on all platforms.

Cr-Commit-Position: refs/heads/candidates@{#25280}

Opening this issue to track floating this change once the lateral upgrade is in.

Along with cherry-picking the commit across we also need to add a test.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions