Skip to content

Commit 457c33e

Browse files
Erik Corrytargos
authored andcommitted
deps: V8: cherry-pick df20105ccf36
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>
1 parent 0bf45a8 commit 457c33e

30 files changed

+139
-136
lines changed

common.gypi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
# Reset this number to 0 on major V8 upgrades.
4040
# Increment by one for each non-official patch applied to deps/v8.
41-
'v8_embedder_string': '-node.33',
41+
'v8_embedder_string': '-node.34',
4242

4343
##### V8 defaults for Node.js #####
4444

deps/v8/src/regexp/arm/regexp-macro-assembler-arm.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ void RegExpMacroAssemblerARM::CheckCharacterLT(base::uc16 limit,
217217
BranchOrBacktrack(lt, on_less);
218218
}
219219

220-
void RegExpMacroAssemblerARM::CheckGreedyLoop(Label* on_equal) {
220+
void RegExpMacroAssemblerARM::CheckFixedLengthLoop(Label* on_equal) {
221221
__ ldr(r0, MemOperand(backtrack_stackpointer(), 0));
222222
__ cmp(current_input_offset(), r0);
223223
__ add(backtrack_stackpointer(), backtrack_stackpointer(),

deps/v8/src/regexp/arm/regexp-macro-assembler-arm.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerARM
2929
Label* on_equal) override;
3030
void CheckCharacterGT(base::uc16 limit, Label* on_greater) override;
3131
void CheckCharacterLT(base::uc16 limit, Label* on_less) override;
32-
// A "greedy loop" is a loop that is both greedy and with a simple
32+
// A "fixed length loop" is a loop that is both greedy and with a simple
3333
// body. It has a particularly simple implementation.
34-
void CheckGreedyLoop(Label* on_tos_equals_current_position) override;
34+
void CheckFixedLengthLoop(Label* on_tos_equals_current_position) override;
3535
void CheckNotAtStart(int cp_offset, Label* on_not_at_start) override;
3636
void CheckNotBackReference(int start_reg, bool read_backward,
3737
Label* on_no_match) override;

deps/v8/src/regexp/arm64/regexp-macro-assembler-arm64.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ void RegExpMacroAssemblerARM64::CheckCharacters(
283283
}
284284
}
285285

286-
void RegExpMacroAssemblerARM64::CheckGreedyLoop(Label* on_equal) {
286+
void RegExpMacroAssemblerARM64::CheckFixedLengthLoop(Label* on_equal) {
287287
__ Ldr(w10, MemOperand(backtrack_stackpointer()));
288288
__ Cmp(current_input_offset(), w10);
289289
__ Cset(x11, eq);

deps/v8/src/regexp/arm64/regexp-macro-assembler-arm64.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerARM64
3333
void CheckCharacterLT(base::uc16 limit, Label* on_less) override;
3434
void CheckCharacters(base::Vector<const base::uc16> str, int cp_offset,
3535
Label* on_failure, bool check_end_of_string);
36-
// A "greedy loop" is a loop that is both greedy and with a simple
36+
// A "fixed length loop" is a loop that is both greedy and with a simple
3737
// body. It has a particularly simple implementation.
38-
void CheckGreedyLoop(Label* on_tos_equals_current_position) override;
38+
void CheckFixedLengthLoop(Label* on_tos_equals_current_position) override;
3939
void CheckNotAtStart(int cp_offset, Label* on_not_at_start) override;
4040
void CheckNotBackReference(int start_reg, bool read_backward,
4141
Label* on_no_match) override;

deps/v8/src/regexp/ia32/regexp-macro-assembler-ia32.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ void RegExpMacroAssemblerIA32::CheckCharacterLT(base::uc16 limit,
196196
BranchOrBacktrack(less, on_less);
197197
}
198198

199-
void RegExpMacroAssemblerIA32::CheckGreedyLoop(Label* on_equal) {
199+
void RegExpMacroAssemblerIA32::CheckFixedLengthLoop(Label* on_equal) {
200200
Label fallthrough;
201201
__ cmp(edi, Operand(backtrack_stackpointer(), 0));
202202
__ j(not_equal, &fallthrough);

deps/v8/src/regexp/ia32/regexp-macro-assembler-ia32.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerIA32
3030
Label* on_equal) override;
3131
void CheckCharacterGT(base::uc16 limit, Label* on_greater) override;
3232
void CheckCharacterLT(base::uc16 limit, Label* on_less) override;
33-
// A "greedy loop" is a loop that is both greedy and with a simple
33+
// A "fixed length loop" is a loop that is both greedy and with a simple
3434
// body. It has a particularly simple implementation.
35-
void CheckGreedyLoop(Label* on_tos_equals_current_position) override;
35+
void CheckFixedLengthLoop(Label* on_tos_equals_current_position) override;
3636
void CheckNotAtStart(int cp_offset, Label* on_not_at_start) override;
3737
void CheckNotBackReference(int start_reg, bool read_backward,
3838
Label* on_no_match) override;

deps/v8/src/regexp/loong64/regexp-macro-assembler-loong64.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ void RegExpMacroAssemblerLOONG64::CheckCharacterLT(base::uc16 limit,
203203
BranchOrBacktrack(on_less, lt, current_character(), Operand(limit));
204204
}
205205

206-
void RegExpMacroAssemblerLOONG64::CheckGreedyLoop(Label* on_equal) {
206+
void RegExpMacroAssemblerLOONG64::CheckFixedLengthLoop(Label* on_equal) {
207207
Label backtrack_non_equal;
208208
__ Ld_w(a0, MemOperand(backtrack_stackpointer(), 0));
209209
__ Branch(&backtrack_non_equal, ne, current_input_offset(), Operand(a0));

deps/v8/src/regexp/loong64/regexp-macro-assembler-loong64.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerLOONG64
2828
Label* on_equal) override;
2929
void CheckCharacterGT(base::uc16 limit, Label* on_greater) override;
3030
void CheckCharacterLT(base::uc16 limit, Label* on_less) override;
31-
// A "greedy loop" is a loop that is both greedy and with a simple
31+
// A "fixed length loop" is a loop that is both greedy and with a simple
3232
// body. It has a particularly simple implementation.
33-
void CheckGreedyLoop(Label* on_tos_equals_current_position) override;
33+
void CheckFixedLengthLoop(Label* on_tos_equals_current_position) override;
3434
void CheckNotAtStart(int cp_offset, Label* on_not_at_start) override;
3535
void CheckNotBackReference(int start_reg, bool read_backward,
3636
Label* on_no_match) override;

deps/v8/src/regexp/mips64/regexp-macro-assembler-mips64.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ void RegExpMacroAssemblerMIPS::CheckCharacterLT(base::uc16 limit,
245245
BranchOrBacktrack(on_less, lt, current_character(), Operand(limit));
246246
}
247247

248-
void RegExpMacroAssemblerMIPS::CheckGreedyLoop(Label* on_equal) {
248+
void RegExpMacroAssemblerMIPS::CheckFixedLengthLoop(Label* on_equal) {
249249
Label backtrack_non_equal;
250250
__ Lw(a0, MemOperand(backtrack_stackpointer(), 0));
251251
__ Branch(&backtrack_non_equal, ne, current_input_offset(), Operand(a0));

0 commit comments

Comments
 (0)