- 30 Oct, 2019 1 commit
-
-
Dominik Inführ authored
Change SlotSet representation to a variable-sized array of pointers to buckets. The length of the array/number of buckets depends on the size of the page. Before this change the SlotSet always stored a fixed number of buckets. Large pages needed a SlotSet-Array to cover the whole object. Now both regular and large pages both use a single SlotSet object, which contains all bucket pointers. Change-Id: I2d8d62fad54b58409cd39ae7a52c64497ee7c261 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1876811Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64635}
-
- 23 Oct, 2019 1 commit
-
-
Dominik Inführ authored
This function was only used for the write barrier since the store buffer only stored slots and needed a way to get to the object's start. Now that we insert into the remembered set directly from the write barrier this isn't an issue anymore: the write barrier knows the object start. Change-Id: I701465ea40b7c4ee20404ecbcf3750e5fa6fd219 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1876049Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64518}
-
- 07 Oct, 2019 1 commit
-
-
Dominik Inführ authored
This CL removes the StoreBuffer and inserts slots into the RememberedSet directly from within the RecordWrite builtin. Only calls into C code when either the SlotSet-array or the bucket is not allocated. This avoids filling the store buffer up with duplicates or due to a write-heavy workload and then blocking the main thread on store buffer processing. The first CL (https://crrev.com/c/1815241) got reverted, because mksnapshot was using a different size for SlotSet than the final binary on ARM. This is fixed now, SlotSet has a standard layout. Bug: v8:9454 Change-Id: I881641f4ee08a8b42c36fdca8733138b908096bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1842452Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64126}
-
- 30 Sep, 2019 1 commit
-
-
Dominik Inführ authored
This reverts commit 70e07cdb. Reason for revert: Clusterfuzz found issue in chromium:1009019 Original change's description: > [heap] Insert directly into RememberedSet and remove StoreBuffer > > This CL removes the StoreBuffer and inserts slots into the > RememberedSet directly from within the RecordWrite builtin. Only calls > into C code when either the SlotSet-array or the bucket is not > allocated. This avoids filling the store buffer up with duplicates or > due to a write-heavy workload and then blocking the main thread on > store buffer processing. > > Change-Id: I05b0b0938d822cdf0e8ef086ad4527d3229c05b2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815241 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64002} TBR=ulan@chromium.org,jkummerow@chromium.org,dinfuehr@chromium.org Change-Id: I6f4cc1641965c83b05f3b3830b0f526b362beb49 Bug: chromium:1009019, chromium:1009196 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829259Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64043}
-
- 26 Sep, 2019 1 commit
-
-
Dominik Inführ authored
This CL removes the StoreBuffer and inserts slots into the RememberedSet directly from within the RecordWrite builtin. Only calls into C code when either the SlotSet-array or the bucket is not allocated. This avoids filling the store buffer up with duplicates or due to a write-heavy workload and then blocking the main thread on store buffer processing. Change-Id: I05b0b0938d822cdf0e8ef086ad4527d3229c05b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815241 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64002}
-
- 11 Jul, 2019 1 commit
-
-
Maciej Goszczycki authored
BasicMemoryChunk sits above the MemoryChunk in the chunk hierarchy and is responsible for storing the bare minimum data to identify a chunk of memory, without worrying about GC etc. This change also completes the MemoryChunk offset asserts, which were previously missing for few key properties. Bug: v8:7464 Change-Id: Id4c7716c4ed5722ceca3cbc66d668aed016c74b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1688843 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#62652}
-