- 21 Oct, 2021 15 commits
-
-
Joyee Cheung authored
To get more details about the failure when it flakes. Bug: v8:12332 Change-Id: I1bf5188efe13a75e34dd9832e6275fd985ee8dbd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233974 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#77498}
-
JianxiaoLuIntel authored
Bug: v8:12333 Change-Id: Ic29a9d67b586629148075dccbcebcf6f49398fb8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3235684 Auto-Submit: Jianxiao Lu <jianxiao.lu@intel.com> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77497}
-
Camillo Bruni authored
Drive-by-fix: format file Change-Id: I4915ef1e917a22a8be464f75c136b4c97e045379 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234493Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#77496}
-
Clemens Backes authored
If an output operand has "same as input" policy, we cannot assume that it's input 0. Instead we should look at the {input_index}. The bug manifests on Wasm select instructions, where the input index is actually 2 and not 0. In order to test this better, we introduce the a new --turbo-force-mid-tier-regalloc flag, which always uses the mid-tier register allocator. Otherwise the bug would only manifest on huge functions. R=mslekova@chromium.org CC=thibaudm@chromium.org Bug: v8:12330 Change-Id: I6a005a48bbd2aba354dc99fed587bffce24c8839 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234722Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#77495}
-
Patrick Thier authored
Comments in interface-descriptors stated that the argument count is without the receiver, which is no longer true (see [1]). [1] https://crrev.com/c/3140608 Bug: v8:11112 Change-Id: I75277bd4044a49a5a668f602501ad229bc44720b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234491 Commit-Queue: Patrick Thier <pthier@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Auto-Submit: Patrick Thier <pthier@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77494}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/110f470..ee9068d Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/9eb0245..4c834ab Rolling v8/buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind/+log/557b51a..6f77fbf Rolling v8/third_party/aemu-linux-x64: oT0j0p3wnLGyIs4qDcea3sRhW4YKoAhTY2LDWkJ4T4QC..CtkoubyWN1QNNB68v2CsV0fsa-ikErKqmbujQdM_iGMC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/876bab7..2d03634 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/756e98f..ed33756 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/075810f..16f637f Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/c00aa10..2b09788 TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I779a9da6804d29e4f7a05d646d1f8a6cbff3de8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233925Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#77493}
-
Patrick Thier authored
Calling class constructors without new is a spec violation and should raise an exception. In [1] calling class constructors with spread (without new) was handled by reducing the node to a call to runtime to raise the exception. However, arguments of the call have to be evaluated first ([2]). This CL changes the reduction of JSCallWithSpread/JSCallWithArrayLike to a no-op in JSCallReducer if the target is a class constructor, delaying raising of the exception to the call builtin. [1] https://crrev.com/c/3229369 [2] https://tc39.es/ecma262/#sec-evaluatecall Bug: chromium:1262007 Change-Id: I2ef504d4ce6e51d582b5951beb6debb983cefba6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3236348 Commit-Queue: Patrick Thier <pthier@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#77492}
-
Victor Porof authored
This CL exposes the async stack traces instrumentation on the console object, behind a --experimental-async-stack-tagging-api flag. It serves as a prototype that aims to validate whether the debugging experience can be improved for userland code that uses custom schedulers. The tests are implemented as Blink web tests in the following CL: https://chromium-review.googlesource.com/c/chromium/src/+/3226418 Bug: chromium:332624 Change-Id: Ib1ee71de68f7bb9aff5b944812ce681d8711d217 Signed-off-by: Victor Porof <victorporof@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3212506Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#77491}
-
Victor Gomes authored
We use a mutex to avoid data race when reading/writing to the code object registry. Functions called only by the sweeper happens during safepoints and do not need to be protected by the mutex. Bug: v8:12054 Change-Id: Ie85bf0422622eee7f2836ecae132397a6aa4ed59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234721 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77490}
-
Leszek Swirski authored
Rolling this manually because we have to update paths in sync with instrumented_libraries due to https://crrev.com/c/3224627. Rolling v8/third_party/instrumented_libraries: https://chromium.googlesource.com/chromium/src/third_party/instrumented_libraries/+log/6527a4e..3c149f5 Bug: chromium:1261909 Change-Id: Ibcb6ebefa287e0125e0cb75be8dc51dea392a502 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233138 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#77489}
-
Leszek Swirski authored
This is a reland of 6cd14492 Additionally rolls buildtools to include https://crrev.com/c/3045960 Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/f78b0bd..110f470 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/a9bc3e2..f5750f5 Original change's description: > [Fuchsia] Remove checkout_fuchsia_for_arm64_host > > Also roll /build to a version that contains the cl removing > checkout_fuchsia_for_arm64_host > > Bug: chromium:1137662 > Change-Id: I72851e5ab4e1daabf6ea62fb7935dfd28d8dee25 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3232816 > Auto-Submit: Chong Gu <chonggu@google.com> > Commit-Queue: Chong Gu <chonggu@google.com> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77486} Bug: chromium:1137662 Change-Id: Iaa142fd3e61ce14972381f309a83f45e1a0cb318 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3236347Reviewed-by: Liviu Rau <liviurau@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77488}
-
Leszek Swirski authored
This reverts commit 6cd14492. Reason for revert: The build roll is breaking out Android Arm64 build (https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Android%20Arm64%20-%20builder/41853/overview) Original change's description: > [Fuchsia] Remove checkout_fuchsia_for_arm64_host > > Also roll /build to a version that contains the cl removing > checkout_fuchsia_for_arm64_host > > Bug: chromium:1137662 > Change-Id: I72851e5ab4e1daabf6ea62fb7935dfd28d8dee25 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3232816 > Auto-Submit: Chong Gu <chonggu@google.com> > Commit-Queue: Chong Gu <chonggu@google.com> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77486} Bug: chromium:1137662 Change-Id: I48f8f030cee277b761d17fa3c891737f84c25970 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234962 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77487}
-
Chong Gu authored
Also roll /build to a version that contains the cl removing checkout_fuchsia_for_arm64_host Bug: chromium:1137662 Change-Id: I72851e5ab4e1daabf6ea62fb7935dfd28d8dee25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3232816 Auto-Submit: Chong Gu <chonggu@google.com> Commit-Queue: Chong Gu <chonggu@google.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#77486}
-
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}
-
Ng Zhi An authored
Relaxed f32x4 and f64x2 min and max. These instructions only guarantee results when the inputs are non nans, and when the inputs are not 0s of opposite signs. Reuse existing float binop testing harnesses and add special checks for such constants when relaxed operations are being tested. Drive-by rename of x64 instruction codes to be Minps/Maxps/Minpd/Maxpd since they map down exactly to a single instruction. Bug: v8:12284 Change-Id: I1449dbfa87935a96d7d260db22667ab7b9e86601 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218196Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77484}
-
- 20 Oct, 2021 20 commits
-
-
Shu-yu Guo authored
--no-stress-flush-bytecode doesn't exist and should be --no-stress-flush-code. Not supressing it means a tester could pass --stress-flush-code and --no-flush-bytecode, which are contradictory and will assert. Bug: v8:12331 Cq-Include-Trybots: luci.v8.try:v8_numfuzz_dbg_ng,v8_numfuzz_ng Change-Id: I6490271bcb11f5ea925eb8b65fbe0455c2dafeaf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233952Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Auto-Submit: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#77483}
-
Michael Achenbach authored
This reverts commit 17a99fec. Reason for revert: https://crbug.com/1261909 Original change's description: > Update V8 DEPS. > > Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/f78b0bd..50ef978 > > Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/a9bc3e2..aa2fb01 > > Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/9eb0245..025086b > > Rolling v8/buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind/+log/557b51a..10f4e4a > > Rolling v8/third_party/aemu-linux-x64: oT0j0p3wnLGyIs4qDcea3sRhW4YKoAhTY2LDWkJ4T4QC..p2K77JFqGXfOhd-k7kwHxN1jcMy1onKpHYDko4dJTnwC > > Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/876bab7..2d03634 > > Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/756e98f..b6ce244 > > Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/075810f..16f637f > > Rolling v8/third_party/instrumented_libraries: https://chromium.googlesource.com/chromium/src/third_party/instrumented_libraries/+log/6527a4e..3c149f5 > > Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/c00aa10..79b0bc1 > > TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com > > Change-Id: Ied2105fc229f34fd8b454eac0b01aed99a417de6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234818 > Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> > Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> > Cr-Commit-Position: refs/heads/main@{#77481} Bug: chromium:1261909 Change-Id: I9e02280aad8ba14883856c2421f6d61ebb012775 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234724 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#77482}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/f78b0bd..50ef978 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/a9bc3e2..aa2fb01 Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/9eb0245..025086b Rolling v8/buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind/+log/557b51a..10f4e4a Rolling v8/third_party/aemu-linux-x64: oT0j0p3wnLGyIs4qDcea3sRhW4YKoAhTY2LDWkJ4T4QC..p2K77JFqGXfOhd-k7kwHxN1jcMy1onKpHYDko4dJTnwC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/876bab7..2d03634 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/756e98f..b6ce244 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/075810f..16f637f Rolling v8/third_party/instrumented_libraries: https://chromium.googlesource.com/chromium/src/third_party/instrumented_libraries/+log/6527a4e..3c149f5 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/c00aa10..79b0bc1 TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: Ied2105fc229f34fd8b454eac0b01aed99a417de6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234818Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#77481}
-
Milad Fa authored
Port e127f584 Original Commit Message: Handling of class constructors was moved from CallFunction to Call in [1]. When reducing calls with spread we forward varargs directly to CallFunction, if we are spreading to inlined arguments or arguments of the outermost function. In that case we didn't check for class constructors and therefore didn't raise an exception. This CL adds checks for class constructors to all JSCall* nodes in JSCallReducer that missed them before. [1] https://crrev.com/c/3186434 R=pthier@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I02cba90369354f064201daa1bf8812e17cb2dc21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234040Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#77480}
-
Igor Sheludko authored
... when the v8_enable_external_code_space build flag is enabled. Bug: v8:11880 Change-Id: I754c6229dcd25f81ef6dfbedc5885ac025c0aeff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3164458 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77479}
-
Shu-yu Guo authored
These tests depend on predictable optimize/deoptimize movements. --no-stress-flush-bytecode and --no-flush-bytecode ensure the feedback vector is not flushed, causing unexpected deoptimizations. Bug: v8:12328, v8:12311 Change-Id: I2eb7575e8c943a92c907831d4d66d2b0c9716869 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3232825Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#77478}
-
JianxiaoLuIntel authored
Bug: v8:12305 Change-Id: Ibc71e864bfb19c720d4cecf61f1254402859db6b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3215100Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77477}
-
Michael Achenbach authored
No-Try: true Change-Id: Ib665f238db8dba7ca460f1fdb84e0e0e3a3d9e97 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234720 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77476}
-
Victor Gomes authored
The cctest enables concurrent-sparplug during startup, which creates a job_handler_, then disables the flag before destroying the isolate, which calls the destructor of ConcurrentBaselineCompiler. This does not call job_handle_->Cancel and fails in a DCHECK inside the default_job implementation. Bug: v8:12054 Change-Id: I8975e2ad2c0aafaa86aedb13018617a08f0fded9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234718 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77475}
-
Michael Lippautz authored
V8 fix: Temporarily allow using deprecated methods until upstream is fixed. Rolling v8/third_party/google_benchmark/src: https://chromium.googlesource.com/external/github.com/google/benchmark/+log/59bbc7f..1e3ab7f Merge remote-tracking branch 'upstream/pr/1240' (Roman Lebedev) https://chromium.googlesource.com/external/github.com/google/benchmark/+/1e3ab7f cmake: allow to use package config from build directory (Sergiu Deitsch) https://chromium.googlesource.com/external/github.com/google/benchmark/+/1be88c0 Merge remote-tracking branch 'upstream/pr/1244' (Roman Lebedev) https://chromium.googlesource.com/external/github.com/google/benchmark/+/3395949 cmake: make package config relocatable (Sergiu Deitsch) https://chromium.googlesource.com/external/github.com/google/benchmark/+/eb9100b GoogleTest.cmake.in: mention BENCHMARK_USE_BUNDLED_GTEST (Roman Lebedev) https://chromium.googlesource.com/external/github.com/google/benchmark/+/2f30903 GoogleTest.cmake.in: immediately error-out after failure message, Closes #1255 (Roman Lebedev) https://chromium.googlesource.com/external/github.com/google/benchmark/+/8c8052a Introduce additional memory metrics (#1238) (Vy Nguyen) https://chromium.googlesource.com/external/github.com/google/benchmark/+/7fad964 Fix -Wdeprecated-declarations warning triggered by clang-cl. (#1245) (Byoungchan Lee) https://chromium.googlesource.com/external/github.com/google/benchmark/+/f730846 ... Change-Id: Ia10c33f512fae7bcc889e36a9cb368d8628f3e5f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234197 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#77474}
-
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}
-
Patrick Thier authored
Handling of class constructors was moved from CallFunction to Call in [1]. When reducing calls with spread we forward varargs directly to CallFunction, if we are spreading to inlined arguments or arguments of the outermost function. In that case we didn't check for class constructors and therefore didn't raise an exception. This CL adds checks for class constructors to all JSCall* nodes in JSCallReducer that missed them before. [1] https://crrev.com/c/3186434 Bug: chromium:1260623 Change-Id: Id39cdfd09ff5aae804ae30d96909518e408c9613 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3229369 Commit-Queue: Patrick Thier <pthier@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77472}
-
Victor Gomes authored
These two tests rely on the functions being immediately compiled with SP. Concurrent SP might add a delay and fail the test. Bug: v8:12054 Change-Id: I52dbdfeb5c49c23f2d20a43bb8a87aba1f16358e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233233 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#77471}
-
Victor Gomes authored
When --always-sparkplug, we compile on the main thread. This fixes the CodeBuilder path when also running with --concurrent-sparkplug Bug: v8:12054 Change-Id: Ifafcd68b635e99ca39c5eebc3e1ff839a2193eb4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233232 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77470}
-
Victor Gomes authored
last_index_ is already incremented in Enqueue and points to one past the end of the array. Bug: v8:12054 Change-Id: I63b9a315464af9366f39c863fbd40e58adb69f1b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233230 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77469}
-
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}
-
Victor Gomes authored
Avoid accessing deoptimzation_data and source_position_table in RecordVirtualCodeDetails for baseline code. Bug: v8:12321 Change-Id: I8d1bebc973ea2cb3de88102965281314facbc864 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3229568 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77467}
-
Leszek Swirski authored
Add a readonly --dict-property-const-tracking flag so that we can correctly specify negative implications for --concurrent-inlining and --turboprop, and correctly fail flag contradictions where needed. Change-Id: I1b20c6a2bef42c868ccde3b8db60f1107eb29550 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233222 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77466}
-
Hao Xu authored
Search for free memory ranges within the +/- 2GB boundary to the embedded builtins. So that code range can be allocated close to the binary to enable short builtin calls when pointer compression is disabled. Bug: v8:12045, v8:11527 Change-Id: I4698625882c3c7c39aff73b0bc874ddcfc990881 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3212466 Commit-Queue: Hao A Xu <hao.a.xu@intel.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77465}
-
Jakob Gruber authored
Change-Id: I4ed4d0c53a90af4a8d3a58fa3f418576aadd09c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234195 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@{#77464}
-
- 19 Oct, 2021 5 commits
-
-
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}
-
Leszek Swirski authored
It also enables concurrent inlining. Change-Id: I894800b34e950a0e786d9f462b21273cc1d3b181 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3231342 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77462}
-
Clemens Backes authored
Huge functions can take a really long time (several minutes) in register allocation. This is caused by a big number of virtual registers combined with a big number of blocks. We can avoid such long-running register allocation by falling back to the mid-tier register allocation if we detect a huge number of virtual registers. Note that this is mostly relevant for bigger WebAssembly modules, but we implement it as a general TurboFan flag. The flag is off by default for now, since there seem to be bugs lurking in the mid-tier register allocator. Once those are fixed, we can stage it behind --future and then ship it. R=mslekova@chromium.org CC=thibaudm@chromium.org Bug: v8:12320 Change-Id: Iff14de456c2b3a91ee2b2b12221295dd56b69463 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3231336Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#77461}
-
Leszek Swirski authored
mjsunit/regress/regress-crbug-9161 had two spinlocks on an atomic: 1. WaitUntil(lock == kStageRunning) 2. WaitUntil(lock == kStageDone) But, in theory the worker updating the "lock" could progress all the way to kStageDone before the first loop manages to check the lock value again. We can make this more robust by checking: 1. WaitUntil(lock != kStageInit) 2. WaitUntil(lock == kStageDone) That way both loops check for _any_ state past the state they want to progress past. Bug: v8:11437 Change-Id: I5220e61070a305301c678928edb0925c04dae970 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3231339 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#77460}
-
Igor Sheludko authored
... by explicitly passing pointer compression cage base value to various IsXXX() and map() calls in order to avoid using incorrect auto-computed cage base value when applied to objects allocated in external code space. This CL also introduces IsCodeObject(HeapObject) predicate which checks the IS_EXECUTABLE bit in the page header's flags. Bug: v8:11880 Change-Id: Ib44398c3125392e46e939044a9bd27e09d7944d5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3229368Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77459}
-