- 04 Dec, 2021 1 commit
-
-
Samuel Groß authored
This interface is meant to eventually replace the existing v8::PageAllocator interface. Beyond general refactoring of the PageAllocator APIs, the new interface now supports the concept of (contiguous) address space reservations, which previously had to be implemented through page allocations. These reservations now make better use of provided OS primitives on Fuchsia (VMARs) and Windows (placeholder mappings) and can be used to back many of the cages and virtual memory regions that V8 creates. The new interface is not yet stable and may change at any time without deprecating the old version first. Bug: chromium:1218005 Change-Id: I295253c42e04cf311393c5dab9f8c06bd7451ce3 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/+/3301475 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78235}
-
- 15 Nov, 2021 1 commit
-
-
Samuel Groß authored
This change allows clients of the RegionAllocator to provide callbacks that are invoked when regions are split or merged. This will later be needed on Windows when a RegionAllocator is used to manage a placeholder mapping as these need to be split and merged (using the VirtualFree API) as well. Bug: chromium:1218005 Change-Id: I228b41bdb43c4a9ef0db04de9b121dea6b5f12f9 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3264287 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77903}
-
- 11 Aug, 2021 1 commit
-
-
Samuel Groß authored
When this is enabled, v8 reserves a large region of virtual address space during initialization, at the start of which it will place its 4GB pointer compression cage. The remainder of the cage is used to store ArrayBuffer backing stores and WASM memory buffers. This will later allow referencing these buffers from inside V8 through offsets from the cage base rather than through raw pointers. Bug: chromium:1218005 Change-Id: I300094b07f64985217104b14c320cc019f8438af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3010195Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@google.com> Cr-Commit-Position: refs/heads/master@{#76234}
-
- 31 Jul, 2020 1 commit
-
-
Dan Elphick authored
Excluded regions are no longer available to the RegionAllocator, so should not be freeable so actually enforce that and aAdd a test. Bug: v8:10454 Change-Id: I51c41cf0bf3d2eeb699b10b1fa02f5465d93b6aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2330026Reviewed-by:
Igor Sheludko (OOO Aug 3-17) <ishell@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#69163}
-
- 30 Jul, 2020 1 commit
-
-
Dan Elphick authored
This adds new methods AllocateSharedPages, ReserveForSharedMemoryMapping and CanAllocateSharedPages to v8::PageAllocator, which if overridden allows the platform to declare that it supports allocation and remapping of shared memory. This interface is currently a work in progress so the new methods are marked "INTERNAL ONLY" and they may change without being first deprecated. An implementation of PageAllocator is provided that can allocate and map shared memory on Linux and Android, but no other platforms are yet supported. While Windows is not supported the interface has been designed to make this possible as AllocateSharedPages returns a SharedMemory object that wraps the shared memory and provides its own remap function. This should allow the SharedMemory object on windows to contain a mapping a to hFileMappingObject as required by MapViewOfFileEx. Bug: v8:10454 Change-Id: I2e601d49ea14da44867a102c823fa4e341cf0dab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306789Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#69154}
-
- 07 Nov, 2018 1 commit
-
-
Igor Sheludko authored
in order to make the test compatible with the pointer compression friendly heap layout. Bug: v8:8182 Change-Id: I34a0c597b70687f7ae7dad19df60c94520fa349f Reviewed-on: https://chromium-review.googlesource.com/c/1317818 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57310}
-
- 28 Sep, 2018 1 commit
-
-
Igor Sheludko authored
Trimming may free up some allocatable pages that can be reused by subsequent allocations. This CL also fixes base::AddressRegion::contains(Address, size_t). Bug: v8:8096 Change-Id: I3b7381fd32f7dbf186dffc1a26d5a88cd8a30d2f Reviewed-on: https://chromium-review.googlesource.com/1249127Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#56284}
-
- 06 Sep, 2018 1 commit
-
-
Igor Sheludko authored
This CL adds CheckRange() which will be used in DCHECKs in BoundedPageAllocator and renames "min_region_size" to "page_size" for better readability. Bug: v8:8096 Change-Id: I62cf7a92e50d0a11d462a9fbc34ddc5eda5456e1 Reviewed-on: https://chromium-review.googlesource.com/1209284Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#55692}
-
- 30 Aug, 2018 1 commit
-
-
Igor Sheludko authored
This is a naive implementation of a class that manages regions allocation/deallocation inside given range of addresses. This code will be used in a follow-up CLs. Bug: v8:8096 Change-Id: I7bea7051a1525cc7f87ba34d67b85b274c5de18a Reviewed-on: https://chromium-review.googlesource.com/1127175Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#55531}
-