- 23 Jun, 2020 1 commit
-
-
Dominik Inführ authored
This reverts commit 8bdd4e86. Reason for revert: Caused multiple regressions. Original change's description: > [heap] Invoke OldGenerationAllocationCounter in Safepoint > > OldGenerationAllocationCounter() needs to be invoked in safepoint, > otherwise invocation races with background threads incrementing the > counter. > > Bug: v8:10315 > Change-Id: Iab005582bab7ebf63e7a5a796b25690f499a99eb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235544 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68250} TBR=ulan@chromium.org,dinfuehr@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:10315, chromium:1095475, chromium:1094968, chromium:1094965 Change-Id: Ib221a907bf3e6a096398c42e74f78f9f48647063 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2259854 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#68482}
-
- 09 Jun, 2020 1 commit
-
-
Dominik Inführ authored
OldGenerationAllocationCounter() needs to be invoked in safepoint, otherwise invocation races with background threads incrementing the counter. Bug: v8:10315 Change-Id: Iab005582bab7ebf63e7a5a796b25690f499a99eb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235544 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#68250}
-
- 30 Apr, 2020 1 commit
-
-
Dominik Inführ authored
When a background thread fails to allocate, it requests a GC and retries the allocation afterwards. Make second allocation more likely to succeed by allowing those allocations to expand the old space. TLABs of LocalHeaps also need to be invalidated before the GC. Bug: v8:10315 Change-Id: Idaea2c4ee25642d508c72ae274b06d60c6e225e0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154193 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67496}
-
- 21 Feb, 2020 1 commit
-
-
Dominik Inführ authored
Let --trace-gc now also emit whether the GC is a memory reducing GC or not. Change-Id: If0efd9e9a52d9cb861ca9692a2c93812effeabaa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064220Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#66389}
-
- 05 Feb, 2020 1 commit
-
-
Michael Lippautz authored
Delay completing marking (and thus the atomic GC pause) during JS executions, increasing the chance to finalize the garbage collection from a task. This is beneficial as it avoids stack scanning which is expensive and can keep alive outdated objects in case of unified heap. Completing will be delayed at most by some overshoot factor (10%). In addition, the GC keeps the weighted average of previously recorded time to incremental marking task invocations and bails out if the task is expected to arrive too late. Reland: Do not schedule a delayed task when marking has already been finalized. This reverts commit 1775684e. Bug: chromium:1044630, v8:10178 Change-Id: Ic46e9504ce7c200bd1d37ee8d0190fb8727a3f96 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037436Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66137}
-
- 04 Feb, 2020 2 commits
-
-
Michael Achenbach authored
This reverts commit 02e57873. Reason for revert: High flakiness and broken GPU builders. See: https://crbug.com/v8/10178 (speculative revert) Original change's description: > heap: Delay completing marking > > Delay completing marking (and thus the atomic GC pause) during JS > executions, increasing the chance to finalize the garbage collection > from a task. This is beneficial as it avoids stack scanning which is > expensive and can keep alive outdated objects in case of unified heap. > > Completing will be delayed at most by some overshoot factor (10%). > > In addition, the GC keeps the weighted average of previously recorded > time to incremental marking task invocations and bails out if the > task is expected to arrive too late. > > Bug: chromium:1044630 > Change-Id: I10e63e6aaa88d8488d4415f311016dce2b4e62a2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030906 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66107} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org Change-Id: I0cd3f1189d0f83754350d5bdaaf82cb3c4d402c8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1044630, v8:10178 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037434Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66120}
-
Michael Lippautz authored
Delay completing marking (and thus the atomic GC pause) during JS executions, increasing the chance to finalize the garbage collection from a task. This is beneficial as it avoids stack scanning which is expensive and can keep alive outdated objects in case of unified heap. Completing will be delayed at most by some overshoot factor (10%). In addition, the GC keeps the weighted average of previously recorded time to incremental marking task invocations and bails out if the task is expected to arrive too late. Bug: chromium:1044630 Change-Id: I10e63e6aaa88d8488d4415f311016dce2b4e62a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030906 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66107}
-
- 24 Jan, 2020 1 commit
-
-
Dominik Inführ authored
When ArrayBufferExtensions are enabled, sweep the extensions outside of the GC pause concurrently to the application. The following GC will make sure that the previous concurrent sweep operation is finished. This CL introduces Heap::array_buffer_sweeper() that is both responsible for tracking all extensions but also for sweeping. Bug: v8:10064 Change-Id: I113cd625445a7d59ffb7a9de8b25a15a72b02b99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2010107Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#65984}
-
- 05 Nov, 2019 1 commit
-
-
Dominik Inführ authored
Measure remembered set processing during Scavenge. Change-Id: I8f7f31269bf1c09ff1f3cb3455fc96bce5c4f35d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895562 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64755}
-
- 29 Aug, 2019 1 commit
-
-
Ulan Degenbaev authored
Before this CL the main thread fetched the background GC stats and added them to the main runtime-call-stats table. This resulted in background GC stats showing up in the main thread trace. This CL switches the background GC stats to use worker thread runtime- calls-stats table. This is now consistent with other background components of V8 suchs background compiler and parser. Bug: v8:9508 Change-Id: Ic4c0685ded6024f78d0f22f81419fd5677202f25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1776083Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63459}
-
- 21 Aug, 2019 1 commit
-
-
Michael Lippautz authored
Some scopes that were subtracted were not part of the outer scopes and thus can result in negative values. Change-Id: I2264b27c4b7a48075fed4e3afaa6b6dd27d8daa4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762299Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#63298}
-
- 29 Jul, 2019 1 commit
-
-
Darius Mercadier authored
Bug: v8:9329 Change-Id: Id92ab58179a5b5765560f22beefef842055d7e28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1715461 Commit-Queue: Darius Mercadier <dmercadier@google.com> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#62950}
-
- 24 Jun, 2019 2 commits
-
-
Michael Lippautz authored
Tbr: ulan@chromium.org Bug: chromium:948807, chromium:978050 Change-Id: I73d4ca4ca43b9c9bfa57502676bab9f60b052229 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1674036 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#62343}
-
Michael Lippautz authored
The default values ensure that the controller doesn't change scheduling if no values are reported from the embedder. This allows for switching the flag on the embedder side. Bug: chromium:948807 Change-Id: Ib478adc1185ed5e56d06ba4404d6cafb196cff78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1672930Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#62330}
-
- 17 Jun, 2019 1 commit
-
-
Maciej Goszczycki authored
Rename LargeObjectIterator to LargeObjectSpaceObjectIterator. Rename SemiSpaceIterator to SemiSpaceObjectIterator. Rename CombinedHeapIterator to CombinedHeapObjectIterator. Rename ReadOnlyHeapIterator to ReadOnlyHeapObjectIterator. Rename HeapIterator to HeapObjectIterator. Rename HeapObjectIterator to PagedSpaceObjectIterator. Rename PagedSpaces to PagedSpaceIterator. Bug: v8:9183 Change-Id: If4bd65d81e50bb45d207a897baaca8b723e4f10b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645914Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#62217}
-
- 13 Jun, 2019 1 commit
-
-
Darius Mercadier authored
With this flag enabled, some statistics about the oldspace's freelists (and free/used spaced in general) are printed before and after each major garbage collection. It is useful to get some intuition about fragmentation and debug freelists. (This flag helped me track down the issues fixed by CLs 1647162 and 1648476) Additionally, the verbose version (FLAG_trace_gc_freelists_verbose) prints the freelists of each page of old_space. Bug: v8:9329 Change-Id: Ifa80426bf9d97ac9950459154507a585b039326d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1655302 Commit-Queue: Darius Mercadier <dmercadier@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#62150}
-
- 31 May, 2019 1 commit
-
-
Maciej Goszczycki authored
This makes the API more consistent and reduces the cognitive load of switching between 'next' and 'Next'. Bug: v8:9183 Change-Id: Ia81b874374626887d6af8c90f8ac185812f0573f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1635689Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#61946}
-
- 22 May, 2019 3 commits
-
-
Michael Lippautz authored
Provide a global memory controller used to compute limits for combined on-heap and embedder memory. The global controller uses the same mechanism (gc speed, mutator speed) and growing factors as the regular on-heap controller. Rely on V8's mechanisms for configured state that stops shrinking the limit. Reland: - API fixes with overrides and default versions. - Fix of depending on uninitialized values when using the old API. - GCTracer: Fixed issue in speed computation. - GCTracer: Added unittests. This reverts commit 5e043f27. Bug: chromium:948807 Change-Id: I0f81253b3e1a8b49a7ac107c012a15e33cb514d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622852Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#61735}
-
Yang Guo authored
Bug: v8:9247 Change-Id: I79e0553e8a0d6dac2aa16b94a6c0e05b6ccde4a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621934 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61725}
-
Clemens Hammacher authored
This reverts commit dac86be2. Reason for revert: Still failing msan: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/26904 Original change's description: > Reland "[heap] Add global memory controller" > > Provide a global memory controller used to compute limits for combined > on-heap and embedder memory. The global controller uses the same > mechanism (gc speed, mutator speed) and growing factors as the regular > on-heap controller. > > Rely on V8's mechanisms for configured state that stops shrinking the > limit. > > This reverts commit 5e043f27. > > Tbr: ulan@chromium.org > Bug: chromium:948807 > Change-Id: Id4f94e7dcb458d1d0d2f872194f8f3ea0959a73f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622968 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61715} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: If30649f158a08fd185f2771a13b8e09cf53fb667 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:948807 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622849Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61716}
-
- 21 May, 2019 3 commits
-
-
Michael Lippautz authored
Provide a global memory controller used to compute limits for combined on-heap and embedder memory. The global controller uses the same mechanism (gc speed, mutator speed) and growing factors as the regular on-heap controller. Rely on V8's mechanisms for configured state that stops shrinking the limit. This reverts commit 5e043f27. Tbr: ulan@chromium.org Bug: chromium:948807 Change-Id: Id4f94e7dcb458d1d0d2f872194f8f3ea0959a73f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622968Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#61715}
-
Michael Lippautz authored
This reverts commit cfe281f3. Reason for revert: Fails on gcc bots Original change's description: > [heap] Add global memory controller > > Provide a global memory controller used to compute limits for combined > on-heap and embedder memory. The global controller uses the same > mechanism (gc speed, mutator speed) and growing factors as the regular > on-heap controller. > > Rely on V8's mechanisms for configured state that stops shrinking the > limit. > > Bug: chromium:948807 > Change-Id: I3283a2c28e6ab889f8d2ad85c9b67b8f234b9900 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619762 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61712} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,bikineev@chromium.org Change-Id: I503d5a1436eb9156556b5bca852d2b2f9da2446f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:948807 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622967Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#61713}
-
Michael Lippautz authored
Provide a global memory controller used to compute limits for combined on-heap and embedder memory. The global controller uses the same mechanism (gc speed, mutator speed) and growing factors as the regular on-heap controller. Rely on V8's mechanisms for configured state that stops shrinking the limit. Bug: chromium:948807 Change-Id: I3283a2c28e6ab889f8d2ad85c9b67b8f234b9900 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619762 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61712}
-
- 20 May, 2019 2 commits
-
-
Pierre Langlois authored
When the 'disabled-by-default-v8.gc' category is enabled, emit an instant event with heap statistics after every GC. The data that's emitted is the same as what the V8 API gives you with `GetHeapStatistics()` and `GetHeapSpaceStatistics()`. We generate JSON with the following format: ``` { "isolate": "0x55dd5cf03b50", "id": 1, "time_ms": 42.619, "total_heap_size": 3981312, "total_heap_size_executable": 573440, "total_physical_size": 2820440, "total_available_size": 2195254440, "used_heap_size": 1799616, "heap_size_limit": 2197815296, "malloced_memory": 251024, "external_memory": 2981, "peak_malloced_memory": 589280, "spaces": [ { "name": "read_only_space", "size": 262144, "used_size": 32568, "available_size": 229256, "physical_size": 32888 }, { "name": "new_space", "size": 2097152, "used_size": 903392, "available_size": 143904, "physical_size": 1856136 }, ... ] } ``` Bug: v8:9186 Change-Id: I0d07aa37b65d45778d6b47dbe6e07a9dd25d1097 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619763Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#61667}
-
Yang Guo authored
TBR=verwaest@chromium.org,rmcilroy@chromium.org NOTREECHECKS=true NOPRESUBMIT=true Bug: v8:9247 Change-Id: I9ddfb6e56ca8e47c4ac186a8df5f442d26420a69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617661 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61642}
-
- 17 May, 2019 2 commits
-
-
Yang Guo authored
This reverts commit 5f285395. Reason for revert: presubmit failure Original change's description: > Move logging and diagnostics related source files > > This also introduces a COMMON_OWNERS file, which is derived from the > current top-level OWNERS file. It is to be used for parts of the > codebase that is not sensitive to domain-specific expertise. > > NOPRESUBMIT=true > TBR=verwaest@chromium.org > > Bug: v8:9247 > Change-Id: I34a5eaa7cb1509a80d15094a2aceedd62665b17c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613987 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61600} TBR=rmcilroy@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Change-Id: I3827c3af4fd63b18aa48c49617f318a01746e813 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9247 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617247Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61601}
-
Yang Guo authored
This also introduces a COMMON_OWNERS file, which is derived from the current top-level OWNERS file. It is to be used for parts of the codebase that is not sensitive to domain-specific expertise. NOPRESUBMIT=true TBR=verwaest@chromium.org Bug: v8:9247 Change-Id: I34a5eaa7cb1509a80d15094a2aceedd62665b17c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613987Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61600}
-
- 15 May, 2019 1 commit
-
-
Clemens Hammacher authored
The 'z' length modifier for {size_t} in format strings was introduced with C99, hence it is available in all environments we support. R=jgruber@chromium.org, mlippautz@chromium.org Bug: v8:9183 Change-Id: I1bc2abec3f9c7b38186128202fef4719853de7d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613243Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61536}
-
- 29 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
Our {Vector} template provides both {start} and {begin} methods. They return exactly the same value. Since the {begin} method is needed for iteration, and is also what standard containers provide, this CL switches all uses of the {start} method to use {begin} instead. Patchset 1 was auto-generated by using this clang AST matcher: callExpr( callee( cxxMethodDecl( hasName("start"), ofClass(hasName("v8::internal::Vector"))) ), argumentCountIs(0)) Patchset 2 was created by running clang-format. Patchset 3 then removes the now unused {Vector::start} method. R=jkummerow@chromium.org TBR=mstarzinger@chromium.org,yangguo@chromium.org,verwaest@chromium.org Bug: v8:9183 Change-Id: Id9f01c92870872556e2bb3f6d5667463b0e3e5c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587381Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61081}
-
- 11 Apr, 2019 1 commit
-
-
Michael Lippautz authored
Exclude embedder tracing time Bug: chromium:945806 Change-Id: I9719a42f86fd6edad8fd2b0f707b4dc7feada277 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1564437Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60783}
-
- 02 Apr, 2019 1 commit
-
-
Michael Lippautz authored
Adds the following UMA counters: - V8.GCMarkingSum: Overall time spent in marking per GC cycle - V8.GCMainThreadMarkingThroughput: Overall marking throughput considering marking time spent on the main thread and allocated bytes after GC. Only reported if more than 1MB of live objects have been marked in the cycle. Bug: chromium:945806 Change-Id: I24a37bf59f02da9aba984bed9de62fdb39be8882 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547657 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60579}
-
- 07 Mar, 2019 1 commit
-
-
Igor Sheludko authored
... because the latter are not meant to be modified from non-main thread and especially after V8 isolate is set up while the former are modified cuncurrently by tracing API. Tbr: verwaest@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Bug: v8:8929, v8:8834 Change-Id: I44d3da2f388bb8bb8d0365ac6354e761bf92b936 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1505581Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#60104}
-
- 07 Feb, 2019 2 commits
-
-
Ulan Degenbaev authored
The Size() includes the page header. Bug: chromium:852420 Change-Id: I1f2da2309ff38f2222c82b5758937bdaf5036f12 Reviewed-on: https://chromium-review.googlesource.com/c/1458242Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59438}
-
Ulan Degenbaev authored
The new scheduling reduces the main thread marking performed in tasks and on allocation. It is based on two counters: - bytes_marked, - scheduled_bytes_to_mark. The bytes_marked accounts marking done both the main thread and the concurrent threads. The scheduled_bytes_to_mark increases based on allocated bytes and also based on time passed since the start of marking. The main thread steps are allowed to mark the minimal amount if bytes_marked is greater than scheduled_bytes_to_mark. This also changes tasks posted for marking. Before only normal tasks were posted. Now delayed tasks are posted if the marker is ahead of schedule. Bug: 926189 Change-Id: I5bc9c33a5ecfc9f8d09f78d08ae277d16a2779ca Reviewed-on: https://chromium-review.googlesource.com/c/1443056 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59433}
-
- 05 Feb, 2019 1 commit
-
-
Ulan Degenbaev authored
This also fixes external string table update after scavenge and the fast promotion mode. Bug: chromium:852420 Change-Id: I5d2e1b585b8c74970047867aa587f928e116ed73 Reviewed-on: https://chromium-review.googlesource.com/c/1454604 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59379}
-
- 18 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
This reverts commit 13e07389. Original change's description: > [heap] Remove bailout marking worklist. > > The concurrent marker can now process all objects. > This patch also eagerly visits the objects that undergo layout > changes. This is because previously such objects were pushed > onto the bailout worklist, which is gone now. > To preserve the incremental step accounting, the patch introduces > a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE. > > Bug: v8:8486 > Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f > Reviewed-on: https://chromium-review.googlesource.com/c/1386486 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58712} Change-Id: I85c99837819f6971c248198bd51ad40eebdb4fac Reviewed-on: https://chromium-review.googlesource.com/c/1417595Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58913}
-
- 14 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
This reverts commit 68a8bdd8. Reason for revert: memory regression: crbug.com/921239 Original change's description: > [heap] Remove bailout marking worklist. > > The concurrent marker can now process all objects. > This patch also eagerly visits the objects that undergo layout > changes. This is because previously such objects were pushed > onto the bailout worklist, which is gone now. > To preserve the incremental step accounting, the patch introduces > a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE. > > Bug: v8:8486 > Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f > Reviewed-on: https://chromium-review.googlesource.com/c/1386486 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58712} TBR=ulan@chromium.org,mlippautz@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:8486, chromium:921239 Change-Id: I1f851b948f4ce403316e469999f0b16e8dfdb62d Reviewed-on: https://chromium-review.googlesource.com/c/1408990 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58787}
-
- 10 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
The concurrent marker can now process all objects. This patch also eagerly visits the objects that undergo layout changes. This is because previously such objects were pushed onto the bailout worklist, which is gone now. To preserve the incremental step accounting, the patch introduces a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE. Bug: v8:8486 Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f Reviewed-on: https://chromium-review.googlesource.com/c/1386486 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58712}
-
- 26 Nov, 2018 1 commit
-
-
Marja Hölttä authored
- Remove heap-inl.h includes from places where it looked unnecessary. (This is a non-scientific approach, because it's probably pulled in indirectly anyway.) - Annotate places which include heap-inl.h because they need heap/ internals. - ACCESSORS legitimately needs heap-inl.h because of Heap::FromWritableHeapObject. - Add includes to heap/heap-write-barrier(-inl).h - A bunch of IWYU fixes discovered when working on this CL (includes which were missing because heap-inl.h pulls them in indirectly). BUG=v8:7490,v8:8238,v8:8499 Change-Id: I00f9a74d430f13d7c080dca77a92b03bcca7ef96 Reviewed-on: https://chromium-review.googlesource.com/c/1349241Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#57814}
-
- 20 Nov, 2018 1 commit
-
-
Michael Lippautz authored
This is a reland of b1468242. Bug: chromium:843903, chromium:903586 Change-Id: Ida59ba4efd3abae6956b99aa104bbc66a3f01fdc Reviewed-on: https://chromium-review.googlesource.com/c/1342924Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#57644}
-