- 15 Feb, 2022 22 commits
-
-
Dominik Inführ authored
LocalAllocator was already renamed to EvacuationAllocator some time ago. Rename files now as well. Bug: v8:10315 Change-Id: I337f693998aaf5187a5ba05842cdb2474837b68d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3463719 Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79104}
-
Clemens Backes authored
Both stability and performance looks good on Linux and ChromeOS, which is the only operation systems that currently support PKU. Hence enable the feature by default before launching via finch. R=ahaas@chromium.org Bug: v8:11974, chromium:1204982 Change-Id: I2c1e7e7bb70ba73218d4db630219870b198ba6e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3461934Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79103}
-
Leszek Swirski authored
Instead of using runtime lookups of various bytecode properties (like whether they read/write the accumulator, what their operands do to registers, etc), do a switch over the bytecode itself once and dispatch to update methods that are templated on the bytecode and statically know everything about it. Change-Id: I0ae111af54277c26c7d0d67a404a2ef75f81fcf4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3455826Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79102}
-
Jakob Gruber authored
.. to resolve the overloaded 'runtime' term and overall pick a more meaningful name for this class. It's neither very related to runtime (instead it's called periodically when the bytecode interrupt budget is exhausted); nor is profiling its main purpose. This class is responsible for controlling tiering decisions, hence the new name 'TieringManager'. Bug: v8:7700 Change-Id: Id6f1edf4ebe016d0d81903d0a13e0e1fe6e02142 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3463716Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79101}
-
Dominik Inführ authored
Now that all known correctness issues with map space compaction are fixed, add more test coverage by enabling it with --future. Bug: v8:12578 Change-Id: I23d04a162f742480c4e83de1f3980509543e5a97 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460409Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79100}
-
Omer Katz authored
This CL replaces evacuation in MinorMC with always promoting pages. Pages in new space are promoted first within new space and then to old space upon a second GC. This implementation should not yet be used in production and is guarded behind a runtime flag. In case all pages in new space have at least one live object on them, all pages will be promoted and new space will still be out of memory, thus immediately triggering a second young gen GC that will promote all objects to old space. Further CLs will mitigate this issue. Bug: v8:12612 Change-Id: I329ea01d6d15c0942db2eeeea87c5cefcac75502 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3448385Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79099}
-
Omer Katz authored
Bug: v8:12612 Change-Id: I120da76c304496b9b89ce764e5f1bfa4778e130f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460413Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79098}
-
Jakob Gruber authored
1. feedback_vector_allocation -> feedback_allocation like elsewhere. 2. A consistent --interrupt-budget prefix. 3. Remove the on-by-default --feedback-allocation-on-bytecode-size. Bug: v8:7700 Change-Id: I1d0af11e89398973a65bf9cb7c7722740d9452ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3463718 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@{#79097}
-
jameslahm authored
Originally, 'Promise.allSettled.call()' will throw "Promise.all called on non-object". It should be "Promise.allSettled called on non-object". Add test for it. Bug: v8:12122 Change-Id: I496a7c9d31baeb5b99012461387cfbccc4100d2b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3463063Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79096}
-
Clemens Backes authored
The hash of signatures currently has redundancy: We hash both the parameter count and the return count, plus all contained values. The total count of contained values is already implicitly captured by {hash_combine}ing the individual values, thus it's enough to only include one of parameter count and return count. R=manoskouk@chromium.org Bug: v8:12593 Change-Id: I6d3e8b15f4251964e3a74ae5411d06a7d41183a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460415Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79095}
-
Omer Katz authored
Bug: v8:12612 Change-Id: Ife6fd532a49b7f164e890fc9ddea5001d4547b38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3461928Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79094}
-
jameslahm authored
according https://tc39.es/ecma262/#sec-runtime-semantics-iteratordestructuringassignmentevaluation, when desturcturing assignment with elision, iteratorValue should not be called, thus the returned object's "value" property should not be read during the assignment. Bug: v8:12595 Change-Id: Id4b2c236c30486397683b4ccd4d156b718e12df3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3459922Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79093}
-
Jakob Gruber authored
.. in preparation for integrating addtl tiers into a single tiering system. 1. Explicitly spell out whether the request is concurrent or not. 2. Explicitly request the target compiler. Bug: v8:7700 Change-Id: I9d6e9f6a5d5f0f7218fe136ff50cea2ad7987f67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460739 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@{#79092}
-
Clemens Backes authored
The --wasm-fuzzer-gen-test functionality didn't handle imported functions correctly. R=manoskouk@chromium.org Bug: v8:11863 Change-Id: I0486e15465bfabead7bc352d1a94326a39439e43 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460412Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79091}
-
Clemens Backes authored
The module builder was outputting the address as an unsigned LEB value instead of a signed value, leading to wrong results. R=manoskouk@chromium.org Bug: v8:11863 Change-Id: I547ca98defcae0ba15b4004a506b65387534b08a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3463715Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79090}
-
Dominik Inführ authored
We must not use TransferColor on objects promoted into shared objects when performing a scavenger during incremental marking. Bug: v8:12628, v8:11708 Change-Id: I5833c0da8aa3dcd03287d3803a68189e85875bc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3463714Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79089}
-
Kim-Anh Tran authored
This CL adds the functionality to remove instrumentation breakpoints in wasm. Bug: chromium:1133307 Change-Id: I05ec7f8ac634267d95744ef4565d81cd0c372a2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460407Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/main@{#79088}
-
jameslahm authored
[bootstrapper] copy accessors in deserialized global into global object created using global proxy template Originally, the accessors wont be copied into global object from deserialized global. And the accessors in serialized global object will be lost. Fix to copy accessors in deserialized global into global object when recreating new global object using passed global proxy template. Tests credited to xiangyangemail@gmail.com https://chromium-review.googlesource.com/c/v8/v8/+/3405405 Bug: v8:12564 Change-Id: Iefb3a6dbfa5445b227d87c26eb423cf1b924dbb4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3459937Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79087}
-
Balakrishna Avulapati authored
Adding ldflags for aix. This is a todo item noticed Change-Id: I09dc86a3e956408edb1bfeba6b60bf67843caf4d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3439339Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#79086}
-
jameslahm authored
Originally, 'Promise.allSettled.call()' will throw "Promise.all called on non-object". It should be "Promise.allSettled called on non-object". Bug: v8:12122 Change-Id: Ib2c8eba32abec474feece3aaebf0e6c7d09c433a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3459923Reviewed-by: Mathias Bynens <mathias@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#79085}
-
v8-ci-autoroll-builder authored
Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/2e0f298..e94822c icu: Add icualign and icuhash scripts (Andrea Orru) https://chromium.googlesource.com/chromium/deps/icu/+/e94822c R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,ftang@chromium.org Change-Id: I971e201db3bce630b6db61b45f9fb673494c0036 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460070 Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#79084}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/4309020..d5f9249 Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/9a29c97..01efcb5 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/516c0b3..7bede42 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/54e30e7..4e4a2b8 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/0e40217..ea55f1f Rolling v8/third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/d8f49e6..03f3212 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/b9894ca..ad74e59 R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I7d6e9c8223a6de3a78ada5032eea1f2a4e41b398 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460068 Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#79083}
-
- 14 Feb, 2022 18 commits
-
-
Milad Fa authored
Change-Id: I48842264abfec4792685f0db33dac3fdb0d9b785 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3462689Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#79082}
-
Manos Koukoutos authored
Since we do not yet have canonicalization for types, when emitting ref.func in the fuzzer, it is not enough to pick a function whose signature is equivalent with the requested type; we have to pick a function that is declared exactly with the requested signature index. Bug: chromium:1296936 Change-Id: Ie307a9a370bb9ba2c8c334ddf05268ed9c7077d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460411Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#79081}
-
Shu-yu Guo authored
With String contents being accessible off-main-thread or from multiple main threads, add a SLOW_DCHECK that the hash of the string contents inside a String::FlatContent doesn't change during its lifetime. Bug: v8:12007 Change-Id: Iaf6bb785e44c97c13ac2fe9c5c20099bf1e0d2fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3451355Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#79080}
-
Victor Gomes authored
This reverts commit 284aa5e3. Original change's description: > [bazel] Don't include handler-inside-posix.h for non-posix platforms > > Change-Id: I1e6054b741e17ea4a706ad90f259553a69dfa0fc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3461930 > Auto-Submit: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79076} Change-Id: Ia5925c1d5978d5652b18bc1d2e5c9e755f16f58b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3461931 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#79079}
-
Nikolaos Papaspyrou authored
This struct is reused across various GC cycles. In the way that it's used here, std::move does not clear the vector of events. Change-Id: I21e3f74e3ce13fad063499bed19c287902cb90cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460408Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#79078}
-
Omer Katz authored
Various cleanups around young generation GCs. These include: (*) Repalce minor_mark_compact_collector_ with a unique_ptr and merge initialization with the mark_compact_collector_ and scavenger_collector_. (*) Rename IncrementalMarking::UpdateMarkingWorklistAfterScavenge to IncrementalMarking::UpdateMarkingWorklistAfterYoungGenGC. (*) Remove redundant MarkingTreatmentMode parameter from MakeIterable. Bug: v8:12612 Change-Id: Ifac7006d3425808a4b9e4c8e1af054a60c073180 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3448380Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79077}
-
Camillo Bruni authored
Change-Id: I1e6054b741e17ea4a706ad90f259553a69dfa0fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3461930 Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#79076}
-
Nikolaos Papaspyrou authored
This CL simplifies the reporting of full GC cycles and the connection between the GC of the managed C++ heap and the managed Javascript heap. It moves the call to GCTracer::RecordFullCycleToRecorder to be part of GCTracer::StopCycle. Bug: v8:12503 Bug: chromium:1154636 Change-Id: I332dbcd81d2e5bdda83f3353c6526fc18e23ebd5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3456563Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#79075}
-
Harshil Jain authored
Change-Id: I598b3e7b0ad349c504d8729eb288d19b14319253 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3439336Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Harshil Jain <twitharshil@gmail.com> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79074}
-
Anton Bikineev authored
The generational barrier for source objects records the entire source object to be processed later during remembered set visitation. It's planned to be used for Blink backing stores when an inlined object (or a range thereof) is added (HeapAllocator::NotifyNewObject(s)). An alternative approach would be to eagerly process the inlined objects using a custom callback. However, this requires changing Visitors to bring slots into the context. This approach should better work for scenarios where small ranges or single elements are added, to avoid processing potentially large backing stores. The followup CL implements this idea. Bug: chromium:1029379 Change-Id: Iacb59e4b10a66354526ed293d7f43f14d8761a8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460402Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#79073}
-
Darshan Sen authored
Here is the warning: ``` src/compiler/persistent-map.h:81:47: warning: loop variable 'triple' is always a copy because the range of type 'v8::internal::compiler::PersistentMap<v8::internal::compiler::Variable, v8::internal::compiler::Node *, v8::base::hash<v8::internal::compiler::Variable> >::ZipIterable' does not return a reference [-Wrange-loop-analysis] for (const std::tuple<Key, Value, Value>& triple : Zip(other)) { ``` So this changes the const ref into a copy. Signed-off-by: Darshan Sen <raisinten@gmail.com> Change-Id: I28bdd4e28e7536bd8dcb17cf2a6bf3342a79f504 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3459925Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#79072}
-
Leszek Swirski authored
Replace the Advance/Done methods on BitVector::Iterator with STL-compatible operator overloads, and add begin/end methods to BitVector itself, so that BitVectors can be iterated with ranged for loops. As a drive-by cleanup, make GrowableBitVector hold the BitVector by value (to avoid needing to allocate one for empty iteration), and remove its unused (and inefficient) Union method. Change-Id: Idcd34e26bfb087e3ec8297b4a769a51bfab4b6e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3455803Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79071}
-
Dominik Inführ authored
This is a reland of 2694b75e The reason for the revert was fixed and landed in https://crrrev.com/c/3456023, together with all changes in d8.cc. This reland itself doesn't change the CL apart from rebasing. Original change's description: > Reland "Reland "[heap] Support client-to-shared refs in Code objects"" > > This is a reland of 4b8f1b1c > > After landing https://crrev.com/c/3447371, we can reland this CL as-is > correctness-wise. > > What's new in this CL is that we now treat references from client > objects into the shared heap as roots for the --track-retaining-path > feature. > > Original change's description: > > Reland "[heap] Support client-to-shared refs in Code objects" > > > > This is a reland of 12e46091 > > > > Original change's description: > > > [heap] Support client-to-shared refs in Code objects > > > > > > Support references from code objects in the client heaps to shared heap objects. Such references are stored in a remembered set during marking, which is later used for updating pointers. > > > > > > Bug: v8:11708 > > > Change-Id: I8aeb508ddd14514ca65fa5acf3030dd8c2040168 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401588 > > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > > > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > > > Cr-Commit-Position: refs/heads/main@{#78819} > > > > Bug: v8:11708 > > Change-Id: I47bcf44b452fcffe8675fba03244b736ede14247 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3422630 > > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#78838} > > Bug: v8:11708 > Change-Id: I5b48e942fa469eabb40e797e221d06c25af16443 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3425358 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79023} Bug: v8:11708 Change-Id: I83de1dc4dc4701cba4936a68923f6d9b97f7a6a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3455242Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79070}
-
Victor Gomes authored
This is a reland of c927ada7 Fix: Recalculate encoding after an allocation (that can potentially trigger GC) in EnsureHasFullTransitionArray. Original change's description: > [runtime] Refactor TransitionsAccessor > > Problems: > - The class uses a bare Map field, but some methods can trigger GC > causing it to have a potential dangling pointer in case of map > compaction. > - Some methods invalidate the object state and should not be used again. > - Complicate logic with a no_gc and a gc aware constructors. Some > methods can only be called if the object is constructed with a > particular constructor (e.g, Insert and PutPrototypeTransition). > > Note: Most usages of this class is done by constructing an object and > calling a single method: > `TransitionAccessor(...).Method(...)` > So we can easily change them to a static method. > > This CL: > 1. Adds DISALLOW_GARBAGE_COLLECTION to the class. > 2. Makes methods that can trigger GC static. > 3. Creates static helper functions that wrap the class in a different > scope, since TransitionsAccessor now forces the scope to disallow gc. > 4. Removes now unnecessary "Reload" logic. > > Bug: chromium:1295133, v8:12578 > Change-Id: I85484e7235fbd5e69894e26f5e1c491c6f69635e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3450416 > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Victor Gomes <victorgomes@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79051} Bug: chromium:1295133, v8:12578 Change-Id: If3880c2480433b78567870c8d14508d6ad9eccbd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460405Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#79069}
-
Samuel Groß authored
Bug: v8:10391 Change-Id: If54ba6ddaabd14e5f4c232cdc3c29746f89e1cb3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3455822Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79068}
-
Dominik Inführ authored
With shared GCs we need to stop all isolates in a safepoint. But in some cases not every main thread of each isolate is able to reach a safepoint. We need to park the main thread manually here in d8. Bug: v8:11708 Change-Id: I45d495cecce92ebef7e25ff16ea852430f3645e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3456023 Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#79067}
-
Leszek Swirski authored
Previously, the accumulator was at the end of liveness bitvectors, which meant that checking for accumulator liveness required a length lookup. This CL moves it to the start of the bitvector, with registers starting at index 1 -- the assumption is that the addition of 1 to the index on register liveness access can be constant folded away. As a cleanup, replace all the custom liveness printing code with a single unified ToString. This places the accumulator at the end of the printed liveness, to avoid having to change test expectations (also, the position of the accumulator is now an implementation detail). As a similar cleanup, change StateValue node building to use the BytecodeLivenessState interface rather than the underlying bitvector. These two cleanups allow us to remove the raw bitvector accessor from liveness entirely. Change-Id: Ic2744b5e8e16b8527e6a4e8d3b4ddad7096289d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3455144 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#79066}
-
Yang Guo authored
R=bmeurer@chromium.org Fixed: chromium:1295387 Change-Id: I64461b7360f904fe5e0163263163db48a1c7c69c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460404 Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79065}
-