Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(261)

Issue 1599303002: [regexp] implement case-insensitive unicode regexps. (Closed)

Created:
4 years, 11 months ago by Yang
Modified:
4 years, 10 months ago
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@unicodeclass
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[regexp] implement case-insensitive unicode regexps. BUG=v8:2952 LOG=N Committed: https://crrev.com/a2baaaac93efbdd3f2e19e66907a39a7197b8305 Cr-Commit-Position: refs/heads/master@{#33538}

Patch Set 1 #

Patch Set 2 : backrefs #

Patch Set 3 : unpatch unrelated irregexp fix #

Patch Set 4 : rebase #

Patch Set 5 : rebase onto ToT #

Patch Set 6 : fix #

Patch Set 7 : fix mips #

Total comments: 16

Patch Set 8 : addressed comments #

Patch Set 9 : rebase #

Patch Set 10 : rebase #

Patch Set 11 : remove special handling of ASCII characters #

Patch Set 12 : fixes #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+520 lines, -237 lines) Patch
M src/isolate.h View 1 2 chunks +1 line, -2 lines 0 comments Download
M src/regexp/arm/regexp-macro-assembler-arm.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/arm/regexp-macro-assembler-arm.cc View 1 2 3 4 5 6 7 3 chunks +10 lines, -3 lines 0 comments Download
M src/regexp/arm64/regexp-macro-assembler-arm64.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/arm64/regexp-macro-assembler-arm64.cc View 1 2 3 4 5 6 7 3 chunks +10 lines, -3 lines 0 comments Download
M src/regexp/bytecodes-irregexp.h View 1 2 3 4 5 6 7 1 chunk +52 lines, -50 lines 0 comments Download
M src/regexp/ia32/regexp-macro-assembler-ia32.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/ia32/regexp-macro-assembler-ia32.cc View 1 2 3 4 5 6 7 2 chunks +11 lines, -4 lines 0 comments Download
M src/regexp/interpreter-irregexp.cc View 1 2 3 3 chunks +28 lines, -27 lines 0 comments Download
M src/regexp/jsregexp.h View 1 2 3 4 5 6 7 3 chunks +15 lines, -3 lines 0 comments Download
M src/regexp/jsregexp.cc View 1 2 3 4 5 6 7 8 9 10 chunks +66 lines, -40 lines 1 comment Download
M src/regexp/mips/regexp-macro-assembler-mips.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/mips/regexp-macro-assembler-mips.cc View 1 2 3 4 5 6 7 3 chunks +10 lines, -3 lines 0 comments Download
M src/regexp/mips64/regexp-macro-assembler-mips64.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/mips64/regexp-macro-assembler-mips64.cc View 1 2 3 4 5 6 7 3 chunks +10 lines, -3 lines 0 comments Download
M src/regexp/regexp-ast.h View 1 2 3 4 5 6 7 8 9 3 chunks +4 lines, -4 lines 0 comments Download
M src/regexp/regexp-macro-assembler.h View 1 3 chunks +7 lines, -8 lines 0 comments Download
M src/regexp/regexp-macro-assembler.cc View 1 2 3 4 5 6 7 8 3 chunks +65 lines, -34 lines 0 comments Download
M src/regexp/regexp-macro-assembler-irregexp.h View 1 2 3 1 chunk +1 line, -7 lines 0 comments Download
M src/regexp/regexp-macro-assembler-irregexp.cc View 1 2 3 1 chunk +5 lines, -3 lines 0 comments Download
M src/regexp/regexp-macro-assembler-tracer.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/regexp-macro-assembler-tracer.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -4 lines 0 comments Download
M src/regexp/regexp-parser.h View 1 2 3 4 5 6 7 2 chunks +4 lines, -0 lines 0 comments Download
M src/regexp/regexp-parser.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +76 lines, -18 lines 0 comments Download
M src/regexp/x64/regexp-macro-assembler-x64.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/x64/regexp-macro-assembler-x64.cc View 1 2 3 4 5 6 7 4 chunks +17 lines, -9 lines 0 comments Download
M test/cctest/test-regexp.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +7 lines, -5 lines 0 comments Download
A test/mjsunit/harmony/unicode-regexp-ignore-case.js View 1 1 chunk +54 lines, -0 lines 0 comments Download
A test/mjsunit/harmony/unicode-regexp-ignore-case-noi18n.js View 1 2 3 4 5 6 7 1 chunk +52 lines, -0 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 48 (24 generated)
Yang
4 years, 11 months ago (2016-01-19 10:35:17 UTC) #2
Yang
On 2016/01/19 10:35:17, Yang wrote: This depends on https://codereview.chromium.org/1578253005/
4 years, 11 months ago (2016-01-19 10:35:45 UTC) #3
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1599303002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1599303002/60001
4 years, 11 months ago (2016-01-21 13:30:16 UTC) #7
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_mipsel_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_mipsel_compile_rel/builds/9185)
4 years, 11 months ago (2016-01-21 13:33:35 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1599303002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1599303002/120001
4 years, 11 months ago (2016-01-22 07:50:20 UTC) #11
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 11 months ago (2016-01-22 08:45:42 UTC) #13
Yang
On 2016/01/22 08:45:42, commit-bot: I haz the power wrote: > Dry run: This issue passed ...
4 years, 11 months ago (2016-01-25 07:39:30 UTC) #14
erikcorry
lgtm https://codereview.chromium.org/1599303002/diff/120001/src/regexp/regexp-macro-assembler-tracer.cc File src/regexp/regexp-macro-assembler-tracer.cc (right): https://codereview.chromium.org/1599303002/diff/120001/src/regexp/regexp-macro-assembler-tracer.cc#newcode364 src/regexp/regexp-macro-assembler-tracer.cc:364: PrintF(" CheckNotBackReferenceIgnoreCase(register=%d, %s, label[%08x]);\n", This printf should print ...
4 years, 11 months ago (2016-01-25 10:26:37 UTC) #16
Yang
Also added test for no-i18n builds. https://codereview.chromium.org/1599303002/diff/120001/src/regexp/regexp-macro-assembler-tracer.cc File src/regexp/regexp-macro-assembler-tracer.cc (right): https://codereview.chromium.org/1599303002/diff/120001/src/regexp/regexp-macro-assembler-tracer.cc#newcode364 src/regexp/regexp-macro-assembler-tracer.cc:364: PrintF(" CheckNotBackReferenceIgnoreCase(register=%d, %s, ...
4 years, 11 months ago (2016-01-25 11:46:37 UTC) #17
erikcorry
Still LGTM https://codereview.chromium.org/1599303002/diff/120001/src/regexp/regexp-macro-assembler.cc File src/regexp/regexp-macro-assembler.cc (right): https://codereview.chromium.org/1599303002/diff/120001/src/regexp/regexp-macro-assembler.cc#newcode49 src/regexp/regexp-macro-assembler.cc:49: if (unibrow::Utf16::IsLeadSurrogate(c1)) { On 2016/01/25 11:46:37, Yang ...
4 years, 11 months ago (2016-01-25 11:57:47 UTC) #18
Yang
https://codereview.chromium.org/1599303002/diff/120001/src/regexp/regexp-macro-assembler.cc File src/regexp/regexp-macro-assembler.cc (right): https://codereview.chromium.org/1599303002/diff/120001/src/regexp/regexp-macro-assembler.cc#newcode49 src/regexp/regexp-macro-assembler.cc:49: if (unibrow::Utf16::IsLeadSurrogate(c1)) { On 2016/01/25 11:57:47, erikcorry wrote: > ...
4 years, 11 months ago (2016-01-25 12:09:02 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1599303002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1599303002/140001
4 years, 11 months ago (2016-01-25 12:09:56 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_mips64el_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_mips64el_compile_rel/builds/9281) v8_win_compile_dbg on tryserver.v8 (JOB_FAILED, ...
4 years, 11 months ago (2016-01-25 12:13:19 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1599303002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1599303002/160001
4 years, 11 months ago (2016-01-25 13:29:17 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux64_asan_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel/builds/12742) v8_linux_arm64_rel on tryserver.v8 (JOB_FAILED, ...
4 years, 11 months ago (2016-01-25 13:30:06 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1599303002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1599303002/180001
4 years, 11 months ago (2016-01-25 14:15:54 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/10101)
4 years, 11 months ago (2016-01-25 14:18:38 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1599303002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1599303002/200001
4 years, 11 months ago (2016-01-25 14:28:48 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_nodcheck_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_nodcheck_rel/builds/11291)
4 years, 11 months ago (2016-01-25 14:48:56 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1599303002/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1599303002/220001
4 years, 11 months ago (2016-01-27 07:57:13 UTC) #41
commit-bot: I haz the power
Committed patchset #12 (id:220001)
4 years, 11 months ago (2016-01-27 08:24:55 UTC) #43
commit-bot: I haz the power
Patchset 12 (id:??) landed as https://crrev.com/a2baaaac93efbdd3f2e19e66907a39a7197b8305 Cr-Commit-Position: refs/heads/master@{#33538}
4 years, 11 months ago (2016-01-27 08:25:47 UTC) #45
brucedawson
https://codereview.chromium.org/1599303002/diff/220001/src/regexp/jsregexp.cc File src/regexp/jsregexp.cc (right): https://codereview.chromium.org/1599303002/diff/220001/src/regexp/jsregexp.cc#newcode5891 src/regexp/jsregexp.cc:5891: // If this is a singleton we just expand ...
4 years, 10 months ago (2016-01-29 18:49:15 UTC) #47
Yang
4 years, 10 months ago (2016-02-01 07:21:35 UTC) #48
Message was sent while issue was closed.
On 2016/01/29 18:49:15, brucedawson wrote:
> https://codereview.chromium.org/1599303002/diff/220001/src/regexp/jsregexp.cc
> File src/regexp/jsregexp.cc (right):
> 
>
https://codereview.chromium.org/1599303002/diff/220001/src/regexp/jsregexp.cc...
> src/regexp/jsregexp.cc:5891: // If this is a singleton we just expand the one
> character.
> The indenting of this line - and the rest of the function - is now incorrect
> because the entire function was wrapped in a for loop. This makes the code
very
> misleading to read.
> 
> I noticed this because a subsequent change added another 'range' variable
which
> shadows the existing one but the indenting makes this shadowing almost
> invisible.

Thanks for pointing that out!

Powered by Google App Engine
This is Rietveld 408576698