|
|
Description[regexp] Store named captures on the regexp result
This implements storing named captures on the regexp result object.
For instance, /(?<a>.)/u.exec("b") will return a result such that:
result.group.a // "b"
https://tc39.github.io/proposal-regexp-named-groups/
BUG=v8:5437
Review-Url: https://codereview.chromium.org/2630233003
Cr-Original-Original-Original-Commit-Position: refs/heads/master@{#42532}
Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1fcf154
Review-Url: https://codereview.chromium.org/2630233003
Cr-Original-Original-Commit-Position: refs/heads/master@{#42570}
Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e502396c
Review-Url: https://codereview.chromium.org/2630233003
Cr-Original-Commit-Position: refs/heads/master@{#42676}
Committed: https://chromium.googlesource.com/v8/v8/+/8bf52534f6bf86821a1589dcbcb7335052c1f94f
Review-Url: https://codereview.chromium.org/2630233003
Cr-Commit-Position: refs/heads/master@{#42838}
Committed: https://chromium.googlesource.com/v8/v8/+/d52ec9e6cfb0c5ad81d614b11957cb85fba06d96
Patch Set 1 #Patch Set 2 : Blacklist index, input, length #
Total comments: 4
Patch Set 3 : Remove unused CaptureNameMapOffset #
Total comments: 6
Patch Set 4 : Address comments #Patch Set 5 : Address comments and switch to 'group' property #Patch Set 6 : Disable test on noi18n #Patch Set 7 : Rebase #
Total comments: 2
Patch Set 8 : Use CreateDataProperty instead of SetProperty #Patch Set 9 : Null proto and remove __proto__ blacklist #
Messages
Total messages: 74 (52 generated)
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
jgruber@chromium.org changed reviewers: + littledan@chromium.org, yangguo@chromium.org
This adds capture properties to the RegExp result, implemented to match the draft spec at https://tc39.github.io/proposal-regexp-named-groups/. TODO: Function replace interaction with named captures. TODO: Possible optimizations for the non-named-capture exec case (we can save 1 load and 1 branch). https://codereview.chromium.org/2630233003/diff/20001/src/builtins/builtins-r... File src/builtins/builtins-regexp.cc (right): https://codereview.chromium.org/2630233003/diff/20001/src/builtins/builtins-r... src/builtins/builtins-regexp.cc:214: Node* const data = LoadObjectField(regexp, JSRegExp::kDataOffset); This unconditionally adds two loads and two branches to each exec path. I'd like to see the impact before optimizing; packing a new internal flag into JSRegExp::Flags isn't completely trivial since e.g. flags are sometimes reconstructed from the flags string. https://codereview.chromium.org/2630233003/diff/20001/src/regexp/regexp-parse... File src/regexp/regexp-parser.cc (right): https://codereview.chromium.org/2630233003/diff/20001/src/regexp/regexp-parse... src/regexp/regexp-parser.cc:771: static std::vector<uc16> illegal_names[] = { The final proposal might not need this blacklist if captures aren't stored directly on the result.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm. https://codereview.chromium.org/2630233003/diff/20001/src/builtins/builtins-r... File src/builtins/builtins-regexp.cc (right): https://codereview.chromium.org/2630233003/diff/20001/src/builtins/builtins-r... src/builtins/builtins-regexp.cc:214: Node* const data = LoadObjectField(regexp, JSRegExp::kDataOffset); On 2017/01/17 09:26:51, jgruber wrote: > This unconditionally adds two loads and two branches to each exec path. > > I'd like to see the impact before optimizing; packing a new internal flag into > JSRegExp::Flags isn't completely trivial since e.g. flags are sometimes > reconstructed from the flags string. I think we can already make this a bit simpler: we only need to care about named captures if we have any captures at all. If we have captures, then it cannot be an atom regexp, so the tag check is redundant too. https://codereview.chromium.org/2630233003/diff/40001/src/builtins/builtins-r... File src/builtins/builtins-regexp.cc (right): https://codereview.chromium.org/2630233003/diff/40001/src/builtins/builtins-r... src/builtins/builtins-regexp.cc:222: GotoIf(SmiEqual(names, SmiConstant(0)), &out); Why don't we jump to runtime after this? That would be more readable and we'd only call into runtime once, instead once for every property. https://codereview.chromium.org/2630233003/diff/40001/src/regexp/regexp-parse... File src/regexp/regexp-parser.cc (right): https://codereview.chromium.org/2630233003/diff/40001/src/regexp/regexp-parse... src/regexp/regexp-parser.cc:773: 'i', 'n', 'd', 'e', 'x', Is it possible to use wide string literals here? http://en.cppreference.com/w/cpp/language/string_literal
lgtm Based on your feedback, I'll change the spec to use a groups object. Maybe this should wait to land until I get that version, OTOH this is not yet staged so if it seems beneficial to you to land an intermediate version, go for it. https://codereview.chromium.org/2630233003/diff/40001/test/mjsunit/harmony/re... File test/mjsunit/harmony/regexp-named-captures.js (right): https://codereview.chromium.org/2630233003/diff/40001/test/mjsunit/harmony/re... test/mjsunit/harmony/regexp-named-captures.js:96: assertThrows('/(?<𐒤>a)/u'); // ID_Continue but not ID_Start. For syntax error tests, how about assertThrows('/(?<𐒤>a)/u', SyntaxError) to be more specific?
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Thanks for the reviews, comments addressed. I updated this to store captures on a result.group object (the most common name from http://xregexp.com/syntax/named_capture_comparison/), and blacklisted __proto__ as a capture name. https://codereview.chromium.org/2630233003/diff/20001/src/builtins/builtins-r... File src/builtins/builtins-regexp.cc (right): https://codereview.chromium.org/2630233003/diff/20001/src/builtins/builtins-r... src/builtins/builtins-regexp.cc:214: Node* const data = LoadObjectField(regexp, JSRegExp::kDataOffset); On 2017/01/18 13:25:36, Yang wrote: > On 2017/01/17 09:26:51, jgruber wrote: > > This unconditionally adds two loads and two branches to each exec path. > > > > I'd like to see the impact before optimizing; packing a new internal flag into > > JSRegExp::Flags isn't completely trivial since e.g. flags are sometimes > > reconstructed from the flags string. > > I think we can already make this a bit simpler: we only need to care about named > captures if we have any captures at all. If we have captures, then it cannot be > an atom regexp, so the tag check is redundant too. Very good point, done. https://codereview.chromium.org/2630233003/diff/40001/src/builtins/builtins-r... File src/builtins/builtins-regexp.cc (right): https://codereview.chromium.org/2630233003/diff/40001/src/builtins/builtins-r... src/builtins/builtins-regexp.cc:222: GotoIf(SmiEqual(names, SmiConstant(0)), &out); On 2017/01/18 13:25:36, Yang wrote: > Why don't we jump to runtime after this? That would be more readable and we'd > only call into runtime once, instead once for every property. Once the SetPropertyStub is implemented we'll be able to completely avoid calling into runtime here, this is written with that in mind. https://codereview.chromium.org/2630233003/diff/40001/src/regexp/regexp-parse... File src/regexp/regexp-parser.cc (right): https://codereview.chromium.org/2630233003/diff/40001/src/regexp/regexp-parse... src/regexp/regexp-parser.cc:773: 'i', 'n', 'd', 'e', 'x', On 2017/01/18 13:25:36, Yang wrote: > Is it possible to use wide string literals here? > http://en.cppreference.com/w/cpp/language/string_literal I didn't find a way to do that for this use case. The solution above works because we use the C++11 initializer list constructor. That doesn't fly anymore when using wide string literals since that produces 'const char16[6]' and 'const char16[7]' types. Anyway, it looks like the blacklist will only consist of __proto__ and we can definitely use wide string literals in that case. https://codereview.chromium.org/2630233003/diff/40001/test/mjsunit/harmony/re... File test/mjsunit/harmony/regexp-named-captures.js (right): https://codereview.chromium.org/2630233003/diff/40001/test/mjsunit/harmony/re... test/mjsunit/harmony/regexp-named-captures.js:96: assertThrows('/(?<𐒤>a)/u'); // ID_Continue but not ID_Start. On 2017/01/18 18:19:04, Dan Ehrenberg wrote: > For syntax error tests, how about assertThrows('/(?<𐒤>a)/u', SyntaxError) to be > more specific? Done.
Description was changed from ========== [regexp] Create property on result for each named capture BUG= ========== to ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" The spec proposal is not yet final, so this may still change in the future. BUG=v8:5437 ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by jgruber@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from littledan@chromium.org, yangguo@chromium.org Link to the patchset: https://codereview.chromium.org/2630233003/#ps80001 (title: "Address comments and switch to 'group' property")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 80001, "attempt_start_ts": 1484899317940710, "parent_rev": "cbb8929e97ee475dab4f704a71637e76342e903a", "commit_rev": "70000946eb2a9155679528702a766219a1fcf154"}
Message was sent while issue was closed.
Description was changed from ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" The spec proposal is not yet final, so this may still change in the future. BUG=v8:5437 ========== to ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" The spec proposal is not yet final, so this may still change in the future. BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... ==========
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f...
Message was sent while issue was closed.
A revert of this CL (patchset #5 id:80001) has been created in https://codereview.chromium.org/2643213002/ by jgruber@chromium.org. The reason for reverting is: Breaks no18n build: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%2....
Message was sent while issue was closed.
Description was changed from ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" The spec proposal is not yet final, so this may still change in the future. BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... ========== to ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" The spec proposal is not yet final, so this may still change in the future. BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... ==========
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by jgruber@chromium.org
The CQ bit was checked by jgruber@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from littledan@chromium.org, yangguo@chromium.org Link to the patchset: https://codereview.chromium.org/2630233003/#ps120001 (title: "Rebase")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 120001, "attempt_start_ts": 1484926772337450, "parent_rev": "24b9fc3a9a42977f58c872d4d99cce92e232650c", "commit_rev": "ee94fa11ed63477393c6534c352ebac6e502396c"}
Message was sent while issue was closed.
Description was changed from ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" The spec proposal is not yet final, so this may still change in the future. BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... ========== to ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" The spec proposal is not yet final, so this may still change in the future. BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42570} Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50... ==========
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50...
Message was sent while issue was closed.
https://codereview.chromium.org/2630233003/diff/120001/src/builtins/builtins-... File src/builtins/builtins-regexp.cc (right): https://codereview.chromium.org/2630233003/diff/120001/src/builtins/builtins-... src/builtins/builtins-regexp.cc:277: language_mode); We should really be calling DefineOwnProperty here, not SetProperty. SetProperty will invoke setters that a user might define on Object.prototype, which is not the semantics that I'd expect. Generally, the RegExp part of JS calls CreateDataProperty, which is based on Define, not Set. https://codereview.chromium.org/2630233003/diff/120001/src/regexp/regexp-pars... File src/regexp/regexp-parser.cc (right): https://codereview.chromium.org/2630233003/diff/120001/src/regexp/regexp-pars... src/regexp/regexp-parser.cc:774: static const char16_t proto_string[] = u"__proto__"; Sorry I didn't post this comment earlier, but: If adding the properties is changed from Set to Define I'm not convinced we need to blacklist __proto__. Instead, if you have a group named __proto__, it would simply create an own property named __proto__ and not actually change the underlying [[Prototype]].
Message was sent while issue was closed.
A revert of this CL (patchset #7 id:120001) has been created in https://codereview.chromium.org/2639403008/ by jgruber@chromium.org. The reason for reverting is: Breaks arm64..
Message was sent while issue was closed.
Description was changed from ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" The spec proposal is not yet final, so this may still change in the future. BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42570} Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50... ========== to ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" The spec proposal is not yet final, so this may still change in the future. BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42570} Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50... ==========
On 2017/01/20 19:03:01, jgruber wrote: > A revert of this CL (patchset #7 id:120001) has been created in > https://codereview.chromium.org/2639403008/ by mailto:jgruber@chromium.org. > > The reason for reverting is: Breaks arm64.. Fix for the broken arm64 test: https://codereview.chromium.org/2652933002/
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by jgruber@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2017/01/24 13:24:28, jgruber wrote: > On 2017/01/20 19:03:01, jgruber wrote: > > A revert of this CL (patchset #7 id:120001) has been created in > > https://codereview.chromium.org/2639403008/ by mailto:jgruber@chromium.org. > > > > The reason for reverting is: Breaks arm64.. > > Fix for the broken arm64 test: https://codereview.chromium.org/2652933002/ Patchset 9: * uses CreateDataProperty instead of SetProperty, * creates the group object with a null prototype, * and removes the __proto__ name blacklist. This should match the spec proposal at https://tc39.github.io/proposal-regexp-named-groups/ (without @@replace). I'll reland this tomorrow if no one objects.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" The spec proposal is not yet final, so this may still change in the future. BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42570} Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50... ========== to ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" https://tc39.github.io/proposal-regexp-named-groups/ BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42570} Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50... ==========
The CQ bit was checked by jgruber@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from littledan@chromium.org, yangguo@chromium.org Link to the patchset: https://codereview.chromium.org/2630233003/#ps160001 (title: "Null proto and remove __proto__ blacklist")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 160001, "attempt_start_ts": 1485417435114920, "parent_rev": "f1ebb1d9c59778e39eed9f348cbbca294924ba3a", "commit_rev": "8bf52534f6bf86821a1589dcbcb7335052c1f94f"}
Message was sent while issue was closed.
Description was changed from ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" https://tc39.github.io/proposal-regexp-named-groups/ BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42570} Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50... ========== to ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" https://tc39.github.io/proposal-regexp-named-groups/ BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42570} Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50... Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42676} Committed: https://chromium.googlesource.com/v8/v8/+/8bf52534f6bf86821a1589dcbcb7335052c... ==========
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as https://chromium.googlesource.com/v8/v8/+/8bf52534f6bf86821a1589dcbcb7335052c...
Message was sent while issue was closed.
Breaks arm64 nosnap: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%... Revert again?
Message was sent while issue was closed.
On 2017/01/26 09:25:19, Michael Achenbach wrote: > Breaks arm64 nosnap: > https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%... > > Revert again? Seems like several heap tests aren't 100% robust and this CL just exposes these cases by accident. I already fixed one such case (see above), and I'm currently looking at this one.
Message was sent while issue was closed.
On 2017/01/26 09:27:53, jgruber wrote: > On 2017/01/26 09:25:19, Michael Achenbach wrote: > > Breaks arm64 nosnap: > > > https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%... > > > > Revert again? > > Seems like several heap tests aren't 100% robust and this CL just exposes these > cases by accident. I already fixed one such case (see above), and I'm currently > looking at this one. Not sure I'll get around to landing a fixed test today, let's revert this one to keep arm64-nosnap green I guess.
Message was sent while issue was closed.
A revert of this CL (patchset #9 id:160001) has been created in https://codereview.chromium.org/2654233002/ by jgruber@chromium.org. The reason for reverting is: Some heap tests are broken leading to failures on nosnap builds: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%... Reverting again until tests are fixed to keep bots green..
Message was sent while issue was closed.
Description was changed from ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" https://tc39.github.io/proposal-regexp-named-groups/ BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42570} Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50... Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42676} Committed: https://chromium.googlesource.com/v8/v8/+/8bf52534f6bf86821a1589dcbcb7335052c... ========== to ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" https://tc39.github.io/proposal-regexp-named-groups/ BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42570} Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50... Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42676} Committed: https://chromium.googlesource.com/v8/v8/+/8bf52534f6bf86821a1589dcbcb7335052c... ==========
On 2017/01/26 09:29:58, jgruber wrote: > A revert of this CL (patchset #9 id:160001) has been created in > https://codereview.chromium.org/2654233002/ by mailto:jgruber@chromium.org. > > The reason for reverting is: Some heap tests are broken leading to failures on > nosnap builds: > > https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%... > > Reverting again until tests are fixed to keep bots green.. Test has been fixed in https://codereview.chromium.org/2659573002/, relanding once more.
The CQ bit was checked by jgruber@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 160001, "attempt_start_ts": 1485937546964730, "parent_rev": "0c3a507b3a92b5fa8a5c6b5b57ce888c2c5fb486", "commit_rev": "d52ec9e6cfb0c5ad81d614b11957cb85fba06d96"}
Message was sent while issue was closed.
Description was changed from ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" https://tc39.github.io/proposal-regexp-named-groups/ BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42570} Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50... Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42676} Committed: https://chromium.googlesource.com/v8/v8/+/8bf52534f6bf86821a1589dcbcb7335052c... ========== to ========== [regexp] Store named captures on the regexp result This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" https://tc39.github.io/proposal-regexp-named-groups/ BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Original-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1f... Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Original-Commit-Position: refs/heads/master@{#42570} Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e50... Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42676} Committed: https://chromium.googlesource.com/v8/v8/+/8bf52534f6bf86821a1589dcbcb7335052c... Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42838} Committed: https://chromium.googlesource.com/v8/v8/+/d52ec9e6cfb0c5ad81d614b11957cb85fba... ==========
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as https://chromium.googlesource.com/v8/v8/+/d52ec9e6cfb0c5ad81d614b11957cb85fba... |