[regexp] Improve QuickCheck for CharacterRanges [v8/v8 : main]

0 views
Skip to first unread message

Patrick Thier (Gerrit)

unread,
Jun 3, 2026, 10:37:15 AM (7 days ago) Jun 3
to Jakob Linke, chrom...@appspot.gserviceaccount.com, v8-s...@luci-project-accounts.iam.gserviceaccount.com, jgrube...@chromium.org, pthier...@chromium.org, v8-re...@googlegroups.com
Attention needed from Jakob Linke

Patrick Thier added 1 comment

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Patrick Thier . resolved

PTAL

Open in Gerrit

Related details

Attention is currently required from:
  • Jakob Linke
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: Ibab0f0a08a1bb7ce25ca8db9f5eeabdb3f6823b4
Gerrit-Change-Number: 7895589
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Thier <pth...@chromium.org>
Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
Gerrit-Reviewer: Patrick Thier <pth...@chromium.org>
Gerrit-Attention: Jakob Linke <jgr...@chromium.org>
Gerrit-Comment-Date: Wed, 03 Jun 2026 14:37:10 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

chromeperf@appspot.gserviceaccount.com (Gerrit)

unread,
Jun 3, 2026, 11:02:53 AM (7 days ago) Jun 3
to Patrick Thier, Jakob Linke, v8-s...@luci-project-accounts.iam.gserviceaccount.com, jgrube...@chromium.org, pthier...@chromium.org, v8-re...@googlegroups.com
Attention needed from Jakob Linke and Patrick Thier

Message from chrom...@appspot.gserviceaccount.com

📍 Job mac-m4-pro-perf/jetstream3.crossbench complete.

See results at: https://pinpoint-dot-chromeperf.appspot.com/job/12135563490000

Open in Gerrit

Related details

Attention is currently required from:
  • Jakob Linke
  • Patrick Thier
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: Ibab0f0a08a1bb7ce25ca8db9f5eeabdb3f6823b4
Gerrit-Change-Number: 7895589
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Thier <pth...@chromium.org>
Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
Gerrit-Reviewer: Patrick Thier <pth...@chromium.org>
Gerrit-Attention: Patrick Thier <pth...@chromium.org>
Gerrit-Attention: Jakob Linke <jgr...@chromium.org>
Gerrit-Comment-Date: Wed, 03 Jun 2026 15:02:35 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jakob Linke (Gerrit)

unread,
Jun 8, 2026, 4:29:06 AM (2 days ago) Jun 8
to Patrick Thier, chrom...@appspot.gserviceaccount.com, v8-s...@luci-project-accounts.iam.gserviceaccount.com, jgrube...@chromium.org, pthier...@chromium.org, v8-re...@googlegroups.com
Attention needed from Patrick Thier

Jakob Linke voted and added 2 comments

Votes added by Jakob Linke

Code-Review+1

2 comments

File src/regexp/regexp-compiler.cc
Line 1827, Patchset 1 (Latest): CharacterRange::Canonicalize(ranges);
Jakob Linke . unresolved

Worth a comment that this is needed for correctness of the check below.

Line 1876, Patchset 1 (Latest): // of combinations allowed by the ignored bits (2^zero_bits).
Jakob Linke . unresolved

Please add some minimal test coverage for cases that newly fall into determines_perfectly.

Open in Gerrit

Related details

Attention is currently required from:
  • Patrick Thier
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: Ibab0f0a08a1bb7ce25ca8db9f5eeabdb3f6823b4
Gerrit-Change-Number: 7895589
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Thier <pth...@chromium.org>
Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
Gerrit-Reviewer: Patrick Thier <pth...@chromium.org>
Gerrit-Attention: Patrick Thier <pth...@chromium.org>
Gerrit-Comment-Date: Mon, 08 Jun 2026 08:29:02 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Patrick Thier (Gerrit)

