- 04 Feb, 2021 1 commit
-
-
Frank Emrich authored
For dictionary mode objects, whether or not a property is constant was not tracked before. This CL makes the required non-Turbofan changes, guarded behind the new flag V8_DICT_PROPERTY_CONST_TRACKING. In addition, prototypes are not converted to fast mode objects if this flags is enabled. Bug: v8:11247 Change-Id: Ia5942733239a97560b6efc015f0e25a35fea3d7a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2566757 Commit-Queue: Frank Emrich <emrich@google.com> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#72524}
-
- 26 Jan, 2021 1 commit
-
-
Shu-yu Guo authored
This CL implements the upcoming spec change: https://github.com/tc39/proposal-regexp-match-indices/pull/49 A new JSRegExpResultWithIndices subclass is introduced with a separate map and an extra slot for storing the indices. If /d is passed, exec() constructs a JSRegExpResultWithIndices and eagerly builds indices. The existing re-execution logic is removed. Bug: v8:9548 Change-Id: Ic11853e7521017af5e8bd583c7b82bb672821132 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2616873 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#72306}
-
- 25 Nov, 2019 1 commit
-
-
Joshua Litt authored
Bug: v8:9548 Change-Id: I0842ca8ce49ea3a831ae4f168c6dfa7d65dfe063 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1930173Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65156}
-
- 21 Nov, 2019 1 commit
-
-
Joshua Litt authored
This is a reland of f2a74165 Original change's description: > [regexp] Re-execute regexp when '.indices' is accessed. > > Instead of storing a pointer to the last_match_info, which may > change, this cl modifies JSRegExpResult to store a pointer to > the original JSRegExp which generated it, as well as additional > data needed to re-execute the match. > > Basically a straight copy and tidy off jgruber@'s prototype: > https://chromium-review.googlesource.com/c/v8/v8/+/1876810 > > Bug: v8:9548 > Change-Id: I11b7deae681b8287e41e8d0e342291ff484751fb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1910129 > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65053} Bug: v8:9548 Change-Id: Ieeba4b1ae59ef0c7946d654dc314adfae09d24b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1925554Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65096}
-
- 20 Nov, 2019 1 commit
-
-
Joshua Litt authored
This reverts commit f2a74165. Reason for revert: Clusterfuzz Bug: chromium:1026479 Original change's description: > [regexp] Re-execute regexp when '.indices' is accessed. > > Instead of storing a pointer to the last_match_info, which may > change, this cl modifies JSRegExpResult to store a pointer to > the original JSRegExp which generated it, as well as additional > data needed to re-execute the match. > > Basically a straight copy and tidy off jgruber@'s prototype: > https://chromium-review.googlesource.com/c/v8/v8/+/1876810 > > Bug: v8:9548 > Change-Id: I11b7deae681b8287e41e8d0e342291ff484751fb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1910129 > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65053} TBR=jgruber@chromium.org,joshualitt@chromium.org Change-Id: I6294e3d7ac0b3e2bd9404697823b8d3cc2545c16 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9548 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1925651Reviewed-by:
Joshua Litt <joshualitt@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65057}
-
- 19 Nov, 2019 1 commit
-
-
Joshua Litt authored
Instead of storing a pointer to the last_match_info, which may change, this cl modifies JSRegExpResult to store a pointer to the original JSRegExp which generated it, as well as additional data needed to re-execute the match. Basically a straight copy and tidy off jgruber@'s prototype: https://chromium-review.googlesource.com/c/v8/v8/+/1876810 Bug: v8:9548 Change-Id: I11b7deae681b8287e41e8d0e342291ff484751fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1910129 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#65053}
-
- 04 Nov, 2019 1 commit
-
-
Joshua Litt authored
This reverts commit d4574d18. Reason for revert: In addition to the earlier octane regression, this cl also created a regression in desktop browsing Bug: chromium:1019601 Original change's description: > Reland "[regexp] Clone match info for match indices." > > This reverts commit d7793c06. > > Reason for revert: This cl *will* cause regexp regressions. We are trying to gauge the real world impact. > > Original change's description: > > Revert "[regexp] Clone match info for match indices." > > > > This reverts commit dfd9ceb9. > > > > Reason for revert: Regressions https://chromeperf.appspot.com/group_report?rev=64356 https://crbug.com/1015749 > > > > Original change's description: > > > [regexp] Clone match info for match indices. > > > > > > The current behavior for generating match indices simply stashes a > > > pointer to the match info and then constructs the indices lazily. > > > However, it turns out the match info object used to create the result > > > object is the regexp_last_match_info living on native context, and thus > > > it can change between the creation of the result object and the generation > > > of indices. This cl clones the match info which will be safer. > > > > > > Bug: v8:9548 > > > Change-Id: Ia6f26f88fbc22fd09671bf4c579d39a1510b552d > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864585 > > > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#64356} > > > > TBR=jgruber@chromium.org,joshualitt@chromium.org > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: v8:9548, chromium:1015749 > > Change-Id: I9c30b8fb459cf2aa89d920bf061614441250844d > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1870236 > > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#64407} > > TBR=jgruber@chromium.org,joshualitt@chromium.org > > > Bug: v8:9548, chromium:1015749 > Change-Id: I151511307e3d8752fdbde4b8247514031b141b08 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879587 > Reviewed-by: Joshua Litt <joshualitt@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64587} TBR=jgruber@chromium.org,joshualitt@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:9548, chromium:1015749 Change-Id: Ie5a8e55338728aae33102d82e60a188f6440e8f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1898030Reviewed-by:
Joshua Litt <joshualitt@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#64749}
-
- 28 Oct, 2019 1 commit
-
-
Joshua Litt authored
This reverts commit d7793c06. Reason for revert: This cl *will* cause regexp regressions. We are trying to gauge the real world impact. Original change's description: > Revert "[regexp] Clone match info for match indices." > > This reverts commit dfd9ceb9. > > Reason for revert: Regressions https://chromeperf.appspot.com/group_report?rev=64356 https://crbug.com/1015749 > > Original change's description: > > [regexp] Clone match info for match indices. > > > > The current behavior for generating match indices simply stashes a > > pointer to the match info and then constructs the indices lazily. > > However, it turns out the match info object used to create the result > > object is the regexp_last_match_info living on native context, and thus > > it can change between the creation of the result object and the generation > > of indices. This cl clones the match info which will be safer. > > > > Bug: v8:9548 > > Change-Id: Ia6f26f88fbc22fd09671bf4c579d39a1510b552d > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864585 > > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#64356} > > TBR=jgruber@chromium.org,joshualitt@chromium.org > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: v8:9548, chromium:1015749 > Change-Id: I9c30b8fb459cf2aa89d920bf061614441250844d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1870236 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64407} TBR=jgruber@chromium.org,joshualitt@chromium.org Bug: v8:9548, chromium:1015749 Change-Id: I151511307e3d8752fdbde4b8247514031b141b08 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879587Reviewed-by:
Joshua Litt <joshualitt@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#64587}
-
- 22 Oct, 2019 1 commit
-
-
Joshua Litt authored
Currently, RegExpResult builds match indices lazily using data stored in hidden internal fields on the result object itself. Unfortunately, if an internal field is deleted, it can cause these hidden fields to migrate to a dictionary, making indexed lookup unsafe. This CL forces slow but safe lookup for these fields when lazily building indices. Bug: v8:9548, chromium:1013133 Change-Id: Ide87d9ca6a73644ced3de8e35ecac26330d365e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1871756Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#64474}
-
- 21 Oct, 2019 1 commit
-
-
Jakob Gruber authored
This reverts commit dfd9ceb9. Reason for revert: Regressions https://chromeperf.appspot.com/group_report?rev=64356 https://crbug.com/1015749 Original change's description: > [regexp] Clone match info for match indices. > > The current behavior for generating match indices simply stashes a > pointer to the match info and then constructs the indices lazily. > However, it turns out the match info object used to create the result > object is the regexp_last_match_info living on native context, and thus > it can change between the creation of the result object and the generation > of indices. This cl clones the match info which will be safer. > > Bug: v8:9548 > Change-Id: Ia6f26f88fbc22fd09671bf4c579d39a1510b552d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864585 > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64356} TBR=jgruber@chromium.org,joshualitt@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:9548, chromium:1015749 Change-Id: I9c30b8fb459cf2aa89d920bf061614441250844d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1870236 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64407}
-
- 17 Oct, 2019 1 commit
-
-
Joshua Litt authored
The current behavior for generating match indices simply stashes a pointer to the match info and then constructs the indices lazily. However, it turns out the match info object used to create the result object is the regexp_last_match_info living on native context, and thus it can change between the creation of the result object and the generation of indices. This cl clones the match info which will be safer. Bug: v8:9548 Change-Id: Ia6f26f88fbc22fd09671bf4c579d39a1510b552d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864585 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64356}
-
- 05 Sep, 2019 1 commit
-
-
Joshua Litt authored
Implements match indices for regexp, as specified by https://github.com/tc39/proposal-regexp-match-indices, a stage 3 TC39 proposal. This implementation is hidden behind the '--harmony-regexp-match-indices' flag. Regexp match indices extends the JSRegExpResult object with an array of indices of matches, as well as a dictionary of capture names to match indices. Bug: v8:9548 Change-Id: Ia9efcee00d997dda6158539b8d0f4c4e5965e5e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1771379 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63581}
-
- 23 Aug, 2019 3 commits
-
-
Joshua Litt authored
This reverts commit 9460101c. Reason for revert: Causes confusion on Blink side, as it introduces an object with >=2 internal fields that is not a wrapper (see bug). Bug: chromium:996681 Change-Id: I275b5a064a4ee8c73c05f97be322924a3bc5370e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1769148Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#63386}
-
Andreas Haas authored
This reverts commit 5db04cc0. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "[regexp] Only append to JSRegExpResult's initial map if we add descriptor" > > This reverts commit dc1cc223. > > Revert "[regexp] Implement the match indices proposal" > > This reverts commit 9460101c. > > Reason for revert: Causes confusion on Blink side, as it introduces > an object with >=2 internal fields that is not a wrapper (see bug). > > Bug: chromium:996681 > Change-Id: I5c167e9e15bfbec2aa6b843e3063ead5d52fb26c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1768897 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63376} TBR=yangguo@chromium.org,sigurds@chromium.org,joshualitt@chromium.org Change-Id: Ic58fc3fc83faaf86bd895da29eacb7d51c443beb No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:996681 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1768584Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#63379}
-
Joshua Litt authored
This reverts commit dc1cc223. Revert "[regexp] Implement the match indices proposal" This reverts commit 9460101c. Reason for revert: Causes confusion on Blink side, as it introduces an object with >=2 internal fields that is not a wrapper (see bug). Bug: chromium:996681 Change-Id: I5c167e9e15bfbec2aa6b843e3063ead5d52fb26c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1768897 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#63376}
-
- 20 Aug, 2019 1 commit
-
-
Joshua Litt authored
Implements match indices for regexp, as specified by https://github.com/tc39/proposal-regexp-match-indices, a stage 3 TC39 proposal. This implementation is hidden behind the '--harmony-regexp-match-indices' flag. Regexp match indices extends the JSRegExpResult object with an array of indices of matches, as well as a dictionary of capture names to match indices. Bug: v8:9548 Change-Id: I9866a2d1f5af6a507de710357cb5e74c694e7558 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1734937 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#63272}
-