-
-
Notifications
You must be signed in to change notification settings - Fork 34.2k
[v24.x] deps: V8: cherry-pick 72b0e27bd936 and associated CLs #60732
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Collaborator
|
Review requested:
|
Original commit message:
[regexp] Rename "greedy loops" to "fixed length".
Some greedy quantifiers are code-generated in a more efficient
way, but far from all greedy quantifiers are generated
in this way. This change renames the specially optimized loops
from "greedy loops" to "fixed length loops", which should be
clearer.
Going forward, we can probably reuse much of the code for
fixed length loops when code-generating simple possessive
quantifiers.
Change-Id: I13b9d14beac430e2d05d0feaf887fc0566bc4103
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6508846
Reviewed-by: Patrick Thier <pthier@chromium.org>
Commit-Queue: Erik Corry <erikcorry@chromium.org>
Cr-Commit-Position: refs/heads/main@{#100062}
Refs: v8/v8@df20105
Original commit message:
[regexp] Remove DeferredAction class.
We can just chain up the traces and use the regular
ActionNodes that we already have to represent the
deferred actions. Also simplifies the ActionNodes
a little. No functional change intended.
Reduce the size of the Trace from 128->120 bytes.
This is a stack allocated struct so to avoid stack
overflows after adding the next_ field I am reducing
it back down to 120 bytes by rearranging and shrinking
fields.
Change-Id: I6dca9946e035e9b22798e160b8fadaeca61f4955
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6512931
Reviewed-by: Patrick Thier <pthier@chromium.org>
Commit-Queue: Erik Corry <erikcorry@chromium.org>
Cr-Commit-Position: refs/heads/main@{#100092}
Refs: v8/v8@0dd2318
Original commit message:
[regexp] Clean up state for fixed length loop.
Also reduces the on-stack Trace size by one word,
adds some comments, renames some variables for
more clarity.
Change-Id: I9ec105cd9cebbaba65e9801c47dd0574cc81f967
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6512896
Reviewed-by: Patrick Thier <pthier@chromium.org>
Commit-Queue: Erik Corry <erikcorry@chromium.org>
Cr-Commit-Position: refs/heads/main@{#100117}
Refs: v8/v8@6bb32bd
Original commit message:
[regexp] Fix modifiers for ChoiceNodes
Each alternative might modify flags when their sub-graph is emitted.
We need to restore flags to the value at the beginning of a ChoiceNode
for each alternative.
Drive-by: Move regexp-modifiers test out of harmony/
Fixed: 447583670
Change-Id: I9f41e51f34df7659461da0a4fcd28b7e157f52e1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6995181
Reviewed-by: Jakob Linke <jgruber@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#102838}
Refs: v8/v8@72b0e27
Fixes: nodejs#60030
Member
|
Rebased. |
targos
approved these changes
Dec 6, 2025
Collaborator
Collaborator
Collaborator
Collaborator
Collaborator
Collaborator
RafaelGSS
approved these changes
Dec 7, 2025
Member
RafaelGSS
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RSLGTM
Collaborator
targos
pushed a commit
that referenced
this pull request
Dec 7, 2025
Original commit message:
[regexp] Rename "greedy loops" to "fixed length".
Some greedy quantifiers are code-generated in a more efficient
way, but far from all greedy quantifiers are generated
in this way. This change renames the specially optimized loops
from "greedy loops" to "fixed length loops", which should be
clearer.
Going forward, we can probably reuse much of the code for
fixed length loops when code-generating simple possessive
quantifiers.
Change-Id: I13b9d14beac430e2d05d0feaf887fc0566bc4103
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6508846
Reviewed-by: Patrick Thier <pthier@chromium.org>
Commit-Queue: Erik Corry <erikcorry@chromium.org>
Cr-Commit-Position: refs/heads/main@{#100062}
Refs: v8/v8@df20105
PR-URL: #60732
Fixes: #60030
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
targos
pushed a commit
that referenced
this pull request
Dec 7, 2025
Original commit message:
[regexp] Remove DeferredAction class.
We can just chain up the traces and use the regular
ActionNodes that we already have to represent the
deferred actions. Also simplifies the ActionNodes
a little. No functional change intended.
Reduce the size of the Trace from 128->120 bytes.
This is a stack allocated struct so to avoid stack
overflows after adding the next_ field I am reducing
it back down to 120 bytes by rearranging and shrinking
fields.
Change-Id: I6dca9946e035e9b22798e160b8fadaeca61f4955
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6512931
Reviewed-by: Patrick Thier <pthier@chromium.org>
Commit-Queue: Erik Corry <erikcorry@chromium.org>
Cr-Commit-Position: refs/heads/main@{#100092}
Refs: v8/v8@0dd2318
PR-URL: #60732
Fixes: #60030
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
targos
pushed a commit
that referenced
this pull request
Dec 7, 2025
Original commit message:
[regexp] Clean up state for fixed length loop.
Also reduces the on-stack Trace size by one word,
adds some comments, renames some variables for
more clarity.
Change-Id: I9ec105cd9cebbaba65e9801c47dd0574cc81f967
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6512896
Reviewed-by: Patrick Thier <pthier@chromium.org>
Commit-Queue: Erik Corry <erikcorry@chromium.org>
Cr-Commit-Position: refs/heads/main@{#100117}
Refs: v8/v8@6bb32bd
PR-URL: #60732
Fixes: #60030
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
targos
pushed a commit
that referenced
this pull request
Dec 7, 2025
Original commit message:
[regexp] Fix modifiers for ChoiceNodes
Each alternative might modify flags when their sub-graph is emitted.
We need to restore flags to the value at the beginning of a ChoiceNode
for each alternative.
Drive-by: Move regexp-modifiers test out of harmony/
Fixed: 447583670
Change-Id: I9f41e51f34df7659461da0a4fcd28b7e157f52e1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6995181
Reviewed-by: Jakob Linke <jgruber@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#102838}
Refs: v8/v8@72b0e27
Fixes: #60030
PR-URL: #60732
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Member
|
Landed in 0bf45a8...c361a62 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #60030
The ChoiceNode changes are built on a couple of changes to graph handling in 13.8 that need to come along as well; these are side-effect-free from an end-user perspective.