- 20 Jan, 2022 1 commit
-
-
Jakob Gruber authored
Use the FatalProcessOutOfMemory function such that tooling recognizes these crashes as OOM's. Drive-by: Skip one more test that leads to such stack overflows. Fixed: v8:12555, chromium:1288456 Bug: v8:12472 Change-Id: Ib9203a4aa0487744f7cea9a212aeeffda579ae23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401861 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#78692}
-
- 18 Jan, 2022 2 commits
-
-
Jakob Gruber authored
Apply case-insensitive comparisons not only for the initial character, but for the entire prefix. This avoids degenerate behavior for patterns like /aaaa|AAAA|AAAA/i (i.e. generate a single 4-char prefix instead of four 1-char prefixes). Bug: v8:12472 Change-Id: Ib2b49fe73ca846a1b7ec90056cc64bdf5cf33026 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3398114Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#78668}
-
Jakob Gruber authored
Recursive ToNode node generation may overflow the stack for large graphs. As a quick fix, insert periodic stack overflow checks in selected ToNode methods. As a more permanent fix, in the future we could abort gracefully (instead of crashing on a CHECK), and/or refactor into iterative node generation. Bug: v8:12472 Change-Id: Ie5fbe838c5f6a5192d7d9b44bfe6f6c76a8d26e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3398112Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#78667}
-
- 22 Dec, 2021 1 commit
-
-
Lu Yahan authored
This commit allows using unaligned load/store, which is more efficient for 2 bytes,4 bytes and 8 bytes memory access. Use RISCV_HAS_NO_UNALIGNED to control whether enable the fast path or not. Change-Id: I1d321e6e5fa5bc31541c8dbfe582881d80743483 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3329803Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#78427}
-
- 21 Dec, 2021 1 commit
-
-
Lu Yahan authored
Bug: v8:12502 Change-Id: I8d1b599fc945e276b70901953368768594470204 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3343861Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Commit-Queue: ji qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#78421}
-
- 16 Dec, 2021 1 commit
-
-
Igor Sheludko authored
... in order to avoid Code <-> CodeT conversions in builtins. This CL changes the meaning of RelocInfo::CODE_TARGET which now expects CodeT objects as a code target. In order to reduce code churn this CL makes BUILTIN_CODE and friends return CodeT instead of Code. In the follow-up CLs BUILTIN_CODET and friends will be removed. Bug: v8:11880 Change-Id: Ib8f60973e55c60fc62ba84707471da388f8201b4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3338483Reviewed-by:
Patrick Thier <pthier@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78393}
-
- 01 Dec, 2021 1 commit
-
-
Jakob Gruber authored
When emitting code, character ranges must only specify ranges which the actual subject string (one- or two-byte) may contain. This was not always the case, specifically for ranges with `from <= kMaxUint8` and `to > kMaxUint8`. The reason this is so tricky: 1. not all parts of the pipeline know whether we are compiling for one- or two-byte subjects; 2. for case-insensitive regexps, an out-of-bounds CharacterRange may have an in-bounds case equivalent (e.g. /[Ÿ]/i also matches 'ÿ' == \u{ff}), which only gets added somewhere in the middle of the pipeline. Our current solution is to clamp immediately before code emission. We also keep the existing handling/dchecks of the 0x10ffff marker value which may occur in the two-byte subject case. Bug: v8:11069 Change-Id: Ic7b34a13a900ea2aa3df032daac9236bf5682a42 Fixed: chromium:1275096 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3306569 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#78186}
-
- 15 Nov, 2021 2 commits
-
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I38c9a767bd17f76bbf269ad79adc6798d94753a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3273529Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77914}
-
Liu Yu authored
Port commit 3e3a027d Beside, some registers are changed to callee-saved, and the previous related save and restore operations are removed. Bug: v8:11382 Change-Id: Ic3161f8173771c1b7c190c77cbaf2534f52ec422 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3281673Reviewed-by:
Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Auto-Submit: Liu yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#77902}
-
- 09 Nov, 2021 1 commit
-
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I5b908f056222c57e796fb76e86ceea9a77cde77f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3265066Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77782}
-
- 08 Nov, 2021 2 commits
-
-
Jakob Gruber authored
`Equals` did not properly account for arrays with odd lengths. Bug: v8:11069 Change-Id: I3264ebef248adcecd59b902bf1521cfddbd5a69d Fixed: chromium:1267674 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3264218 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77756}
-
Jakob Gruber authored
This CL adds an Allocator to SmallVector to control how dynamic storage is managed. The default value uses the plain old C++ std::allocator<T>, i.e. acts like malloc/free. For use with zone memory, one can pass a ZoneAllocator as follows: // Allocates in zone memory. base::SmallVector<int, kInitialSize, ZoneAllocator<int>> xs(ZoneAllocator<int>(zone)); Note: this is a follow-up to crrev.com/c/3240823. Drive-by: hide the internal `reset` function. It doesn't free the dynamic backing store; that's a surprise and should not be exposed to external use. Change-Id: I1f92f184924541e2269493fb52c30f2fdec032be Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3257711 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77755}
-
- 05 Nov, 2021 1 commit
-
-
Jakob Gruber authored
Capture group names were extended in https://github.com/tc39/ecma262/pull/1869/files https://github.com/tc39/ecma262/pull/1932/files RegExpIdentifierName now explicitly enables unicode (+U) for unicode escape sequences; likewise, surrogate pairs are now allowed unconditionally. The implementation simply switches on unicode temporarily while parsing a capture group name. Good news everyone, /(?<𝒜>.)/ is now a legal pattern. Bug: v8:10384 Change-Id: Ida805998eb91ed717b2e05d81d52c1ed61104e3f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233234 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77722}
-
- 04 Nov, 2021 1 commit
-
-
Jakob Gruber authored
- Use a StringShape instead of repeatedly querying type. - Add a shortcut for already-flat strings. - Unhandlify where possible (all except SlowFlatten). - Mark String::Flatten and StringShape methods V8_INLINE. - Add a specialized ConsString::IsFlat overload. Drive-by: Various (add const, remove this->, helper methods). Bug: v8:12195 Change-Id: If20df12bc29c29cff2005fdc9bd826ed9f303463 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3259527 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#77701}
-
- 03 Nov, 2021 3 commits
-
-
Jakob Gruber authored
Happy hunting. Bug: chromium:1262676 Change-Id: I0f3a5519cb9ed3dc4787acd61cb437ee8c2bf2d1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3257716 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77681}
-
Jakob Gruber authored
.. as a custom data structure with questionable value. Also: a few drive-by refactors. Change-Id: I74957b70c4357795dc46ef5520d58b6a78be31b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3240823 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77674}
-
Jakob Gruber authored
Unfortunately, CharacterRanges may use 0x10ffff as a marker value signifying 'highest possible code unit' irrespective of whether the regexp instance has the unicode flag or not. This value makes it through RegExpCharacterClass::ToNode unmodified (since no surrogate desugaring takes place without /u). Correctly mask out the 0xffff value for purposes of building our uint16_t range array. Note: It'd be better to never introduce 0x10ffff in the first place, but given the irregexp pipeline's lack of hackability I hesitate to change this - we are sure to rely on it implicitly in other spots. Drive-by: Refactors. Fixed: chromium:1264508 Bug: v8:11069 Change-Id: Ib3c5780e91f682f1a6d15f26eb4cf03636d93c25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3256549 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/main@{#77673}
-
- 27 Oct, 2021 1 commit
-
-
Jakob Gruber authored
s/LT/LE/. Fixed: chromium:1263912 Bug: v8:11069 Change-Id: I0e3378dc62e4912332deeefcfce00f23a2ec63d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3247192 Commit-Queue: Mathias Bynens <mathias@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/main@{#77574}
-
- 26 Oct, 2021 1 commit
-
-
Jakob Gruber authored
A follow-up to crrev.com/c/3240782. Drive-by: extend JSRegExp printing. Fixed: chromium:1263327 Bug: v8:11069 Change-Id: Iff64ded27ca93641f0f572df2ce0a9f846948f7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3245110 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/main@{#77536}
-
- 25 Oct, 2021 1 commit
-
-
Jakob Gruber authored
Character class handling in the irregexp pipeline is quite complex; codepoints outside the BMP (basic multilingual plane) are only translated into surrogate pairs when needed, e.g. when the subject string is two-byte. If not needed, the codepoints simply stay part of the list of CharacterRanges. In EmitCharClass, we determine the valid subset of ranges through ranges_length; until this CL, we forgot to pass that information on to MakeRangeArray. Do that now by truncating the list of CharacterRanges. Fixed: chromium:1262423 Change-Id: I5bb5b839e9935890ca2d10908ad66d72c3217178 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3240782 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/main@{#77514}
-
- 21 Oct, 2021 1 commit
-
-
Lu Yahan authored
Port 8bbb44e5 Port 7c08633b Change-Id: Iebc3e223a0a7bc5f31ef0f21d8589e60ccdc0833 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233695 Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Commit-Queue: ji qiu <qiuji@iscas.ac.cn> Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#77485}
-
- 20 Oct, 2021 2 commits
-
-
Milad Fa authored
Port 8bbb44e5 Original Commit Message: 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. R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I2ded01fa2767e56e72be81b949eefb5fb85b7013 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3231981Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#77473}
-
Zhao Jiazhong authored
Port commit 8bbb44e5 Bug: v8:11069 Change-Id: I66532e8410390bc220d7811e320bb44181b00d1f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234303Reviewed-by:
Liu yu <liuyu@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/main@{#77468}
-
- 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}
-
- 14 Oct, 2021 1 commit
-
-
Jakob Gruber authored
- Anonymous namespaces instead of static functions. - Comments. - Reserve enough space in the range ZoneList. Change-Id: Ie79fda770974796cd590a155dc5fd504472e5bc9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3220341 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77391}
-
- 13 Oct, 2021 1 commit
-
-
Liu Yu authored
Port commit 7c08633b Bug: v8:12244 Change-Id: Ib6ccca9e8e3e79ec7ba7b6c522f3aa1989ab50ec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3219706 Auto-Submit: Liu yu <liuyu@loongson.cn> Reviewed-by:
Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/main@{#77372}
-
- 12 Oct, 2021 7 commits
-
-
Milad Fa authored
Port b4aa41d0 Original Commit Message: .. instead of referring to them through magic chars {s,S,w,W,d,D,n,.,*}. R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Id1543bee0fe676876d1d7c7e49d3f4742c9959d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3216038Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#77365}
-
Lu Yahan authored
Port b4aa41d0 Change-Id: Ie60c57d432879da89ac30179b5a462b6f93b220b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218718 Commit-Queue: ji qiu <qiuji@iscas.ac.cn> Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#77362}
-
Milad Fa authored
Port 12ecb4f5 Original Commit Message: No functional changes. - Removed unused Isolate* argument from regexp extrefs. - Added const where possible. - Removed unused functions. - Shuffled declarations for better readability. - ... R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I58f21f9f75a7c7bb592b7b07dedd9c32ae8a270c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3216034Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#77359}
-
Liu Yu authored
Port commit b4aa41d0 Change-Id: I00e7b81450a1a751b536d29bc4bb4b69ad57b7c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218720 Auto-Submit: Liu yu <liuyu@loongson.cn> Reviewed-by:
Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/main@{#77351}
-
Liu Yu authored
Port commit 12ecb4f5 Change-Id: I7dab9491ad1216515f0a45f026419a55c7cda86a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218719Reviewed-by:
Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Auto-Submit: Liu yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#77343}
-
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}
-
Lu Yahan authored
Change-Id: I2d9cb95d8b04a96f436b6f8eae1ce87d80df7f6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218710Reviewed-by:
ji qiu <qiuji@iscas.ac.cn> Commit-Queue: ji qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#77331}
-
- 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 4 commits
-
-
Milad Fa authored
Port 7c08633b Original Commit Message: Replace 'virtual' by 'override' when overriding methods. This uncovered one method which was unnecessarily virtual: {RegExpMacroAssemblerARM64::CheckCharacters}. R=clemensb@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I542aeae836b5b78284291ed39844a5c166ed06ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208811Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#77269}
-
Clemens Backes authored
Marking the labels as unused is only needed when we abort code generation. Otherwise the DCHECKs in the label destructors are useful to catch bugs. R=jgruber@chromium.org Bug: v8:12244 Change-Id: I63198f98a7acd1f2528d31964c01bc6815ba99a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3205899 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77267}
-
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}
-
Clemens Backes authored
When aborting code generation, we need to call {AbortedCodeGeneration} on the {MacroAssembler} contained in the {RegExpMacroAssemblerARM}. R=jgruber@chromium.org Bug: chromium:1255368 Change-Id: If37351e8f5715e23affd21ad2de8a8eaad3ea094 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3204965Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#77250}
-
- 04 Oct, 2021 1 commit
-
-
Patrick Thier authored
When scanning for capture groups, we have to consider the case that the current state is inside a character class. In that case skip everything until the end of the current character class. Otherwise we would wrongly count open brackets inside the character class as start of a capture group. Bug: chromium:1254704 Change-Id: I91d2177c464f7e507413d96216fe570253f17676 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3199871 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/main@{#77204}
-
- 30 Sep, 2021 1 commit
-
-
Milad Fa authored
Port 3e3a027d Original Commit Message: 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. R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Iafe6814d3695e83fced6a46209accf5e712d56f6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3198391Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#77180}
-