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

Issue 1578253005: [regexp] implement character classes for unicode regexps. (Closed)

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

Description

[regexp] implement character classes for unicode regexps. We divide character ranges into - BMP, matched normally. - non-BMP, matched as alternatives of surrogate pair ranges. - lone surrogates, matched with lookaround assertion that its indeed lone. R=erik.corry@gmail.com BUG=v8:2952 LOG=N Committed: https://crrev.com/ea820ad5fa282a323a86fe20e64f83ee67ba5f04 Cr-Commit-Position: refs/heads/master@{#33432} Committed: https://crrev.com/e709aa24c0c17abf684972fbb9e887731b20fd41 Cr-Commit-Position: refs/heads/master@{#33437}

Patch Set 1 #

Patch Set 2 : simplify /./u a bit. #

Patch Set 3 : use constants #

Patch Set 4 : refactorings #

Patch Set 5 : windows warning fix #

Patch Set 6 : lookaround builder #

Total comments: 18

Patch Set 7 : rebase #

Patch Set 8 : addressed comments #

Total comments: 4

Patch Set 9 : addressed comments on the test case. #

Patch Set 10 : test cases #

Patch Set 11 : rebase #

Total comments: 2

Patch Set 12 : fix #

Patch Set 13 : more tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+929 lines, -275 lines) Patch
M src/objects.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M src/ostreams.h View 2 chunks +10 lines, -0 lines 0 comments Download
M src/ostreams.cc View 1 2 3 4 5 6 7 3 chunks +16 lines, -0 lines 0 comments Download
M src/regexp/jsregexp.h View 1 2 3 4 5 6 7 6 chunks +53 lines, -15 lines 0 comments Download
M src/regexp/jsregexp.cc View 1 2 3 4 5 6 7 31 chunks +409 lines, -150 lines 0 comments Download
M src/regexp/regexp-ast.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +38 lines, -15 lines 0 comments Download
M src/regexp/regexp-ast.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/regexp/regexp-parser.h View 1 2 3 4 5 6 7 7 chunks +21 lines, -9 lines 0 comments Download
M src/regexp/regexp-parser.cc View 1 2 3 26 chunks +140 lines, -50 lines 0 comments Download
M test/cctest/test-regexp.cc View 1 2 3 4 11 chunks +58 lines, -33 lines 0 comments Download
A test/mjsunit/harmony/unicode-character-ranges.js View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +156 lines, -0 lines 0 comments Download
M test/mjsunit/harmony/unicode-escapes-in-regexps.js View 1 chunk +25 lines, -1 line 0 comments Download

Dependent Patchsets:

Messages

