- 12 Jan, 2021 2 commits
-
-
Camillo Bruni authored
Make sure gcmole detects issue in DisallowGarbageCollection scopes. DisallowGarbageCollection is widely used in the codebase to document code that doesn't allocate. However, this has the rather unexpected side-effect that gcmole is not run when such a scope is active. This CL changes the default behavior of gcmole to run even with DisallowGarbageCollection scopes present. This will give us the best results of both worlds, dynamic checks by the fuzzer, and static analysis by gcmole. To allow crazy local raw pointer operations there is a new DisableGCMole scope that explicitly disables gcmole. Change-Id: I0a78fb3b4ceaad35be9bcf7293d917a41f90c91f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2615419Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#72039}
-
Georgia Kouveli authored
The frame pointer did not point to the previous frame pointer, which made the stack non-iterable with SafeStackFrameIterator. This can cause pointer authentication failures when CFI is enabled, as we expect the value stored above the previous frame pointer to be a return address. Bug: v8:10026 Change-Id: Ia55181038b1b277d0a6df519f1e7f61859847b1a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2614429Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#72036}
-
- 21 Dec, 2020 2 commits
-
-
Junliang Yan authored
Change-Id: I036bad7eba4bcf0ba80f7cec6f3d58a674e22b12 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599937Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71854}
-
Junliang Yan authored
Change-Id: Idb8948c3ff9209a6a41d0793cd2f5c1557b417df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2598697Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71851}
-
- 14 Dec, 2020 1 commit
-
-
Junliang Yan authored
Change-Id: I232585076ecf6a824cdbe2e989eadaf96adcc1d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2587241Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71737}
-
- 11 Dec, 2020 3 commits
-
-
Junliang Yan authored
Change-Id: I59c905182294dc4e8fb8caf03f10ea66d332e034 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2586153Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71724}
-
Junliang Yan authored
Change-Id: I6d7e263b84d6871cb13cb01b2b51299b9249d961 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2586994Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71720}
-
Junliang Yan authored
Change-Id: I9761b80f32beeb53e466fc67ee1c535075e4225c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2586993Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71717}
-
- 10 Dec, 2020 1 commit
-
-
Junliang Yan authored
a few unused functions Drive-By: Also clean up LoadSimd128 as LoadV128 and remove Change-Id: I4cdee0fcb1e153309492026b4334af27afba7ec1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2584442 Commit-Queue: Junliang Yan <junyan@redhat.com> Reviewed-by:
Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#71701}
-
- 04 Dec, 2020 1 commit
-
-
Junliang Yan authored
Replace LoadW/lW/LogicalHalfWordP/HalfWordP/B/lB/Float32/Double as LoadS32/U32/S16/U16/S8/U8/F32/F64 Change-Id: I2a41dee0168fb17eb4043ce78f857e1fd898ea8a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2575139Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71621}
-
- 26 Nov, 2020 1 commit
-
-
Santiago Aboy Solanes authored
Scopes in V8 are used to guarantee one or more properties during its lifetimes. If a scope is not named e.g MyClassScope(args) instead of MyClassScope scope(args) it will get created and automatically destroyed and therefore, being useless as a scope. This CL would produce a compiling warning when that happens to ward off this developer error. Follow-up to ccrev.com/2552415 in which it was introduced and implemented for Guard classes. Change-Id: Ifa0fb89cc3d9bdcdee0fd8150a2618af5ef45cbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555001 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#71425}
-
- 24 Nov, 2020 2 commits
-
-
Leszek Swirski authored
Add a CompareCharsEqual to complement CompareChars, where we only care about equality and not ordering. For such cases, we can memcmp for two- byte as well as one-byte strings (we can't for CompareChars because the ordering would be incorrect on little-endian systems). Replace uses of CompareChars that only compare the result against zero, with CompareCharsEqual. Additionally, use some template magic to simplify the "make unsigned" operation in these methods. Change-Id: I0d65bee81b98d3938d15daa4af331c90558ea84f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2557980 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#71385}
-
Georg Neis authored
Apart from removing Min and Max (utils.h), this is mostly a renaming. In a few cases I had to add a cast. In a bunch of cases I had to use initializer lists to force call-by-value for static member constants because call-by-reference wouldn't compile (like in the previous CL). In a few places I used initializer lists in place of nested min/max operations. Bug: v8:11074 Change-Id: I53a5411be6334ff41e7a8517e6b87fb46f14d086 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2545523 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#71380}
-
- 20 Nov, 2020 1 commit
-
-
Leszek Swirski authored
Because of LocalHeap safepoints, our existing assert scopes don't necessarily maintain the same guarantees as desired. In particular, DisallowHeapAllocation no longer guarantees that objects don't move. This patch transitions DisallowHeapAllocation to DisallowGarbageCollection, to ensure that code using this scope is also protected against safepoints. Change-Id: I0411425884f6849982611205fb17bb072881c722 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2540547 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#71319}
-
- 18 Nov, 2020 1 commit
-
-
Milad Fa authored
Change-Id: I2f6e76d93309f44f90a24c2ce93f324b44a8fc6b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2544921Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#71271}
-
- 16 Nov, 2020 1 commit
-
-
Igor Sheludko authored
... and use Name::hash() where the hash is expected to be computed. In particular, when we are dealing with internalized strings or symbols. Bug: v8:11074 Change-Id: Ida22f134fee0ddf2c9b962d1bcca6aa0b632af5f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2529451Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#71200}
-
- 09 Nov, 2020 1 commit
-
-
Zhi An Ng authored
Bug: v8:11074 Change-Id: I8deefa9cf5ac10b769e4ebb7029a82957cf669c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2525540Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71029}
-
- 03 Nov, 2020 1 commit
-
-
Santiago Aboy Solanes authored
String::FlatContent and FlatStringReader are ways of reading a flat String. Both of them provide a speedy interface to read a String since they bypass the dynamic dispatch of String::Get. For this very same reason, they are not safe to be used from background threads. Bug: v8:7790 Change-Id: I919ae5e3862df81ff3ebb5131144ff5961197b35 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2509596 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#70945}
-
- 02 Nov, 2020 1 commit
-
-
Vasili Skurydzin authored
Change-Id: I14941fcc34773791a86c6fb250237279641fd690 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2510070Reviewed-by:
Milad Fa <mfarazma@redhat.com> Reviewed-by:
Michael Dawson <midawson@redhat.com> Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#70924}
-
- 30 Oct, 2020 1 commit
-
-
Martin Bidlingmaier authored
This commit adds the 'l' (linear) RegExp flag (as in e.g. /asdf|123/l) that forces execution in linear time. These regexps are handled by the experimental engine. If the experimental engine cannot handle the pattern, an exception is thrown on creation of the regexp. The commit also adds a new global V8 flag and changes an existing one: * --enable-experimental-engine, which turns on recognition of the RegExp 'l' flag. Previously this flag also caused all supported regexps to be executed by the experimental engine; this is not the case anymore. * --default-to-experimental-regexp-engine takes over the previous semantics of --enable-experimental-regexp-engine: We execute all supported regexps with the experimental engine. Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Bug: v8:10765 Change-Id: I5622a89b19404105e8be280d454e9fdd63c003b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461244Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Martin Bidlingmaier <mbid@google.com> Cr-Commit-Position: refs/heads/master@{#70892}
-
- 29 Oct, 2020 1 commit
-
-
Mathias Bynens authored
This reverts commit 1eecdf34. Reason for revert: unacceptable binary size increase (+65.5 KiB) We’ll reland once we implement a more efficient way to store the sequences. Original change's description: > Update RegExp sequence property support > > This patch aligns --harmony-regexp-sequence with the latest version of > the corresponding TC39 and Unicode proposals. > > The list of supported properties has been changed: > > - https://github.com/tc39/proposal-regexp-unicode-sequence-properties#proposed-solution > - https://unicode.org/reports/tr18/#Full_Properties > > Furthermore, the Unicode data now uses Unicode v13.0.0 instead of v12.0.0. > > Bug: v8:7467 > Change-Id: I1ac386d87af68d68e84e919cb5ffc1313443844a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2497163 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Mathias Bynens <mathias@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70752} TBR=yangguo@chromium.org,jgruber@chromium.org,mathias@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:7467 Change-Id: I6721f4862827dc686d96d79498a1e8fdae4481d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2505758Reviewed-by:
Mathias Bynens <mathias@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#70866}
-
- 26 Oct, 2020 2 commits
-
-
Mathias Bynens authored
This patch aligns --harmony-regexp-sequence with the latest version of the corresponding TC39 and Unicode proposals. The list of supported properties has been changed: - https://github.com/tc39/proposal-regexp-unicode-sequence-properties#proposed-solution - https://unicode.org/reports/tr18/#Full_Properties Furthermore, the Unicode data now uses Unicode v13.0.0 instead of v12.0.0. Bug: v8:7467 Change-Id: I1ac386d87af68d68e84e919cb5ffc1313443844a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2497163Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#70752}
-
Jakob Gruber authored
This is a reland of b66993bc Nothing changed in the reland, the original CL was not the culprit for win32 failures. They started earlier, at https://ci.chromium.org/p/v8/builders/ci/V8%20Win32/29444 Original change's description: > [code] Separate instruction and metadata areas > > In this CL, Code object layout changes s.t. the instruction > area is distinct / non-overlapping from the metadata area. > > On-heap Code objects now have a variable-size `body` area, > containing distinct-but-adjacent `instruction` and `metadata` > areas. > > Off-heap code (= embedded builtins) currently have the same, > but in the future the metadata area will move elsewhere and > no longer be adjacent to instructions. > > To implement this, the main changes are: > > - The Code object header now contains instruction and metadata > sizes, and no longer contains the safepoint table offset > (it's implicitly the first table of the metadata section). > - The embedded metadata table contains information about both > instruction and metadata areas. > > I've also added assertions in spots that currently rely on a > contiguous body area. > > Bug: v8:11036 > Change-Id: I940f0c70c07ad511dafd2d2c3e337de8c92cd4b9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491025 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70743} No-Presubmit: true No-Tree-Checks: true No-Try: true Tbr: leszeks@chromium.org, clemensb@chromium.org, dinfuehr@chromium.org Bug: v8:11036 Change-Id: I238562d7e25cf28cc689856ee8b17f25627aaee7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2497162 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#70747}
-
- 25 Oct, 2020 2 commits
-
-
Zhi An Ng authored
This reverts commit b66993bc. Reason for revert: Broke v8 win32 https://ci.chromium.org/p/v8/builders/ci/V8%20Win32/29454? Original change's description: > [code] Separate instruction and metadata areas > > In this CL, Code object layout changes s.t. the instruction > area is distinct / non-overlapping from the metadata area. > > On-heap Code objects now have a variable-size `body` area, > containing distinct-but-adjacent `instruction` and `metadata` > areas. > > Off-heap code (= embedded builtins) currently have the same, > but in the future the metadata area will move elsewhere and > no longer be adjacent to instructions. > > To implement this, the main changes are: > > - The Code object header now contains instruction and metadata > sizes, and no longer contains the safepoint table offset > (it's implicitly the first table of the metadata section). > - The embedded metadata table contains information about both > instruction and metadata areas. > > I've also added assertions in spots that currently rely on a > contiguous body area. > > Bug: v8:11036 > Change-Id: I940f0c70c07ad511dafd2d2c3e337de8c92cd4b9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491025 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70743} TBR=jgruber@chromium.org,leszeks@chromium.org,clemensb@chromium.org,dinfuehr@chromium.org Change-Id: Ia52ac609a47b8a2038a2511f0af8526ebdfe4719 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:11036 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2497381Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70744}
-
Jakob Gruber authored
In this CL, Code object layout changes s.t. the instruction area is distinct / non-overlapping from the metadata area. On-heap Code objects now have a variable-size `body` area, containing distinct-but-adjacent `instruction` and `metadata` areas. Off-heap code (= embedded builtins) currently have the same, but in the future the metadata area will move elsewhere and no longer be adjacent to instructions. To implement this, the main changes are: - The Code object header now contains instruction and metadata sizes, and no longer contains the safepoint table offset (it's implicitly the first table of the metadata section). - The embedded metadata table contains information about both instruction and metadata areas. I've also added assertions in spots that currently rely on a contiguous body area. Bug: v8:11036 Change-Id: I940f0c70c07ad511dafd2d2c3e337de8c92cd4b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491025Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#70743}
-
- 22 Oct, 2020 1 commit
-
-
Jakob Gruber authored
No major functional changes in this CL, mostly it moves code around to make follow-up CLs less messy. - Document Code layout. - New concepts: 'body' and 'metadata' areas of Code objects. The metadata area contains metadata tables, the body area includes both instructions and metadata (this is currently the 'instructions' area). Add accessors for these new areas. - An interesting detail: embedded builtins will have non-adjacent instruction and metadata areas, thus a concept of 'body' doesn't make sense there. - Also add raw_instruction_X_future accessors; these are used where we are actually interested in the instructions range, not the entire body. In a follow-up, current raw_instruction_X accessors will be replaced by raw_body_X, and raw_instruction_X_future by raw_instruction_X. Bug: v8:11036 Change-Id: I1d85146b652e0c097c3602d4db1862d5d3898a7e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491023 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#70701}
-
- 21 Oct, 2020 1 commit
-
-
Milad Fa authored
cmpi only takes in a 16 bit signed integer. For larger inputs we must use cmp with a register input. Change-Id: I318d714930553fbad4c34097c7530055308f331a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2490460Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#70689}
-
- 20 Oct, 2020 1 commit
-
-
Edward Lesmes authored
Generate DIR_METADATA files and remove metadata from OWNERS files for v8. R=jkummerow@chromium.org, ochang@chromium.org, yangguo@chromium.org Bug: chromium:1113033 Change-Id: I82cbb62e438d82dbbc408e87120af39fa9da0afa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2476680Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org> Auto-Submit: Edward Lesmes <ehmaldonado@chromium.org> Cr-Commit-Position: refs/heads/master@{#70669}
-
- 19 Oct, 2020 2 commits
-
-
Milad Fa authored
Port dcf467a8 Original Commit Message: - Use kNoBuiltinId instead of literal -1. - Remove support for non-embedded builtins. - Update Code object layout comment. R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Ie0101d883c8116a6076a7b9ef8b82dbcd1960dbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2483628Reviewed-by:
Junliang Yan <junyan@redhat.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#70614}
-
Martin Bidlingmaier authored
The problem was that a raw regexp value was handlified to account for gc, but then afterwards we used the initial regexp value again instead of the handle. This resulted in memory violations if the gc decided to move the regexp object. Bug: chrome:1139304,v8:10765,v8:11021 Change-Id: Ib1c31ae4a960523c9939619bcca9606dbb507c81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2484771Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Martin Bidlingmaier <mbid@google.com> Cr-Commit-Position: refs/heads/master@{#70605}
-
- 16 Oct, 2020 1 commit
-
-
Jakob Gruber authored
- Use kNoBuiltinId instead of literal -1. - Remove support for non-embedded builtins. - Update Code object layout comment. Bug: v8:10933 Change-Id: Ie75c6ccc0a0f19348ae214249a8fc81f7e91df0c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2474115 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#70557}
-
- 14 Oct, 2020 1 commit
-
-
Martin Bidlingmaier authored
We fall back from irregexp to the experimental engine if a backtrack limit is exceeded and the experimental engine can handle the regexp. The feature can be turned on with a boolean flag, and an uint-valued flag controls the default backtrack limit. For regexps that are constructed with an explicit backtrack limit (API, %NewRegExpWithBacktrackLimit), we choose the lower of the explicit and default backtrack limits. The default backtrack limit does not apply to regexps that can't be handled by the experimental engine, and for such regexps an explicitly specified backtrack limit is handled as before by returning null if we exceed it. Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Bug: v8:10765 Change-Id: I580df79bd847520985b6c2c2159bc427315c89d1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436341 Commit-Queue: Martin Bidlingmaier <mbid@google.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#70500}
-
- 12 Oct, 2020 3 commits
-
-
Jakob Gruber authored
This is a reland of e2408c25 Changes since last time: also accept CRASH test results. For some reason, the CHECK failure is detected as a CRASH on mac bots. Original change's description: > [regexp] Protect against reentrant RegExpStack use > > Irregexp, and in particular the RegExpStack, are not reentrant. > Explicitly guard against reentrancy. > > Bug: chromium:1125934 > Change-Id: I0fc295f6986a89221982e6a2ccefed46193974f6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460820 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Auto-Submit: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70436} Tbr: yangguo@chromium.org Bug: chromium:1125934 Change-Id: I2116ca5944c49f6114228d4402847bdd426bdd7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465823Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#70441}
-
Nico Hartmann authored
This reverts commit e2408c25. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac64/36733?1 Original change's description: > [regexp] Protect against reentrant RegExpStack use > > Irregexp, and in particular the RegExpStack, are not reentrant. > Explicitly guard against reentrancy. > > Bug: chromium:1125934 > Change-Id: I0fc295f6986a89221982e6a2ccefed46193974f6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460820 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Auto-Submit: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70436} TBR=yangguo@chromium.org,jgruber@chromium.org Change-Id: I7b51659d21fe2d49ff343f4de0f6bb9720281b86 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1125934 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2465822Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#70437}
-
Jakob Gruber authored
Irregexp, and in particular the RegExpStack, are not reentrant. Explicitly guard against reentrancy. Bug: chromium:1125934 Change-Id: I0fc295f6986a89221982e6a2ccefed46193974f6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460820 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#70436}
-
- 07 Oct, 2020 1 commit
-
-
Martin Bidlingmaier authored
No surprises; very much based on interrupt handling in the irregexp interpreter. Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Bug: v8:10765 Change-Id: I2353cac4639a494362b8dfdf9507985fb6298c0e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2452710Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Martin Bidlingmaier <mbid@google.com> Cr-Commit-Position: refs/heads/master@{#70370}
-
- 05 Oct, 2020 1 commit
-
-
Santiago Aboy Solanes authored
We can use tag dispatching to distinguish between the synchronized and non-synchronized accessors. Also eliminated the need of adding explicit "synchronized" in the name when using the macros. As a note, we currently have one case of using both relaxed and synchronized accessors (Map::instance_descriptors). Cleaned up: * BytecodeArray::source_position_table * Code::code_data_container * Code::source_position_table * FunctionTemplateInfo::call_code * Map::instance_descriptors * Map::layout_descriptor * SharedFunctionInfo::function_data Bug: v8:7790 Change-Id: I5a502f4b2df6addb6c45056e77061271012c7d90 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2424130 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#70306}
-
- 30 Sep, 2020 1 commit
-
-
Gus Caplan authored
This is some general cleanup for the experimental regexp implementation. DeferredLabels have been merged into Labels, label APIs more closely resemble other parts of V8, and instruction codegen has been moved into its own class. Bug: v8:10765 Change-Id: I139c0a0df30e539ee39eae70fc206e6406d898b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2433058Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Gus Caplan <snek@chromium.org> Cr-Commit-Position: refs/heads/master@{#70230}
-
- 24 Sep, 2020 1 commit
-
-
Jakob Gruber authored
This fixes a case in which we forgot to assign flags to TextNodes created through AddBmpCharacters AddNonBmpSurrogatePairs AddLoneLeadSurrogates AddLoneTrailSurrogates functions. If these initially had a flag (e.g. case-insensitive 'i') set, that information was lost. This bug resulted in missing case folding in no_i18n builds (perhaps other things as well that just aren't covered by our test suite). Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Bug: v8:10131,v8:10120 Change-Id: Icef4f0dbd47971a538e07bab2f1067c383fd59c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423718Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#70106}
-
- 23 Sep, 2020 1 commit
-
-
Martin Bidlingmaier authored
The m (multiline) and s (dotall) flags just needed to be marked as allowed; the required logic was already in the regexp parser. A regexp /<x>/ without the y (sticky) flag is equivalent to the sticky regexp /.*?<x>/y. The interpreter now assumes that every regexp is sticky, and the compiler appends a preamble corresponding to /.*?/ before non-sticky regexps. To reuse existing code for compiling this preamble, the logic for each kind of quantifier is now in a separate function and called from VisitQuantifier and for the preamble. The commit also includes some improvements/fixes for character ranges: - Empty character ranges/disjunctions should never match, but before this commit they would *always* match. - The check of the range bounds in CanBeHandledVisitor was unncessary; without the unicode flag this can't be a range that can't be specified in 2-byte codepoints, and once we support unicode we simply support all codepoints. - The capacity of the list containing the complementary intervals of a character range is now calculated more accurately. Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Bug: v8:10765 Change-Id: I71a0e07279b4e1140c0ed1651b3714200c801de9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404766 Commit-Queue: Martin Bidlingmaier <mbid@google.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#70082}
-