- 11 Nov, 2021 13 commits
-
-
Dominik Inführ authored
Test needs young generation to work properly. Bug: v8:12380 Change-Id: I5dca5bd6be10371ee9aabf263c4f8491917b9803 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3275556 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77844}
-
Leszek Swirski authored
This reverts commit 0e4554b4. Reason for revert: Breaks due to read-only flags https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac%20-%20arm64%20-%20debug%20builder/3926/overview Original change's description: > [baseline] Enable concurrent sparkplug on future > > Bug: v8:12054 > Change-Id: I9d5040c806232ecbe71c26b7d65acbc8005bbd00 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233139 > Commit-Queue: Victor Gomes <victorgomes@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77842} TBR=leszeks@chromium.org,v8-scoped@luci-project-accounts.iam.gserviceaccount.com,victorgomes@chromium.org Change-Id: I25bbe7f38d87fcc13931782d26cd6b75bba50848 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:12054 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3275555Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77843}
-
Victor Gomes authored
Bug: v8:12054 Change-Id: I9d5040c806232ecbe71c26b7d65acbc8005bbd00 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3233139 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77842}
-
Camillo Bruni authored
Change-Id: I80affc4c813dff2a42afcdcea60e3856eaf346aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272576Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#77841}
-
Manos Koukoutos authored
Changes: - Enable allocation folding for wasm-gc graphs. - Improve structure of wasm escape analysis code. Kill dead nodes. - Revisit object node after eliminating a load or a store to that node. - Add a couple of tests, rename one test file. Bug: v8:11510 Change-Id: I8b3c5186cd0a8827744a05eba366ff79bc7bc975 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3264215Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77840}
-
Michael Lippautz authored
Properly scope unique_ptr for Heap. Change-Id: I9ce65f326065333f2600e6057ae3015a41d4c39a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3273815 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77839}
-
Camillo Bruni authored
Change-Id: I7e07821ed56f2813ad90d21bd36382aa25351d21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3273813 Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77838}
-
Igor Sheludko authored
... by 1) using platform-specific kMaxPCRelativeCodeRangeInMB constant instead of fixed 2GB for computing a region around embedded builtins from which the builtins could be reachable by pc-relative call/jump instructions, 2) remapping builtins into the code range if the latter happened to be allocated too far from embedded builtins (so that the pc-relative calls/jumps can't reach the embedded builtins blob). Bug: v8:11880 Change-Id: I3c8df6836a8f0156d5360edd9c4ae8c295ec7100 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270543Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77837}
-
Jakob Gruber authored
Force-inline the HandleScope constructor and destructor, and add branch hints for two commonly-mispredicted branches. This moves the overall JetStream2/cdjs score by roughly 4% on d8. I suspect no change will be visible in chromium builds (with PGO). Bug: v8:12196 Change-Id: I0fd7b67aa554876d2dad2d706b874df21dbb72e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270542 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77836}
-
Benedikt Meurer authored
This introduces a stack frame cache on the V8Debugger level, which de-duplicates StackFrame instances based on their scriptId, line and column number. This greatly reduces the memory pressure when debugging huge Web applications that have a lot of async activity (and potentially have scripts with huge URLs). This is guided by the observation that even in huge applications, there are only a very limited number of call sites that initiate async activity and hence we only have a limited number of distinct StackFrames to worry about (despite having to maintain a large number of async stack traces overall). As a nice side effect, this CL also greatly reduces the negative performance impact of collecting async stack traces in these huge applications. Generally speaking this is mostly duct tape however, and we might want to follow up with changes to make capturing (and storing) stack frames even cheaper. Fixed: chromium:1268436 Change-Id: Ib212b3c97dce2bb7ca47d5875d45cf20b9b97afe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272577 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#77835}
-
v8-ci-autoroll-builder authored
Rolling v8/third_party/google_benchmark/src: https://chromium.googlesource.com/external/github.com/google/benchmark/+log/431abd1..b3c08f6 check clang format on pull requests and merges (#1281) (Dominic Hamon) https://chromium.googlesource.com/external/github.com/google/benchmark/+/b3c08f6 format tests with clang-format (#1282) (Dominic Hamon) https://chromium.googlesource.com/external/github.com/google/benchmark/+/c07a498 clang-format Google on {src/,include/} (#1280) (Dominic Hamon) https://chromium.googlesource.com/external/github.com/google/benchmark/+/fcef4fb TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,mlippautz@chromium.org Change-Id: I32740a6899832fdfbb89b41e4b082eddb5c94063 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3273787Reviewed-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@{#77834}
-
Liu Yu authored
The second parameter of Int64Mul may be a 64-bit immediate value, treating it as a 32-bit value will lose the upper 32 bits. Besides, add a test for this error. Bug: v8:12373 Change-Id: I92e95f7906051c91f9076730e5490b0956416d68 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272195 Auto-Submit: Liu yu <liuyu@loongson.cn> Commit-Queue: Liu yu <liuyu@loongson.cn> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77833}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/3a26983..2f14357 Rolling v8/third_party/aemu-linux-x64: f0uJsXEjFFbo2nVGo8XXghmC5jioFclKgH_jzEObMmYC..j1lOwTKOsgGUj2jDFDa6IhTVhwEoPPzmdxFksCvz278C Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/5c5e5a1..0dab16a Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/ea9285c..2df8443 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/aa486f1..79efd96 Rolling v8/third_party/instrumented_libraries: https://chromium.googlesource.com/chromium/src/third_party/instrumented_libraries/+log/8bed2fb..286f857 TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: Idc46d13ab8010d5d1f86d03bdcf3eb24c6595bc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3273786Reviewed-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@{#77832}
-
- 10 Nov, 2021 25 commits
-
-
Shu-yu Guo authored
The is_shared bit bumps the number of reserved bits for Strings' InstanceType from 6 to 7. This has the side effect of shuffling the InstanceType enum values. There are no users of this bit yet. This is steps 1-2 from the following design doc [1], in preparation for sharing internalized and in-place-internalizable strings. [1] https://docs.google.com/document/d/1c5i8f2EfKIQygGZ23hNiGxouvRISjUMnJjNsOodj6z0/edit?usp=sharing Bug: v8:12007 Change-Id: Idf11a6035305f0375b4f824ffd32a64f6b5b043b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266017 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#77831}
-
Vasili Skurydzin authored
Don't emit modsd, modud, modsw, moduw if Power proc. version is less than 9. Change-Id: I20a33930c5887921cf1943558b3ab6ac8d8a53ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3271636Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Vasili Skurydzin <vasili.skurydzin@ibm.com> Cr-Commit-Position: refs/heads/main@{#77830}
-
Al Muthanna Athamina authored
Bug: chromium:1136844 Change-Id: I1c9be9ff38114f548b5f40462d96968dbf1565ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272580 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/main@{#77829}
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I678296c3ebf5d78dac7697a25b27c583406e02cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3269179 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#77828}
-
Victor Gomes authored
While compiling concurrently, we change the permissions of the page containing the new code object to RWX, so the main thread can continue executing a potential code in the same page. If no thread is compiling the new code, we change the permissions of all pages affected back to RX. We also initialises code object page to immediately RWX by default. Otherwise, a new code could be allocated in the same page, it will call UnprotectAndRegister, and since write_unprotect_counter_ is now at least 2, the code ignores the permission change. We then sigfault when trying to run the new code. Change-Id: Id18bcb9a44843b4ff747b1e4ac91913e80b74d80 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3257606Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#77827}
-
Junliang Yan authored
Change-Id: Id60f3552af2ba12a8ac8fd88ad43a88a9076774d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272582Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#77826}
-
Junliang Yan authored
Change-Id: I48384ff3282e32108cc439bdb56097ca59bedefb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270002Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#77825}
-
Scott Violet authored
BUG=chromium:1257321 TEST=none Change-Id: I59f34e8b41ba08f5046754c13be8f1df6a335655 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3271389Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/main@{#77824}
-
Vasili Skurydzin authored
Change-Id: Ic868b6f9bb17bb9d6e6fe2a7203a41383aef5cf7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272206Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Vasili Skurydzin <vasili.skurydzin@ibm.com> Cr-Commit-Position: refs/heads/main@{#77823}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/6d2bdd8..3a26983 Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/ee43952..707d75f Rolling v8/third_party/aemu-linux-x64: v2iF9qvnOnVHoqJpdbZJYOqXwQzHFLq1S6pnFoNhtEgC..f0uJsXEjFFbo2nVGo8XXghmC5jioFclKgH_jzEObMmYC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c9cf63a..5c5e5a1 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/1b2f8f0..ea9285c Rolling v8/third_party/instrumented_libraries: https://chromium.googlesource.com/chromium/src/third_party/instrumented_libraries/+log/565ca2d..8bed2fb TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I52def08a4fc2d0839a80313b1930ea4197dc9d6e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3271747Reviewed-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@{#77822}
-
Liviu Rau authored
Bug: chromium:1268452 Change-Id: Idbddd1a2079cfa1e38ce5209799bfb656e5b7911 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270544Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/main@{#77821}
-
Igor Sheludko authored
The feature is controlled by a boolean flag on Isolate, so there's no need to keep the flag read-only. Bug: v8:11527, chromium:1241665 Change-Id: I377452fed10b319a4a512c090706c754603c2ae8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270547 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77820}
-
Victor Gomes authored
The LocalAllocationBuffer (LAB) doesn't need to be iterable, when the heap needs to be iterable we have explicit calls to `MakeIterable()` anyways for the LABs. Also creating that filler object initially isn't enough, we would need to do this after each and every allocated object. Change-Id: Iedb011205d7590a75ea17d518e78e340f1d4b63d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270546 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@{#77819}
-
Leszek Swirski authored
This reverts commit 5e16d853. Reason for revert: TSAN https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20no-concurrent-marking/6432/overview Original change's description: > [SharedFunctionInfo] Add available_baseline_code flag > > Checks that flags1 are ReadOnly after SFI is finalised. > > Bug: v8:12054 > Change-Id: Ia2518b8f136a81aa076fd429bf4fcaf742a314e3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3263897 > Commit-Queue: Victor Gomes <victorgomes@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77816} TBR=leszeks@chromium.org,v8-scoped@luci-project-accounts.iam.gserviceaccount.com,victorgomes@chromium.org,nicohartmann@chromium.org Change-Id: Ifb28601a6f6dbe24b38e2e9ea2a5a7e576c0c511 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:12054 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270545Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77818}
-
Camillo Bruni authored
Directly memcpy char* literals if they fit in the current pending part. This avoids incremental checks for the current part size. This will improve JSON.stringify for objects with lots of true, false, null values by roughly 10%; Drive-by-fix: - Improve JSON.stringify for empty [] and {} - Add IncrementalStringBuilder::NoExtend DECHECKs Bug: v8:12195 Change-Id: I81ebc9e088cf983adbcfb2d768137e4a3cef9a7a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3260524Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#77817}
-
Victor Gomes authored
Checks that flags1 are ReadOnly after SFI is finalised. Bug: v8:12054 Change-Id: Ia2518b8f136a81aa076fd429bf4fcaf742a314e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3263897 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77816}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/0a9d641..6d2bdd8 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/80e4f83..b138e6c Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/bc060a2..ee43952 Rolling v8/third_party/aemu-linux-x64: JOROMO2u_x7WbmPlWROhQxdCaIY-Q639bZpu8IWRc30C..v2iF9qvnOnVHoqJpdbZJYOqXwQzHFLq1S6pnFoNhtEgC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/462705b..c9cf63a Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/266129c..1b2f8f0 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/bf0701d..aa486f1 Rolling v8/third_party/instrumented_libraries: https://chromium.googlesource.com/chromium/src/third_party/instrumented_libraries/+log/fe0d17a..565ca2d TBR=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: Ie3bd2ad8e1c7b6bb5e5766640e8ba1a873f426df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3271738Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#77815}
-
Dominik Inführ authored
V8's write barrier doesn't use a store buffer anymore but inserts directly into the remembered set. However, there were still some comments/method definitions left. Bug: v8:9454 Change-Id: Ic3bc3394750f1d4989027e07dbc9201c3f484ccd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270536Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77814}
-
Michael Lippautz authored
Rename flags to align them with other flags that are named in an enabled way and drop the "never" prefix. Drive-by: Refactor compaction entry point. Bug: v8:12251 Change-Id: If2b189152f3cd22038b87fe3cc2ba0db4953ae23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270534 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77813}
-
Dominik Inführ authored
Add support for safepointing multiple isolates as described in the design doc (link is below). A safepoint across multiple isolates is considered a global safepoint to distinguish it from regular safepoints. The basic idea behind the implementation is that we reach a safepoint for each client. What's new is that now also main threads need to participate in the safepointing protocol and need to give up control in time. The slow paths of Park(), Unpark() and Safepoint() on the main thread need to be adjusted for this reason as well. This CL introduces GlobalSafepoint and GlobalSafepointScope to mirror IsolateSafepoint and IsolateSafepointScope. This CL adds the type IgnoreLocalGCRequests, it is used to prevent Park() and Unpark() from honoring the request from background threads to perform a local GC. This is used heap-internally to not have GCs (or even nested GCs) in certain locations. E.g. when initiating a safepoint to perform a GC we don't want a "recursive" GC to occur. Design doc: https://docs.google.com/document/d/1y6C9zAACEr0sBYMIYk3YpXosnkF3Ak4CEuWJu1-3zXs/edit?usp=sharing Bug: v8:11708 Change-Id: I5aca8f5f24873279271a53be3bb093fc92a1a1eb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3009224 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77812}
-
Jakob Gruber authored
.. for convenience in local testing. Bug: v8:12196 Change-Id: I12d772edee69acba45f71dc1960f3023a79798a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268739 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#77811}
-
Manos Koukoutos authored
Growing them linearly might result in quadratic allocation and gc time. Bug: chromium:1267973 Change-Id: I8b9d400d9949b4062dd860edec6d98aa25c9550f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268731Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#77810}
-
Ng Zhi An authored
ia32 port of 9ffb4829 Bug: v8:12284 Change-Id: Id396ee6d169c893804297934df63120704cef745 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3255663Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77809}
-
Ng Zhi An authored
F64x2ExtractLane and F64x2ReplaceLane were missing the IA32 prefix that is used by all the other instruction codes. Bug: v8:12244 Change-Id: Ib99cd9b62161a13305ad01d6e7e0aa82046dd25a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3255662Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77808}
-
Ng Zhi An authored
4 instructions, int32x4.trunc_f32x4_{s,u}, int32x4.trunc_f64x2_{s,u}_zero. ia32 port of a7b208739d2dabe11ca4e792085aed3455e879d5. Bug: v8:12284 Change-Id: Ia94ff572b63f9fd8e3bfe2dd8e5fa41212f84a76 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3255661Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77807}
-
- 09 Nov, 2021 2 commits
-
-
Dominik Inführ authored
This flag is now enabled by default for quite some time in production. In addition that flag was already defined readonly and couldn't be disabled, so let's remove this flag for good. Bug: v8:10064 Change-Id: I0e71eee9d25960a96324d56c8f0191fe678dc6e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268907 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77806}
-
Seth Brenith authored
The GC already treats some embedded object pointers in Code as weak, based on Code::IsWeakObject. If one of those embedded objects ends up unmarked during a full mark-collect GC, then the Code is marked for lazy deoptimization and the embedded objects are cleared. However, many of those same objects are often held strongly by the deoptimization literal array for the Code, which causes memory leaks. This change updates the deoptimization literals array to store those objects weakly. Any Code currently executing on the stack might need those deoptimization literals in order to deoptimize, so the deoptimization literal array is marked strongly in that case. Design document: https://docs.google.com/document/d/1gFRBYCeqz9Mysx8CVYQkldBbk3AZLo8UX0DMLZV_7qw/edit?usp=sharing Bug: v8:4578 Change-Id: I02e86683c59371e9f88ecf523750c9c6afebdb39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160299Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#77805}
-