- 12 Aug, 2022 2 commits
-
-
Omer Katz authored
The existing version for paged spaces simply reset the freelist, which doesn't work for tests that require actual objects in the space. The version for new space also doesn't work because it assumes everything after top is free space. Fill the space with FixedArray by iterating over the freelist and creating an object in place of each freelist entry. This method actually fills the space, so that we can also use it to force page promotion. Bug: v8:12612 Change-Id: Ie0d73e846bbf688ea52030be29e0587b2f37ed4e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3823135Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#82437}
-
Michael Lippautz authored
Worklist uses a singly-linked list of segments to hold entries. Segment size was based on a compile-time constant but already stored in the segment itself. Rework the segments to query `malloc_usable_size()` on allocation and adjust the capacity properly. For PartitionAlloc, it turns out that there's ~20% more capacity available for the 64-element segments. This slows down actual allocation of the segments with the upside of improving utilization and requiring 20% less segments. Change-Id: Ib8595c3fb9fb75b02e4022f6c525bb59a2df7ab7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3826047 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#82432}
-
- 10 Aug, 2022 3 commits
-
-
Shu-yu Guo authored
Bug: v8:11708 Change-Id: Iac70ab6701e691b2975856be69892daadd814f70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3820913Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#82366}
-
Michael Lippautz authored
This is a reland of commit 6953b555 The reland fixes tests that retrieved the stack start from a non-inlined frame's fp. This does not work in certain configurations as the resulting marker is too low to consider the first local variables in subsequent calls. The fix uses an inline frame address for the tests to get an upper bound of stack addresses to consider. Original change's description: > [handles] Remove precise on-stack representation of global handles > > Since https://crrev.com/c/3806439 on-stack traced handles are marked > conservatively when being used in combination with CppHeap. > > This change removes the precise on-stack representation of the > internal traced nodes as they nodes would anyways be marked > conservatively. The effects are: > - cheaper representation (just a single node space); > - uniform handling: no checks to distinguish on-stack vs on-heap; > - no brittleness around cleaning on-stack handles when the event loop > is empty; > > Change-Id: Id859623bfed77a66bdd064ea8065536264515eae > Bug: v8:13141 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3812039 > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82306} Bug: v8:13141 Change-Id: I53ece36220e99d02be6df18f83c18450e5d5037b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3820585Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#82342}
-
Omer Katz authored
This CL includes: 1) Using 1 full GC instead of 2 young GCs to force object promotion. 2) A couple of needed bailouts. 3) Using manual evacuation candidates in old space to ensure an object is evacuted (moved to a different address) instead of relying on Scavenger. And some other minor tweaks Bug: v8:12612 Change-Id: Idfd925ccdf30215998ab6e7cc632ce750fa2077a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816661Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#82327}
-
- 09 Aug, 2022 4 commits
-
-
Michael Lippautz authored
This reverts commit 6953b555. Reason for revert: Failing on CI: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20full%20debug/22876/overview Original change's description: > [handles] Remove precise on-stack representation of global handles > > Since https://crrev.com/c/3806439 on-stack traced handles are marked > conservatively when being used in combination with CppHeap. > > This change removes the precise on-stack representation of the > internal traced nodes as they nodes would anyways be marked > conservatively. The effects are: > - cheaper representation (just a single node space); > - uniform handling: no checks to distinguish on-stack vs on-heap; > - no brittleness around cleaning on-stack handles when the event loop > is empty; > > Change-Id: Id859623bfed77a66bdd064ea8065536264515eae > Bug: v8:13141 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3812039 > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82306} Bug: v8:13141 Change-Id: I5ebb2ed9eeec1394c2dd48504e91f6ff789b0711 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3820584 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#82313}
-
Michael Lippautz authored
Since https://crrev.com/c/3806439 on-stack traced handles are marked conservatively when being used in combination with CppHeap. This change removes the precise on-stack representation of the internal traced nodes as they nodes would anyways be marked conservatively. The effects are: - cheaper representation (just a single node space); - uniform handling: no checks to distinguish on-stack vs on-heap; - no brittleness around cleaning on-stack handles when the event loop is empty; Change-Id: Id859623bfed77a66bdd064ea8065536264515eae Bug: v8:13141 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3812039Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#82306}
-
Michael Lippautz authored
Splitting off cosmetics and unrelated test refactorings from a larger CL reworking traced global handles. Bug: v8:13141 Change-Id: I675cdbd4898346ab55b0db65d53e992f2eb95744 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816671 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82295}
-
Dominik Inführ authored
StepOrigin is enough to infer the right completion action: Either finalization by task (for StepOrigin::kTask) or stack guard (for StepOrigin::kV8). Only tests with StepOrigin::kV8 were violating this but they also just pass when enabling the stack guard. Bug: v8:12775 Change-Id: I5df50198d8e3612ee97142f84bd497820a5cec78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816664Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#82294}
-
- 04 Aug, 2022 1 commit
-
-
Michael Lippautz authored
v8::TracedReference is supposed to be used from objects allocated on CppHeap. Such objects can be in construction during garbage collection, meaning that they are unable to invoke Trace(v8::TraceReference) as they have not been properly set up. It is thus necessary to use conservative tracing to find v8::TracedReference (backed by TracedNode in GlobalHandle) in in-construction objects. Change-Id: I5b4ac6e7805ff7ded33f63a405db65ea08d809ad Bug: v8:13141, chromium:1322114 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3806439 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#82188}
-
- 01 Aug, 2022 1 commit
-
-
Michael Lippautz authored
Introduce RootVisitor and related class hierarchy to just handle roots. This avoids the awkard definitions for roots visiation in all the cases they are not needed. Change-Id: Ib0912e4bf543db2ecf68caead6929c68d6afdda6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3782794Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#82107}
-
- 27 Jul, 2022 1 commit
-
-
Nikolaos Papaspyrou authored
This CL implements MemoryAllocator::LookupChunkContainingAddress, which will be used for conservative stack scanning. The method determines whether an address that may be an inner pointer is contained in some allocated (normal or large) page. To achieve this, the CL introduces a page database in the memory allocator. Bug: v8:12851 Change-Id: I8b719a5f1b6e6b374ccf0666c91c2341c5f9856a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3784986Reviewed-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@{#82004}
-
- 26 Jul, 2022 1 commit
-
-
Nikolaos Papaspyrou authored
This CL refactors the mechanism for testing the implementation of inner pointer resolution using the marking bitmap. It allows for more than one page, where objects can be allocated. It also keeps a list of allocated objects that are automatically tested. Bug: v8:12851 Change-Id: I470dc1154aca1ebc3d8526872717747829f83396 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3784605Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#81952}
-
- 19 Jul, 2022 3 commits
-
-
Michael Lippautz authored
We will provide a replacement for raw pointers in future which should only be used by backing stores. Any other callsite must go through Trace(BasicMember<>). Bug: v8:13089 Change-Id: Ibdae439b44ad94bd7af2532855be941c5334db99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3772328 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#81833}
-
Michael Lippautz authored
Thread through compressed pointer into write barrier to allow to delay compression after checking whether a write barrier is actually needed. Change-Id: If7e6cbb69a57cc9aeeb551c11f685bace4e56c4c Bug: chromium:1325007 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3769826 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#81816}
-
Nikolaos Papaspyrou authored
This CL fixes a bug in the units of the reported metrics for V8.GC.Cycle.MainThread.Full.Incremental.Mark (ms instead of us). It also reports incremental marking/sweeping metrics (both for the unified heap and the C++ managed heap) only when incremental marking/sweeping were used; otherwise, no zero values are reported. Bug: chromium:1154636 Bug: chromium:1343507 Change-Id: Ibc0103ea62fa0eeb5f7184280c8514e99a5c21a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3768502Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81803}
-
- 15 Jul, 2022 3 commits
-
-
Michael Lippautz authored
- Avoid adding an Invalid type that can never be reached during traversal; - Expose class names as object names; Bug: chromium:1321620 Change-Id: Ie3d9f78d97703535ecf67d56235d564ab6a9a7e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3763866 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81758}
-
Nikolaos Papaspyrou authored
This CL refactors the implementation of inner pointer resolution, based on the marking bitmap. MarkCompactCollector::FindBasePtrForMarking has most of its code that processes the marking bitmap moved to a utility function FindPreviousObjectForConservativeMarking, which iterates backwards to find the closest previous object on the page that has been marked. Bug: v8:12851 Change-Id: I980ac5712d8b1df792196d77edb9526ca2e13e2c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3758227Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#81750}
-
Samuel Groß authored
As sandboxed pointers are now default-enabled when the sandbox is enabled, it is no longer possible to deactivate the sandbox at runtime. This CL therefore removes all the logic that was required to support a sandbox that could be disabled at runtime, moves the initialization of the sandbox into V8::Initialize, and deprecates V8::InitializeSandbox. This change also makes the sandbox initialization deterministic if FLAG_random_seed is supplied. Bug: v8:10391 Change-Id: Ibd49f7c251b7c58c642f18a551ecc2c391740970 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3762583Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#81746}
-
- 13 Jul, 2022 1 commit
-
-
Anton Bikineev authored
The operator with raw pointer allows us to avoid Member decompression, which is more expensive than compression. It's also quite frequently called (e.g. in HeapHashSet::find()). The existing operator template <...> bool operator==(const Member<T1>&, const Member<T2>&); was not called for GCed* raw = ...; member == raw; because the compiler wouldn't deduce `T2` in `const Member<T2>` as `GCed` when the initializer expression `raw` is of different type (`GCed*`). Bug: chromium:1325007 Change-Id: Ie1ee12bad28081c66f4e08a146467fd7c040bb70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3757344Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#81702}
-
- 05 Jul, 2022 1 commit
-
-
Michael Lippautz authored
GCInfoTable is a process-global table storing Oilpan type information. Table operations may fail in OOM scenarios which were previously just caught in regular CHECKs. Change to use a global OOM handler that is set up to use V8's handler. Bug: chromium:1283199 Change-Id: Id33263ef7cd4028d60a071f5ab3b165e59ac9593 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3745368Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81540}
-
- 30 Jun, 2022 1 commit
-
-
Omer Katz authored
MinorMC maintained a separate marking state to support interleaved GCs. Since MinorMC now assumes that interleaving is not possible, MinorMC can use the same marking state as the full GC. Bug: v8:12612 Change-Id: Ibeb7df2eb24e448f811b497c9d16b3b132f87ec2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735163Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81468}
-
- 29 Jun, 2022 1 commit
-
-
Leszek Swirski authored
Fix some final gcc warnings: * Manually roll googletest to get the fix in: https://crrev.com/d5ad28dbe14fca51038fb8c7610f11602b98f682 * Remove some anonymous namespaces in tests because the types in those anonymous namespaces ended up being visible in non-anonymous classes. * Fix a RVO breaking std::move. * Change some known-too-short strncpys into memcpys Bug: chromium:1307180 Change-Id: I0f64512f77655f3740fc297bbb2087e6c039f7f3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735122 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#81436}
-
- 27 Jun, 2022 2 commits
-
-
jameslahm authored
... objects/dictionary-unittest. Bug: v8:12781 Change-Id: I7faeb9fedf7857b25a85bf32f14323ba3da207c0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3706968Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#81395}
-
jameslahm authored
... unittests/heap/persistent-handles-unittest. Bug: v8:12781 Change-Id: I8d7abff3a34e11c920053c71a1a2c4b9c84235d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3724791 Commit-Queue: 王澳 <wangao.james@bytedance.com> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#81391}
-
- 23 Jun, 2022 2 commits
-
-
Nico Hartmann authored
This reverts commit 543acf34. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac%20-%20arm64%20-%20release/10365/overview Original change's description: > cppgc: Minor fix in cppgc efficiency calculation > > Efficiency calculation (freed bytes over GC duration) assumes that the > duration of the GC is non zero. However, if the clock resolution is > not small enough and the entire GC is very short, the timed value > appears to be zero. This leads to NaN values showing in metrics and > CHECKs failing. This CL fixes the issue. > > Bug: chromium:1338256 > Change-Id: I1dbc52072fcde3411aa38fa0c11da25afd107ca8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3714356 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81329} Bug: chromium:1338256 Change-Id: Ie9a23651494fc28a11bb59485a9812ee1a7cff48 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3721697 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Owners-Override: Nico Hartmann <nicohartmann@chromium.org> Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#81331}
-
Nikolaos Papaspyrou authored
Efficiency calculation (freed bytes over GC duration) assumes that the duration of the GC is non zero. However, if the clock resolution is not small enough and the entire GC is very short, the timed value appears to be zero. This leads to NaN values showing in metrics and CHECKs failing. This CL fixes the issue. Bug: chromium:1338256 Change-Id: I1dbc52072fcde3411aa38fa0c11da25afd107ca8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3714356Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#81329}
-
- 22 Jun, 2022 1 commit
-
-
Michael Lippautz authored
This reverts commit 6ddf042f. Revert did not fix the crasher. Bug: v8:12967, chromium:1336850 Change-Id: I6d474644e3d94c14df17af6efa70747bae6ad652 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3716487Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81290}
-
- 21 Jun, 2022 1 commit
-
-
Etienne Pierre-doray authored
Creates a feature (flag): transition from Done -> Wait schedules a timer after 30s instead of 8s. In local benchmark, this reduces by 50% cpu time spent doing incremental marking and sweeping. Bug: chromium:1330940 Change-Id: Iff9121243b88d0ed87d0b921e285ece52a83eaa9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3696168 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81283}
-
- 20 Jun, 2022 1 commit
-
-
Michael Lippautz authored
Remove finalization step of incremental marking. The step was historically used to process embedder/weak work on the main thread before invoking the atomic pause. Remove the infrastructure as the step is not needed anymore and actually required a safepoint. Change-Id: I208767bbac3d9a06a0b3c67aa9779f8a5fa07328 Bug: v8:12775 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3702801 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#81234}
-
- 17 Jun, 2022 1 commit
-
-
Michael Lippautz authored
This reverts commit 8325f86d. Reason for revert: Speculative revert for chromium:1336850. Original change's description: > [heap] Sweep code pages on the background thread > > We already make code pages writable & executable for concurrent > Sparkplug. We can use the same mechanism for sweeping of code pages on > the background thread, instead of scheduling incremental tasks on the > main thread. This allows us to remove almost all special > handling for code pages in the sweeper and allows us to off-load more > work from the main thread. > > Bug: v8:12967 > Change-Id: Idb8e9f8e2eadbec26a386f2de683a80087f671f3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695557 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81139} Bug: v8:12967, chromium:1336850 Change-Id: I1fb775892c2679984221efa7ceb682800c88cb2f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3707274 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/main@{#81213}
-
- 15 Jun, 2022 1 commit
-
-
Anton Bikineev authored
The CL fixes PMF regressions that happend after increasing the AgeTable size. Bug: chromium:1336529 Change-Id: If1f099b43bfcb3a8c7dd4a1c229fcb08735eb744 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3707098Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#81180}
-
- 14 Jun, 2022 2 commits
-
-
Michael Lippautz authored
In preparation for removing the finalization step, simplify incremental marking logic. Change-Id: I929034e389edb0c9da78cd39fd497d5783aff7c4 Bug: v8:12775 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3704509Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81155}
-
Dominik Inführ authored
We already make code pages writable & executable for concurrent Sparkplug. We can use the same mechanism for sweeping of code pages on the background thread, instead of scheduling incremental tasks on the main thread. This allows us to remove almost all special handling for code pages in the sweeper and allows us to off-load more work from the main thread. Bug: v8:12967 Change-Id: Idb8e9f8e2eadbec26a386f2de683a80087f671f3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695557Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#81139}
-
- 13 Jun, 2022 1 commit
-
-
Anton Bikineev authored
We don't need to reset the entire age table, but merely the pages that are known to contain young objects. This must improve memory use with generational GC enabled. The CL is a prerequisite for another CL that'll increase the size of the age-table. Bug: chromium:1029379 Change-Id: Ibb5b607af20380c3936b7396b3d9767f6f17c44b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695268 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81106}
-
- 10 Jun, 2022 3 commits
-
-
Anton Bikineev authored
Bug: chromium:1325007 Change-Id: I6adb06c4b15e5656f2b2c47b49d6a225750a6b2a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695572 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#81067}
-
Anton Bikineev authored
Currently, PageAllocator assumes that FreePages(start, size) will always be called on the same region that was passed to AllocatePages(start, size). This assumption is made in: 1) leak-sanitizer (LsanPageAllocator) that checks it explicitly, 2) on Windows, FreePages() calls VirtualFree() with zero-size and MEM_RELEASE, which causes the entire reservation to be freed. The CL temporarily fixes the bot failures just by holding the unneeded half and adds a TODO to return the unneded part back to the OS. Bug: chromium:1325007 Change-Id: I2bd878876d43d693cf2138020f410ffe1615b4e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695363Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#81059}
-
Anton Bikineev authored
Compaction currently considers only backing store pointers as slots and those are uncompressed. The CL fixes the tests to use raw pointers instead of Members. Bug: chromium:1325007 Change-Id: I2ddfffeeab396552bb7cf31b2bd8502ebc2921fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695590 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81056}
-
- 09 Jun, 2022 1 commit
-
-
Anton Bikineev authored
The CL does the following: 1) Globalizes CagedHeap for all HeapBases; 2) Adds the global variable representing the cage base; 3) Changes all write-barriers to use this global variable for value/slot checks; 4) Removes no longer needed functionality introduced in previous CLs. Bug: v8:12231 Change-Id: I281a7b0bf67e349c988486fc2d43ec6d703fd292 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3688050 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81027}
-
- 05 Jun, 2022 1 commit
-
-
Anton Bikineev authored
The CL splits the Oilpan giga-cage in two 2GB reservations: one for normal pages and the other for large ones. The split enables fast page-header lookup (assuming most objects reside on normal pages), which is needed for: 1) the young generation project, where the remembered set will move to pages; 2) the shared-cage project, to find HeapBase* from page-headers. Bug: v8:12231, chromium:1029379 Change-Id: I4ae9e8a75a307ed0dff9a2ec4f1247b80e17ebd9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3688519 Auto-Submit: Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#80950}
-