unread,
Jun 9, 2026, 7:13:17 AM (22 hours ago) Jun 9
to Jakob Linke, chrom...@appspot.gserviceaccount.com, v8-s...@luci-project-accounts.iam.gserviceaccount.com, jgrube...@chromium.org, pthier...@chromium.org, v8-re...@googlegroups.com
Attention needed from Jakob Linke

Patrick Thier voted and added 3 comments

Votes added by Patrick Thier

Auto-Submit+1

3 comments

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Patrick Thier . resolved

PTAL again.

File src/regexp/regexp-compiler.cc
Line 1827, Patchset 1: CharacterRange::Canonicalize(ranges);
Jakob Linke . resolved

Worth a comment that this is needed for correctness of the check below.

Patrick Thier

Done

Line 1876, Patchset 1: // of combinations allowed by the ignored bits (2^zero_bits).
Jakob Linke . resolved

Please add some minimal test coverage for cases that newly fall into determines_perfectly.

Patrick Thier

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Jakob Linke
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: Ibab0f0a08a1bb7ce25ca8db9f5eeabdb3f6823b4
Gerrit-Change-Number: 7895589
Gerrit-PatchSet: 2
Gerrit-Attention: Jakob Linke <jgr...@chromium.org>
Gerrit-Comment-Date: Tue, 09 Jun 2026 11:13:13 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Jakob Linke <jgr...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Jakob Linke (Gerrit)

unread,
Jun 9, 2026, 7:18:45 AM (22 hours ago) Jun 9
to Patrick Thier, chrom...@appspot.gserviceaccount.com, v8-s...@luci-project-accounts.iam.gserviceaccount.com, jgrube...@chromium.org, pthier...@chromium.org, v8-re...@googlegroups.com
Attention needed from Patrick Thier

Jakob Linke voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Patrick Thier
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: Ibab0f0a08a1bb7ce25ca8db9f5eeabdb3f6823b4
Gerrit-Change-Number: 7895589
Gerrit-PatchSet: 2
Gerrit-Owner: Patrick Thier <pth...@chromium.org>
Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
Gerrit-Reviewer: Patrick Thier <pth...@chromium.org>
Gerrit-Attention: Patrick Thier <pth...@chromium.org>
Gerrit-Comment-Date: Tue, 09 Jun 2026 11:18:40 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Jakob Linke (Gerrit)

unread,
Jun 9, 2026, 8:08:58 AM (21 hours ago) Jun 9
to Patrick Thier, chrom...@appspot.gserviceaccount.com, v8-s...@luci-project-accounts.iam.gserviceaccount.com, jgrube...@chromium.org, pthier...@chromium.org, v8-re...@googlegroups.com
Attention needed from Patrick Thier

Jakob Linke voted

Code-Review+1
Commit-Queue+2
Open in Gerrit

Related details

Attention is currently required from:
  • Patrick Thier
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: Ibab0f0a08a1bb7ce25ca8db9f5eeabdb3f6823b4
Gerrit-Change-Number: 7895589
Gerrit-PatchSet: 5
Gerrit-Comment-Date: Tue, 09 Jun 2026 12:08:54 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Patrick Thier (Gerrit)

unread,
Jun 9, 2026, 8:48:11 AM (21 hours ago) Jun 9
to Jakob Linke, chrom...@appspot.gserviceaccount.com, v8-s...@luci-project-accounts.iam.gserviceaccount.com, jgrube...@chromium.org, pthier...@chromium.org, v8-re...@googlegroups.com

Patrick Thier voted

Auto-Submit+1
Commit-Queue+0
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: Ibab0f0a08a1bb7ce25ca8db9f5eeabdb3f6823b4
Gerrit-Change-Number: 7895589
Gerrit-PatchSet: 5
Gerrit-Owner: Patrick Thier <pth...@chromium.org>
Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
Gerrit-Reviewer: Patrick Thier <pth...@chromium.org>
Gerrit-Comment-Date: Tue, 09 Jun 2026 12:48:06 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Patrick Thier (Gerrit)