Total messages: 54 (26 generated)
Yang
4 years, 11 months ago (2016-01-13 14:23:24 UTC) #1
Yang
On 2016/01/13 14:23:24, Yang wrote: ping
4 years, 11 months ago (2016-01-15 08:22:17 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1578253005/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1578253005/60001
4 years, 11 months ago (2016-01-15 08:22:32 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_win_nosnap_shared_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_win_nosnap_shared_compile_rel/builds/9078)
4 years, 11 months ago (2016-01-15 08:27:45 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1578253005/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1578253005/80001
4 years, 11 months ago (2016-01-15 08:39:57 UTC) #10
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 11 months ago (2016-01-15 09:28:27 UTC) #12
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1578253005/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1578253005/100001
4 years, 11 months ago (2016-01-19 13:06:16 UTC) #16
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 11 months ago (2016-01-19 13:30:19 UTC) #18
erikcorry
https://codereview.chromium.org/1578253005/diff/100001/src/ostreams.cc File src/ostreams.cc (right): https://codereview.chromium.org/1578253005/diff/100001/src/ostreams.cc#newcode65 src/ostreams.cc:65: if (c <= 0xffff) return PrintUC16(os, static_cast<uint16_t>(c), pred); kMaxUtf16CodeUnit ...
4 years, 11 months ago (2016-01-20 10:47:05 UTC) #20
Yang
Thanks for the comments. Hopefully addressed them sufficiently in the newest patch set. https://codereview.chromium.org/1578253005/diff/100001/src/ostreams.cc File ...
4 years, 11 months ago (2016-01-20 13:06:20 UTC) #22
erikcorry
https://codereview.chromium.org/1578253005/diff/160001/test/mjsunit/harmony/unicode-character-ranges.js File test/mjsunit/harmony/unicode-character-ranges.js (right): https://codereview.chromium.org/1578253005/diff/160001/test/mjsunit/harmony/unicode-character-ranges.js#newcode12 test/mjsunit/harmony/unicode-character-ranges.js:12: function tests(expectation, string, subject) { string -> source or ...
4 years, 11 months ago (2016-01-20 13:48:51 UTC) #23
Yang
https://codereview.chromium.org/1578253005/diff/160001/test/mjsunit/harmony/unicode-character-ranges.js File test/mjsunit/harmony/unicode-character-ranges.js (right): https://codereview.chromium.org/1578253005/diff/160001/test/mjsunit/harmony/unicode-character-ranges.js#newcode12 test/mjsunit/harmony/unicode-character-ranges.js:12: function tests(expectation, string, subject) { On 2016/01/20 13:48:51, erikcorry ...
4 years, 11 months ago (2016-01-20 14:04:14 UTC) #24
Yang
On 2016/01/20 14:04:14, Yang wrote: > https://codereview.chromium.org/1578253005/diff/160001/test/mjsunit/harmony/unicode-character-ranges.js > File test/mjsunit/harmony/unicode-character-ranges.js (right): > > https://codereview.chromium.org/1578253005/diff/160001/test/mjsunit/harmony/unicode-character-ranges.js#newcode12 > ...
4 years, 11 months ago (2016-01-21 07:40:54 UTC) #25
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1578253005/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1578253005/200001
4 years, 11 months ago (2016-01-21 07:41:29 UTC) #27
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 11 months ago (2016-01-21 08:03:43 UTC) #29
erikcorry
LGTM https://codereview.chromium.org/1578253005/diff/100001/src/regexp/jsregexp.cc File src/regexp/jsregexp.cc (right): https://codereview.chromium.org/1578253005/diff/100001/src/regexp/jsregexp.cc#newcode1716 src/regexp/jsregexp.cc:1716: static inline bool EmitAtomLetter(Isolate* isolate, This is not ...
4 years, 11 months ago (2016-01-21 10:58:56 UTC) #30
erikcorry
LGTM https://codereview.chromium.org/1578253005/diff/100001/src/regexp/jsregexp.cc File src/regexp/jsregexp.cc (right): https://codereview.chromium.org/1578253005/diff/100001/src/regexp/jsregexp.cc#newcode1716 src/regexp/jsregexp.cc:1716: static inline bool EmitAtomLetter(Isolate* isolate, This is not ...
4 years, 11 months ago (2016-01-21 10:58:56 UTC) #31
Yang
https://codereview.chromium.org/1578253005/diff/100001/src/regexp/jsregexp.cc File src/regexp/jsregexp.cc (right): https://codereview.chromium.org/1578253005/diff/100001/src/regexp/jsregexp.cc#newcode1716 src/regexp/jsregexp.cc:1716: static inline bool EmitAtomLetter(Isolate* isolate, On 2016/01/21 10:58:56, erikcorry ...
4 years, 11 months ago (2016-01-21 11:49:04 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1578253005/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1578253005/220001
4 years, 11 months ago (2016-01-21 11:49:17 UTC) #35
commit-bot: I haz the power
Committed patchset #11 (id:220001)
4 years, 11 months ago (2016-01-21 12:10:42 UTC) #37
commit-bot: I haz the power
Patchset 11 (id:??) landed as https://crrev.com/ea820ad5fa282a323a86fe20e64f83ee67ba5f04 Cr-Commit-Position: refs/heads/master@{#33432}
4 years, 11 months ago (2016-01-21 12:11:26 UTC) #39
Yang
A revert of this CL (patchset #11 id:220001) has been created in https://codereview.chromium.org/1618753002/ by yangguo@chromium.org. ...
4 years, 11 months ago (2016-01-21 12:37:30 UTC) #40
mathias
Some more functional tests: https://mathias.html5.org/tests/javascript/regexp/ (not exhaustive, just a bunch of examples from https://mathiasbynens.be/notes/es6-unicode-regex) https://codereview.chromium.org/1578253005/diff/220001/test/mjsunit/harmony/unicode-character-ranges.js ...
4 years, 11 months ago (2016-01-21 12:44:37 UTC) #43
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1578253005/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1578253005/240001
4 years, 11 months ago (2016-01-21 12:50:24 UTC) #45
Yang
On 2016/01/21 12:44:37, mathias wrote: > Some more functional tests: https://mathias.html5.org/tests/javascript/regexp/ > (not exhaustive, just ...
4 years, 11 months ago (2016-01-21 13:11:52 UTC) #47
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1578253005/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1578253005/260001
4 years, 11 months ago (2016-01-21 13:12:34 UTC) #50
commit-bot: I haz the power
Committed patchset #13 (id:260001)
4 years, 11 months ago (2016-01-21 13:33:08 UTC) #52
commit-bot: I haz the power
4 years, 11 months ago (2016-01-21 13:33:36 UTC) #54
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/e709aa24c0c17abf684972fbb9e887731b20fd41
Cr-Commit-Position: refs/heads/master@{#33437}

Powered by Google App Engine
This is Rietveld 408576698