- 13 May, 2022 1 commit
-
-
Clemens Backes authored
Now that we require C++17 support, we can just use the standard static_assert without message, instead of our STATIC_ASSERT macro. R=leszeks@chromium.org Bug: v8:12425 Change-Id: I1d4e39c310b533bcd3a4af33d027827e6c083afe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3647353Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80524}
-
- 06 May, 2022 1 commit
-
-
Clemens Backes authored
The no_condition / kNoCondition not only has the flaw that it's a special case which represents an illegal / nonexisting condition, and thus needs special handling in all methods which get a condition as input (this check is often missing), it is also weird in that every negative condition value must be considered a "no condition". It turns out that this "no condition" is rarely used, and can easily be avoided by duplicating methods, or storing a {base::Optional<Condition>} instead (not needed anywhere yet). This is a follow-up to https://crrev.com/c/3629553. R=tebbi@chromium.org, pthier@chromium.org Bug: v8:12425 Change-Id: Id2270b1660fcb0aff0a8460961b57068ed1c3c73 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3632102Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#80397}
-
- 19 Oct, 2021 1 commit
-
-
Jakob Gruber authored
Large character classes may easily be created when unicode properties (e.g.: /\p{L}/u and /\P{L}/u) are used - these are expanded internally into character classes that consist of hundreds of character ranges. Previously to this CL, we'd emit branching code for each of these ranges, leading to very large regexp code objects. This CL adds a new codegen mode for large character classes (where 'large' currently means > 16 ranges). Instead of emitting branching code inline, the ranges are written into a ByteArray and we call into the C function IsCharacterInRangeArray for the actual branching logic. The ByteArray is smaller than emitted code and is deduplicated if the same character class is matched repeatedly in the same pattern. Note this mode is *not* implemented for the interpreter, since we currently don't have a constant pool for irregexp bytecode, and thus cannot reference ByteArrays. Bug: v8:11069 Change-Id: I2d728e42d85114b796c637f791848731a104cd54 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3229377Reviewed-by:
Patrick Thier <pthier@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77463}
-
- 12 Oct, 2021 1 commit
-
-
Jakob Gruber authored
.. instead of referring to them through magic chars {s,S,w,W,d,D,n,.,*}. Change-Id: Ib50937a2a7d4229a021377586a54be3db9ed8c1d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3217196 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#77337}
-
- 11 Oct, 2021 1 commit
-
-
Jakob Gruber authored
No functional changes. - Removed unused Isolate* argument from regexp extrefs. - Added const where possible. - Removed unused functions. - Shuffled declarations for better readability. - ... Change-Id: I6d9093052e8de4e33e9411541a691d0bab7b20c9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3217193 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#77316}
-
- 06 Oct, 2021 1 commit
-
-
Clemens Backes authored
Replace 'virtual' by 'override' when overriding methods. This uncovered one method which was unnecessarily virtual: {RegExpMacroAssemblerARM64::CheckCharacters}. R=jgruber@chromium.org Bug: v8:12244 Change-Id: Ia4480b7b234d3d40cc5821c38ef83f74f8421b6b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3204966Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#77252}
-
- 30 Sep, 2021 1 commit
-
-
Jakob Gruber authored
Irregexp reentrancy (crrev.com/c/3162604) introduced a bug for global regexp execution in which each iteration would use a new stack region (i.e. we forgot to pop the regexp stack pointer when starting a new iteration). This CL fixes that by popping the stack pointer on the loop backedge. At a high level: - Initialize the backtrack_stackpointer earlier and avoid clobbering it by setup code. - Pop it on the loop backedge. - Slightly refactor Push/Pop operations to avoid unneeded memory accesses. Bug: v8:11382 Change-Id: Ibad6235767e110089a2b346034f923590b286a05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3194251Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77158}
-
- 27 Sep, 2021 1 commit
-
-
Jakob Gruber authored
.. by turning `masm_` into a unique_ptr s.t. it's freed after the NoRootArrayScope which references it. Fixed: chromium:1252620 Change-Id: I24580c5a96d76a973b2b083e7a76b95f93bb6068 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3185459 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#77082}
-
- 23 Sep, 2021 2 commits
-
-
Jakob Gruber authored
The argument is no longer in use. Bug: v8:11382 Change-Id: I7febc7fe7ef17ae462c700f0dba3ca1beade3021 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3173681 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#77017}
-
Jakob Gruber authored
.. by reusing the regexp stack from potentially multiple nested irregexp activations. To do this, we now maintain a stack pointer in RegExpStack. This stack pointer is synchronized at all boundaries between generated irregexp code and the outside world, i.e. when entering or returning from irregexp code, and when calling into C functions such as GrowStack. Fixed: v8:11382 Change-Id: I5ed27630c1a64ebf3afb9ddf80fb60ea067c0c40 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3162604Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77013}
-
- 24 Jun, 2021 3 commits
-
-
Dan Elphick authored
This is a reland of 9701d4a4 with a small fix for some code landed in between the dry-run and submission. Original change's description: > [base] Move most of src/numbers into base > > Moves all but conversions.*, hash-seed-inl.h and math-random.* into > base, in preparation for moving the parts of conversions that don't > access HeapObjects. > > Also moves uc16 and uc32 out of commons/globals.h into base/strings.h. > > Bug: v8:11917 > Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Auto-Submit: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75354} Bug: v8:11917 Change-Id: Ie1ec9032fe56646a7c7303185cecc70fce5694ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982607Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75368}
-
Nico Hartmann authored
This reverts commit 9701d4a4. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64/40802/overview Original change's description: > [base] Move most of src/numbers into base > > Moves all but conversions.*, hash-seed-inl.h and math-random.* into > base, in preparation for moving the parts of conversions that don't > access HeapObjects. > > Also moves uc16 and uc32 out of commons/globals.h into base/strings.h. > > Bug: v8:11917 > Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Auto-Submit: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75354} Bug: v8:11917 Change-Id: Iacf796c95256016fa74f0a910c5bb1a86baa425a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982605 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#75356}
-
Dan Elphick authored
Moves all but conversions.*, hash-seed-inl.h and math-random.* into base, in preparation for moving the parts of conversions that don't access HeapObjects. Also moves uc16 and uc32 out of commons/globals.h into base/strings.h. Bug: v8:11917 Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75354}
-
- 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}
-
- 05 Aug, 2020 1 commit
-
-
Jakob Gruber authored
With the new Turbofan variants (NCI and Turboprop), we need a way to distinguish between them both during and after compilation. We initially introduced CompilationTarget to track the variant during compilation, but decided to reuse the code kind as the canonical spot to store this information instead. Why? Because it is an established mechanism, already available in most of the necessary spots (inside the pipeline, on Code objects, in profiling traces). This CL removes CompilationTarget and adds a new NATIVE_CONTEXT_INDEPENDENT kind, plus helper functions to determine various things about a given code kind (e.g.: does this code kind deopt?). As a (very large) drive-by, refactor both Code::Kind and AbstractCode::Kind into a new CodeKind enum class. Bug: v8:8888 Change-Id: Ie858b9a53311b0731630be35cf5cd108dee95b39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336793 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69244}
-
- 03 Jun, 2020 1 commit
-
-
Iain Ireland authored
https://crrev.com/c/2072858 rewrote the implementation of non-unicode ignore-case matches to comply with the JS spec in some corner cases. It fixed character matches and character class matches. We missed a similar bug in the implementation of back references. This CL fixes that bug. The main change is in regexp-macro-assembler.cc, where CaseInsensitiveCompareUC16 is split into CaseInsensitiveCompareUnicode (which has the same semantics as before) and CaseInsensitiveCompareNonUnicode (which has the semantics described here: https://tc39.es/ecma262/#sec-runtime-semantics-canonicalize-ch). Most of the rest of the patch undoes https://crrev.com/c/2081816 to once again make the unicode flag available to the macroassembler, so that we can decide which helper function to call. The testcase is a version of test/intl/regress-10248.js, modified to test backreferences. Bug: v8:10573 Change-Id: I70ef7d134d37f99b1f75a5eba17020e82d59f1b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219284Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68129}
-
- 21 Apr, 2020 1 commit
-
-
Iain Ireland authored
LoadCurrentCharacterImpl is implemented once in each of the eight regexp-macro-assembler-<arch>.cc files. Aside from small differences in comment wording, those eight implementations are identical. The architecture-specific code for LoadCurrentCharacter is all in LoadCurrentCharacterUnchecked. This patch hoists the definition of LoadCurrentCharacterImpl into NativeRegExpMacroAssembler and turns LoadCurrentCharacterUnchecked into a virtual function. Note: The arm64 version of LoadCurrentCharacterImpl contained the following six-year-old comment, which I don't think is worth preserving: // TODO(pielan): Make sure long strings are caught before this, and // not just asserted in debug mode. R=jgruber@chromium.org Bug: v8:10406 Change-Id: Ic81283ad3b618d6b06f4206fb77d30de617dccb7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2140003 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67260}
-
- 02 Mar, 2020 1 commit
-
-
Jakob Gruber authored
In the past we've used the isolate argument to signal whether we were in unicode mode (nullptr) or not (the real isolate). This is no longer needed, and in fact breaks no-i18n mode which always expects to have a real isolate. Bug: v8:10120 Change-Id: I2f848c4ff8c2ff0e9b84278cbcdf3c3670e44e58 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2081816Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66520}
-
- 28 Feb, 2020 1 commit
-
-
Emanuel Ziegler authored
This fixes a crash related to access after free on platforms that store the MacroAssembler as a pointer. The intended behavior is restored by explicitly setting the flag in the macro assembler instead of using NoRootArrayScope. Landing as TBR as it's blocking fuzzers and fix seems simple enough. TBR=jgruber@chromium.org R=jyan@ca.ibm.com R=miladfar@ca.ibm.com Bug: chromium:1057018 Change-Id: Ib6de82b47bb1abb74da58b3d476b359669372bb5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2080242 Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66500}
-
- 27 Feb, 2020 1 commit
-
-
Emanuel Ziegler authored
Added implementations for ia32, arm, arm64. mips/mips64 will be committed in separate CL once the build is green again in order not to stall this CL with the supported architectures. Drive-by: Fixed issues with kScratchRegister being overwritten in case of RegExp compilation by using alternative temp register for x64. Drive-by: Added missing NoRootArrayScope to ia32, arm and arm64 RegExp macro assemblers. R=clemensb@chromium.org R=petermarshall@chromium.org R=jgruber@chromium.org Bug: chromium:1045860 Change-Id: I716d852b9bf780ae7b8d61376c6505dd3af96a50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071866 Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66482}
-
- 02 Jan, 2020 1 commit
-
-
Peter Marshall authored
Just a cleanup, should not change behavior, although we will allocate more handles in some cases. Also re-orders some of the implementations of the interface to try and keep things consistent. Included cleanup: Change CodeEventDispatcher so that it now implements CodeEventListener, given that it had that exact interface already. Also remove the macro dispatch to try and make things a bit easier to read. Bug: chromium:1033407 Change-Id: Id943b10c49f102d9783d8f4cf3a8c43e04364c77 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1976390Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#65571}
-
- 21 Oct, 2019 1 commit
-
-
Jakob Gruber authored
.. similar to how it is applied in the interpreter. We reserve a stack slot for the backtrack count, increment it on each backtrack, and fail if the limit is hit. Bug: v8:9695 Change-Id: I835888c612d6c8bfa2f34e73ab8c8241dcabc6ed Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864938Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64426}
-
- 04 Sep, 2019 1 commit
-
-
Patrick Thier authored
Instead of checking code flags to decide if the irregexp code object is an off-heap trampoline, we now directly load the builtin index offset and treat the code as on-heap if the offset is -1. In addition the regexp stack now has its own external reference for top of stack address. This prevents calculating the top of stack address using the base address and size at every invocation. Bug: chromium:999993 Change-Id: I23649e8b410a56276f26846b0b12ad29310c3db7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1782565Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Patrick Thier <pthier@google.com> Cr-Commit-Position: refs/heads/master@{#63548}
-
- 29 Aug, 2019 2 commits
-
-
Patrick Thier authored
The code fields in a JSRegExp object now either contain irregexp compiled code or a trampoline to the interpreter. This way the code can be executed without explicitly checking if the regexp shall be interpreted or executed natively. In case of interpreted regexp the generated bytecode is now stored in its own fields instead of the code fields for Latin1 and UC16 respectively. The signatures of the jitted irregexp match and the regexp interpreter have been equalized. Bug: v8:9516 Change-Id: I30e3d86f4702a902d3387bccc1ee91dea501fe4e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762513 Commit-Queue: Patrick Thier <pthier@google.com> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63457}
-
Jakob Gruber authored
Similar to CheckNotAtStart, one can now apply an offset to the CheckAtStart operation. Due to a recent change, all callsites of CheckNotAtStart now need to pass an offset, whereas previously the offset was just assumed to be zero. Bug: chromium:996391 Change-Id: Ia59a584e93e5384479f05abddef7859b420b023a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1773272 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#63444}
-
- 13 Aug, 2019 1 commit
-
-
Jakob Gruber authored
Previously these were called (real) stack limit on one end, (real) jslimit on the other. With this CL we consistently use jslimit everywhere. Tbr: tebbi@chromium.org Bug: v8:9534 Change-Id: I9f86ac113bb9682544c365d54f666c1312a073a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1748738 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63179}
-
- 25 Jul, 2019 1 commit
-
-
Seth Brenith authored
The motivating example is JetStream 2's UniPoker test, which tests whether a sorted string of Unicode playing cards contains a five-card straight using a regular expression. In the top-level generated loop for this RegExp, we see this loop exit condition: 00000350000C2067 27 83fffe cmpl rdi,0xfe 00000350000C206A 2a 0f8da8e40000 jge 00000350000D0518 <+0xe4d8> Meaning if the current position is pointing at the very last (16-bit) character, then we exit the loop. Otherwise we go on and try to find various matches starting at the current position. However, we can see in the original expression that any possible match is at least 10 characters (5 astral-plane Unicode values), so we're wasting a lot of time attempting to find matches in cases where we're too close to the end of the string for any match to succeed. This example might be a bit contrived, but I expect that an improvement in this bounds check would help a larger family of regular expressions, where the minimum match length is large relative to the string being matched and we don't meet the other necessary criteria for fast Boyer- Moore lookahead. To get the desired bounds check in this case, this patch does the following: 1. Compute accurate EatsAtLeast values for every node during the analysis phase. This could end up doing more work than the current implementation, but analysis already has to touch every node, so it seems like a cache-friendly time to compute these values. In some cases, this might be less total work than the current implementation, because the current implementation might recompute the same node multiple times. 2. When emitting a quick check, use the EatsAtLeast value from the predecessor ChoiceNode for the bounds check. This improves the UniPoker score on my machine by about 4%, because it cuts the time spent checking for straights roughly in half, and checking for straights originally accounted for about 8% of the total time. Bug: v8:9305 Change-Id: I110b190c2578f73b2263259d5aa5750e921b01be Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1702125 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62919}
-
- 24 Jul, 2019 1 commit
-
-
Patrick Thier authored
This is a reland of c2ee4a79 Original change's description: > Reland "[regexp] Call the regexp interpreter without CEntry overhead" > > This is a reland of d4d28b73 > > Original change's description: > > [regexp] Call the regexp interpreter without CEntry overhead > > > > Previously all RegExp calls went through Runtime_RegExpExec when --regexp-interpret-all was set. > > > > This CL avoids the runtime overhead by calling into the interpreter directly from the RegExpExec Builtin when the regular expression subject was already compiled to ByteCode (i.e. after the first call). > > > > Bug: v8:8954 > > Change-Id: Iae9dfcef3370b772a05b2942305335d592f6f15a > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1698391 > > Commit-Queue: Patrick Thier <pthier@google.com> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#62753} > > Bug: v8:8954 > Change-Id: I1f0b6de9c6da65bcb582ddb41a37419116a5c510 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706053 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Patrick Thier <pthier@google.com> > Cr-Commit-Position: refs/heads/master@{#62794} Bug: v8:8954 Change-Id: Ice77c05240f1fabd36bf97b8e789dd4c25a9718f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1715451Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62904}
-
- 19 Jul, 2019 1 commit
-
-
Sathya Gunasekaran authored
This reverts commit c2ee4a79. Reason for revert: webgl_conformance_tests deqp/data/gles2/shaders/conversions.html crashes on Android FYI Release (Nexus 9) See https://bugs.chromium.org/p/chromium/issues/detail?id=985624 Original change's description: > Reland "[regexp] Call the regexp interpreter without CEntry overhead" > > This is a reland of d4d28b73 > > Original change's description: > > [regexp] Call the regexp interpreter without CEntry overhead > > > > Previously all RegExp calls went through Runtime_RegExpExec when --regexp-interpret-all was set. > > > > This CL avoids the runtime overhead by calling into the interpreter directly from the RegExpExec Builtin when the regular expression subject was already compiled to ByteCode (i.e. after the first call). > > > > Bug: v8:8954 > > Change-Id: Iae9dfcef3370b772a05b2942305335d592f6f15a > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1698391 > > Commit-Queue: Patrick Thier <pthier@google.com> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#62753} > > Bug: v8:8954 > Change-Id: I1f0b6de9c6da65bcb582ddb41a37419116a5c510 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706053 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Patrick Thier <pthier@google.com> > Cr-Commit-Position: refs/heads/master@{#62794} TBR=jgruber@chromium.org,petermarshall@chromium.org,pthier@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:8954, chromium:985624 Change-Id: I5bc2c397a09979f42f28670f80a5366f2a33d80f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1709411 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62824}
-
- 18 Jul, 2019 1 commit
-
-
Patrick Thier authored
This is a reland of d4d28b73 Original change's description: > [regexp] Call the regexp interpreter without CEntry overhead > > Previously all RegExp calls went through Runtime_RegExpExec when --regexp-interpret-all was set. > > This CL avoids the runtime overhead by calling into the interpreter directly from the RegExpExec Builtin when the regular expression subject was already compiled to ByteCode (i.e. after the first call). > > Bug: v8:8954 > Change-Id: Iae9dfcef3370b772a05b2942305335d592f6f15a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1698391 > Commit-Queue: Patrick Thier <pthier@google.com> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62753} Bug: v8:8954 Change-Id: I1f0b6de9c6da65bcb582ddb41a37419116a5c510 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706053Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Patrick Thier <pthier@google.com> Cr-Commit-Position: refs/heads/master@{#62794}
-
- 17 Jul, 2019 2 commits
-
-
Sathya Gunasekaran authored
This reverts commit d4d28b73. Reason for revert: breaks TSAN bot: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20concurrent%20marking/9526 Original change's description: > [regexp] Call the regexp interpreter without CEntry overhead > > Previously all RegExp calls went through Runtime_RegExpExec when --regexp-interpret-all was set. > > This CL avoids the runtime overhead by calling into the interpreter directly from the RegExpExec Builtin when the regular expression subject was already compiled to ByteCode (i.e. after the first call). > > Bug: v8:8954 > Change-Id: Iae9dfcef3370b772a05b2942305335d592f6f15a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1698391 > Commit-Queue: Patrick Thier <pthier@google.com> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62753} TBR=jgruber@chromium.org,petermarshall@chromium.org,pthier@google.com Change-Id: I3257220c4359a3b801dd80e0eff6c4534d8badee No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8954 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706050Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62757}
-
Patrick Thier authored
Previously all RegExp calls went through Runtime_RegExpExec when --regexp-interpret-all was set. This CL avoids the runtime overhead by calling into the interpreter directly from the RegExpExec Builtin when the regular expression subject was already compiled to ByteCode (i.e. after the first call). Bug: v8:8954 Change-Id: Iae9dfcef3370b772a05b2942305335d592f6f15a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1698391 Commit-Queue: Patrick Thier <pthier@google.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#62753}
-
- 28 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I2f999ed3a8cc0931e5092f2ac6e709b8ff3f9e42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1630678 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61896}
-
- 23 May, 2019 1 commit
-
-
Yang Guo authored
TBR=bmeurer@chromium.org,leszeks@chromium.org Bug: v8:9247 Change-Id: I8d14d0192ea8c705f8274e8e61a162531826edb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624220Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61769}
-
- 21 May, 2019 2 commits
-
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
Yang Guo authored
Bug: v8:9247 Change-Id: I9bcf2694b449f79cdbe03f5fde59cb21b8cad418 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619758 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#61676}
-
- 20 May, 2019 1 commit
-
-
Yang Guo authored
TBR=verwaest@chromium.org,rmcilroy@chromium.org NOTREECHECKS=true NOPRESUBMIT=true Bug: v8:9247 Change-Id: I9ddfb6e56ca8e47c4ac186a8df5f442d26420a69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617661 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61642}
-
- 17 May, 2019 2 commits
-
-
Yang Guo authored
This reverts commit 5f285395. Reason for revert: presubmit failure Original change's description: > Move logging and diagnostics related source files > > This also introduces a COMMON_OWNERS file, which is derived from the > current top-level OWNERS file. It is to be used for parts of the > codebase that is not sensitive to domain-specific expertise. > > NOPRESUBMIT=true > TBR=verwaest@chromium.org > > Bug: v8:9247 > Change-Id: I34a5eaa7cb1509a80d15094a2aceedd62665b17c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613987 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61600} TBR=rmcilroy@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Change-Id: I3827c3af4fd63b18aa48c49617f318a01746e813 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9247 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617247Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61601}
-
Yang Guo authored
This also introduces a COMMON_OWNERS file, which is derived from the current top-level OWNERS file. It is to be used for parts of the codebase that is not sensitive to domain-specific expertise. NOPRESUBMIT=true TBR=verwaest@chromium.org Bug: v8:9247 Change-Id: I34a5eaa7cb1509a80d15094a2aceedd62665b17c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613987Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61600}
-
- 02 May, 2019 1 commit
-
-
Seth Brenith authored
On Windows, expanding the stack by more than 4 KB at a time can cause access violations. This change fixes a few known cases (and includes unit tests for those), and attempts to make stack expansion more consistent overall by using the AllocateStackSpace helper method everywhere we can, even when the offset is a small constant. On arm64, there was already a consistent method for stack pointer manipulation using the Claim and Drop methods, so Claim is updated to touch every page. Bug: v8:9017 Change-Id: I2dbbceeebbdefaf45803e9b621fe83f52234a395 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1570666 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61186}
-