unread,
Jun 9, 2026, 10:51:02 AM (19 hours ago) Jun 9
to Jakob Linke, chrom...@appspot.gserviceaccount.com, v8-s...@luci-project-accounts.iam.gserviceaccount.com, jgrube...@chromium.org, pthier...@chromium.org, v8-re...@googlegroups.com
Attention needed from Jakob Linke

Patrick Thier voted Commit-Queue+2

Commit-Queue+2
Open in Gerrit

Related details

Attention is currently required from:
  • Jakob Linke
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: Ibab0f0a08a1bb7ce25ca8db9f5eeabdb3f6823b4
Gerrit-Change-Number: 7895589
Gerrit-PatchSet: 6
Gerrit-Attention: Jakob Linke <jgr...@chromium.org>
Gerrit-Comment-Date: Tue, 09 Jun 2026 14:50:58 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

v8-scoped@luci-project-accounts.iam.gserviceaccount.com (Gerrit)

unread,
Jun 9, 2026, 10:59:15 AM (18 hours ago) Jun 9
to Patrick Thier, Jakob Linke, chrom...@appspot.gserviceaccount.com, jgrube...@chromium.org, pthier...@chromium.org, v8-re...@googlegroups.com

v8-s...@luci-project-accounts.iam.gserviceaccount.com submitted the change with unreviewed changes

Unreviewed changes

5 is the latest approved patch-set.
The change was submitted with unreviewed changes in the following files:

```
The name of the file: src/regexp/regexp-compiler.cc
Insertions: 2, Deletions: 1.

@@ -321,6 +321,7 @@
work_list_(nullptr),
recursion_depth_(0),
flags_(flags),
+ macro_assembler_(nullptr),
one_byte_(one_byte),
reg_exp_too_big_(false),
limiting_recursion_(false),
@@ -1768,7 +1769,7 @@
// Do not collect any quick check details if the text node reads backward,
// since it reads in the opposite direction than we use for quick checks.
if (read_backward()) return;
- Isolate* isolate = compiler->macro_assembler()->isolate();
+ Isolate* isolate = compiler->isolate();
DCHECK(characters_filled_in < details->characters());
int characters = details->characters();
const uint32_t char_mask = CharMask(compiler->one_byte());
```

Change information

Commit message:
[regexp] Improve QuickCheck for CharacterRanges

Previously a character was only considered to match perfectly by a
quickcheck mask compare if the differing bits form a number like
00011111 with one single block of trailing 1s.
This means that for multiple singleton ranges (e.g. [aA]) we would not
mark the quickcheck as determining the character perfectly, although it
does.
Instead we now check if the total number of characters represented by a
character range is equal to all possible matches given the computed mask
(total characters == 2^(zeroes in mask)).
Change-Id: Ibab0f0a08a1bb7ce25ca8db9f5eeabdb3f6823b4
Reviewed-by: Jakob Linke <jgr...@chromium.org>
Auto-Submit: Patrick Thier <pth...@chromium.org>
Commit-Queue: Patrick Thier <pth...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#107858}
Files:
  • M src/regexp/regexp-compiler.cc
  • M src/regexp/regexp-compiler.h
  • M src/regexp/regexp-nodes.h
  • M src/regexp/regexp-printer.h
  • M test/unittests/regexp/regexp-unittest.cc
Change size: M
Delta: 5 files changed, 113 insertions(+), 19 deletions(-)
Branch: refs/heads/main
Submit Requirements:
  • requirement satisfiedCode-Review: +1 by Jakob Linke
Open in Gerrit
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: merged
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: Ibab0f0a08a1bb7ce25ca8db9f5eeabdb3f6823b4
Gerrit-Change-Number: 7895589
Gerrit-PatchSet: 7
Gerrit-Owner: Patrick Thier <pth...@chromium.org>
Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
Gerrit-Reviewer: Patrick Thier <pth...@chromium.org>
open
diffy
satisfied_requirement
Reply all
Reply to author
Forward
0 new messages