- 13 Feb, 2017 1 commit
-
-
hpayer authored
BUG=chromium:673308 Review-Url: https://codereview.chromium.org/2696563003 Cr-Commit-Position: refs/heads/master@{#43159}
-
- 27 Jan, 2017 1 commit
-
-
predrag.rudic authored
This patch fixes an issue with compilation with MIPS Android compiler NDK r12b, gcc version mipsel-linux-android-g++ (GCC) 4.9.x 20150123 (prerelease). The problem has been reported to the compiler team, the workaround should be reverted when the issue with compiler is resolved. BUG= Review-Url: https://codereview.chromium.org/2652673002 Cr-Commit-Position: refs/heads/master@{#42732}
-
- 08 Dec, 2016 1 commit
-
-
hpayer authored
BUG=chromium:648568, chromium:669920 Review-Url: https://codereview.chromium.org/2548213004 Cr-Commit-Position: refs/heads/master@{#41592}
-
- 30 Nov, 2016 1 commit
-
-
hpayer authored
[heap] Reduce store buffer size to increase chance to run concurrent store buffer processing thread more often. BUG= Review-Url: https://codereview.chromium.org/2529623002 Cr-Commit-Position: refs/heads/master@{#41383}
-
- 29 Nov, 2016 3 commits
-
-
hpayer authored
This reverts commit 810fcb28. BUG=chromium:648568, chromium:669270 Review-Url: https://codereview.chromium.org/2530383003 Cr-Commit-Position: refs/heads/master@{#41350}
-
machenbach authored
Revert of [heap] Reland: Use store buffer for writes coming from mutator. (patchset #1 id:1 of https://codereview.chromium.org/2529293004/ ) Reason for revert: Suspect for tsan failures: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/12915 Original issue's description: > [heap] Reland: Use store buffer for writes coming from mutator. > > This reverts commit 061c2ab2. > > BUG=chromium:648568, chromium:669270 > > Committed: https://crrev.com/fa2fdf275197185d9bca9d5e72c16a60722c3893 > Cr-Commit-Position: refs/heads/master@{#41341} TBR=mlippautz@chromium.org,hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:648568, chromium:669270 Review-Url: https://codereview.chromium.org/2534803004 Cr-Commit-Position: refs/heads/master@{#41342}
-
hpayer authored
This reverts commit 061c2ab2. BUG=chromium:648568, chromium:669270 Review-Url: https://codereview.chromium.org/2529293004 Cr-Commit-Position: refs/heads/master@{#41341}
-
- 24 Nov, 2016 2 commits
-
-
machenbach authored
Revert of [heap] Use store buffer for writes coming from mutator. (patchset #6 id:100001 of https://codereview.chromium.org/2528563003/ ) Reason for revert: tsan problems: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/12860 Original issue's description: > Store buffer is used for writes that are coming from the mutator. Writes coming from the GC are directly added to the remembered set. > > BUG=chromium:648568 > > Committed: https://crrev.com/c63c34e12e60ac0a19e1338b647882ac61d08741 > Cr-Commit-Position: refs/heads/master@{#41263} TBR=ulan@chromium.org,hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:648568 Review-Url: https://codereview.chromium.org/2528943002 Cr-Commit-Position: refs/heads/master@{#41265}
-
hpayer authored
Store buffer is used for writes that are coming from the mutator. Writes coming from the GC are directly added to the remembered set. BUG=chromium:648568 Review-Url: https://codereview.chromium.org/2528563003 Cr-Commit-Position: refs/heads/master@{#41263}
-
- 11 Nov, 2016 1 commit
-
-
hpayer authored
BUG=chromium:648973, chromium:648568 Review-Url: https://codereview.chromium.org/2493083003 Cr-Commit-Position: refs/heads/master@{#40928}
-
- 28 Oct, 2016 2 commits
-
-
machenbach authored
Revert of [heap] Concurrent store buffer processing. (patchset #13 id:260001 of https://codereview.chromium.org/2453673003/ ) Reason for revert: Seems to block rolling: https://codereview.chromium.org/2447393005/ Original issue's description: > [heap] Concurrent store buffer processing. > > BUG=chromium:648973, chromium:648568 TBR=ulan@chromium.org,mlippautz@chromium.org,hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:648973, chromium:648568 Review-Url: https://codereview.chromium.org/2449853010 Cr-Commit-Position: refs/heads/master@{#40650}
-
hpayer authored
BUG=chromium:648973, chromium:648568 Review-Url: https://codereview.chromium.org/2453673003 Cr-Commit-Position: refs/heads/master@{#40642}
-
- 31 Mar, 2016 2 commits
-
-
ulan authored
This reduces the reserved virtual memory size needed for the store buffer. BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1851473002 Cr-Commit-Position: refs/heads/master@{#35174}
-
mlippautz authored
Change x64 to use the external references like all other platforms. BUG=chromium:581076 LOG=N Review URL: https://codereview.chromium.org/1844283002 Cr-Commit-Position: refs/heads/master@{#35160}
-
- 25 Feb, 2016 1 commit
-
-
ulan authored
Reland "Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ )" This reverts commit 9146bc5e. This contains a fix for the following crash: 1. We record slots for a fixed array. 2. We trim the fixed array, so that some recorded slots are now in free space. 3. During mark-compact we sweep the page with the fixed array. Now free list items contain memory with recorded slots. 4. We evacuate a byte array using the new free list items. 5. We iterate slots that are now inside the byte array and crash. BUG=chromium:589413,chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1735523002 Cr-Commit-Position: refs/heads/master@{#34302}
-
- 24 Feb, 2016 1 commit
-
-
ulan authored
Revert of Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ ) Reason for revert: Revert because of canary crashes: crbug.com/589413 Original issue's description: > Replace slots buffer with remembered set. > > Slots pointing to evacuation candidates are now recorded in the new RememberedSet<OLD_TO_OLD>. > > The remembered set is extended to support typed slots. > > During parallel evacuation all migration slots are recorded in local slots buffers. > After evacuation all local slots are added to the remembered set. > > BUG=chromium:578883 > LOG=NO > > Committed: https://crrev.com/2285a99ef6f7d52f4f0c4d88a7db4224443ee152 > Cr-Commit-Position: refs/heads/master@{#34212} TBR=jochen@chromium.org,hpayer@chromium.org,mlippautz@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:578883 Review URL: https://codereview.chromium.org/1725073003 Cr-Commit-Position: refs/heads/master@{#34238}
-
- 23 Feb, 2016 1 commit
-
-
ulan authored
Slots pointing to evacuation candidates are now recorded in the new RememberedSet<OLD_TO_OLD>. The remembered set is extended to support typed slots. During parallel evacuation all migration slots are recorded in local slots buffers. After evacuation all local slots are added to the remembered set. BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1703823002 Cr-Commit-Position: refs/heads/master@{#34212}
-
- 16 Feb, 2016 1 commit
-
-
ulan authored
This new class provides a unified interface for recording and iterating slots in store and slots buffers: RememberedSet<OLD_TO_NEW>::Insert(page, slot); RememberedSet<OLD_TO_OLD>::Insert(page, slot); RememberedSet<OLD_TO_NEW>::Iterate(heap, callback); RememberedSet<OLD_TO_OLD>::Iterate(heap, callback); After this change the store buffer is responsible only for collecting slots from the generated code. Subsequent CLs will remove the slots buffer. BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1683653002 Cr-Commit-Position: refs/heads/master@{#34031}
-
- 09 Feb, 2016 1 commit
-
-
ulan authored
BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1675163003 Cr-Commit-Position: refs/heads/master@{#33841}
-
- 08 Feb, 2016 1 commit
-
-
ulan authored
This replaces the global remembered set with per-page remembered sets. Each page in the old space, map space, and large object space keeps track of the set of slots in the page pointing to the new space. The data structure for storing slot sets is a two-level bitmap, which allows us to remove the store buffer overflow and SCAN_ON_SCAVENGE logic. Design doc: https://goo.gl/sMKCf7 BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1608583002 Cr-Commit-Position: refs/heads/master@{#33806}
-
- 27 Jan, 2016 2 commits
-
-
mlippautz authored
This reverts commit 85ba94f2. All parallelism can be turned off using --predictable, or --noparallel-compaction. This patch completely parallelizes - semispace copy: from space -> to space (within newspace) - newspace evacuation: newspace -> oldspace - oldspace compaction: oldspace -> oldspace Previously newspace has been handled sequentially (semispace copy, newspace evacuation) before compacting oldspace in parallel. However, on a high level there are no dependencies between those two actions, hence we parallelize them altogether. We base the number of evacuation tasks on the overall set of to-be-processed pages (newspace + oldspace compaction pages). Some low-level details: - The hard cap on number of tasks has been lifted - We cache store buffer entries locally before merging them back into the global StoreBuffer in a finalization phase. - We cache AllocationSite operations locally before merging them back into the global pretenuring storage in a finalization phase. - AllocationSite might be compacted while they would be needed for newspace evacuation. To mitigate any problems we defer checking allocation sites for newspace till merging locally buffered data. CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_asan_rel,v8_linux64_tsan_rel,v8_mac64_asan_rel BUG=chromium:524425 LOG=N R=hpayer@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/1640563004 Cr-Commit-Position: refs/heads/master@{#33552}
-
machenbach authored
Revert of [heap] Parallel newspace evacuation, semispace copy, and compaction \o/ (patchset #16 id:620001 of https://codereview.chromium.org/1577853007/ ) Reason for revert: [Sheriff] Leads to crashes on all webrtc chromium testers, e.g.: https://build.chromium.org/p/chromium.webrtc/builders/Mac%20Tester/builds/49664 Original issue's description: > [heap] Parallel newspace evacuation, semispace copy, and compaction \o/ > > All parallelism can be turned off using --predictable, or --noparallel-compaction. > > This patch completely parallelizes > - semispace copy: from space -> to space (within newspace) > - newspace evacuation: newspace -> oldspace > - oldspace compaction: oldspace -> oldspace > > Previously newspace has been handled sequentially (semispace copy, newspace > evacuation) before compacting oldspace in parallel. However, on a high level > there are no dependencies between those two actions, hence we parallelize them > altogether. We base the number of evacuation tasks on the overall set of > to-be-processed pages (newspace + oldspace compaction pages). > > Some low-level details: > - The hard cap on number of tasks has been lifted > - We cache store buffer entries locally before merging them back into the global > StoreBuffer in a finalization phase. > - We cache AllocationSite operations locally before merging them back into the > global pretenuring storage in a finalization phase. > - AllocationSite might be compacted while they would be needed for newspace > evacuation. To mitigate any problems we defer checking allocation sites for > newspace till merging locally buffered data. > > CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_asan_rel,v8_linux64_tsan_rel,v8_mac64_asan_rel > BUG=chromium:524425 > LOG=N > R=hpayer@chromium.org, ulan@chromium.org > > Committed: https://crrev.com/8f0fd8c0370ae8c5aab56491b879d7e30c329062 > Cr-Commit-Position: refs/heads/master@{#33523} TBR=hpayer@chromium.org,ulan@chromium.org,mlippautz@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:524425 Review URL: https://codereview.chromium.org/1643473002 Cr-Commit-Position: refs/heads/master@{#33539}
-
- 26 Jan, 2016 1 commit
-
-
mlippautz authored
All parallelism can be turned off using --predictable, or --noparallel-compaction. This patch completely parallelizes - semispace copy: from space -> to space (within newspace) - newspace evacuation: newspace -> oldspace - oldspace compaction: oldspace -> oldspace Previously newspace has been handled sequentially (semispace copy, newspace evacuation) before compacting oldspace in parallel. However, on a high level there are no dependencies between those two actions, hence we parallelize them altogether. We base the number of evacuation tasks on the overall set of to-be-processed pages (newspace + oldspace compaction pages). Some low-level details: - The hard cap on number of tasks has been lifted - We cache store buffer entries locally before merging them back into the global StoreBuffer in a finalization phase. - We cache AllocationSite operations locally before merging them back into the global pretenuring storage in a finalization phase. - AllocationSite might be compacted while they would be needed for newspace evacuation. To mitigate any problems we defer checking allocation sites for newspace till merging locally buffered data. CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_asan_rel,v8_linux64_tsan_rel,v8_mac64_asan_rel BUG=chromium:524425 LOG=N R=hpayer@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/1577853007 Cr-Commit-Position: refs/heads/master@{#33523}
-
- 10 Dec, 2015 1 commit
-
-
mlippautz authored
R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1510213002 Cr-Commit-Position: refs/heads/master@{#32739}
-
- 13 Nov, 2015 1 commit
-
-
ishell authored
This CL introduces the following visitors: 1) RecordMigratedSlotVisitor which simplifies MarkCompactCollector::MigrateObject(). 2) IteratePointersToFromSpaceVisitor which simplifies Heap::IteratePointersToFromSpace(). 3) FindPointersToNewSpaceVisitor which simplifies StoreBuffer::IteratePointersToNewSpace(). These changes make the object's body descriptors the one and only place that knows how to traverse the object. Review URL: https://codereview.chromium.org/1441453002 Cr-Commit-Position: refs/heads/master@{#31992}
-
- 30 Sep, 2015 1 commit
-
-
mstarzinger authored
This enables linter checking for "readability/namespace" violations during presubmit and instead marks the few known exceptions that we allow explicitly. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1371083003 Cr-Commit-Position: refs/heads/master@{#31019}
-
- 26 Aug, 2015 1 commit
-
-
hpayer authored
BUG=chromium:524425 LOG=n Review URL: https://codereview.chromium.org/1313313002 Cr-Commit-Position: refs/heads/master@{#30383}
-
- 25 Aug, 2015 1 commit
-
-
mstarzinger authored
R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1317553002 Cr-Commit-Position: refs/heads/master@{#30355}
-
- 21 Aug, 2015 1 commit
-
-
mstarzinger authored
R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1309733002 Cr-Commit-Position: refs/heads/master@{#30304}
-
- 16 Mar, 2015 2 commits
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1009323002 Cr-Commit-Position: refs/heads/master@{#27214}
-
ishell authored
Revert of Reland of Remove slots that point to unboxed doubles from the StoreBuffer/SlotsBuffer. (patchset #3 id:40001 of https://codereview.chromium.org/988363002/) Reason for revert: Increased rate of Chrome crashes. Requires further investigation. Original issue's description: > Reland of Remove slots that point to unboxed doubles from the StoreBuffer/SlotsBuffer. > > The problem is that tagged slot could become a double slot after migrating of an object to another map with "shifted" fields (for example as a result of generalizing immutable data property to a data field). > This CL also adds useful machinery that helps triggering incremental write barriers. > > BUG=chromium:454297, chromium:465273 > LOG=Y > > Committed: https://crrev.com/6d0677d845c47ab9fa297de61d0e3d8e5480a02a > Cr-Commit-Position: refs/heads/master@{#27141} TBR=hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:454297, chromium:465273 Review URL: https://codereview.chromium.org/1004623003 Cr-Commit-Position: refs/heads/master@{#27207}
-
- 11 Mar, 2015 1 commit
-
-
ishell authored
The problem is that tagged slot could become a double slot after migrating of an object to another map with "shifted" fields (for example as a result of generalizing immutable data property to a data field). This CL also adds useful machinery that helps triggering incremental write barriers. BUG=chromium:454297, chromium:465273 LOG=Y Review URL: https://codereview.chromium.org/988363002 Cr-Commit-Position: refs/heads/master@{#27141}
-
- 10 Mar, 2015 1 commit
-
-
hpayer authored
We can do that now since we have the invariant that the store buffer always has valid slots after marking. BUG= Review URL: https://codereview.chromium.org/991853002 Cr-Commit-Position: refs/heads/master@{#27105}
-
- 09 Mar, 2015 2 commits
-
-
hpayer authored
The store buffer can contain stale store buffer entries, i.e., slot in dead objects pointing to new space objects. These slots are treaded as live slots which cause problems with non-pointer fields and makes concurrent sweeping complicated. Removing these pointers from the store buffer before it is used makes life easier. BUG= Review URL: https://codereview.chromium.org/985453003 Cr-Commit-Position: refs/heads/master@{#27068}
-
ishell@chromium.org authored
Revert of Remove slots that point to unboxed doubles from the StoreBuffer/SlotsBuffer. (patchset #4 id:230001 of https://codereview.chromium.org/957273002/) Reason for revert: It caused a lot of Canary crashes. Original issue's description: > Remove slots that point to unboxed doubles from the StoreBuffer/SlotsBuffer. > > The problem is that tagged slot could become a double slot after migrating of an object to another map with "shifted" fields (for example as a result of generalizing immutable data property to a data field). > This CL also adds useful machinery that helps triggering incremental write barriers. > > BUG=chromium:454297 > LOG=Y > > Committed: https://crrev.com/9633ebabd405c264d33f603f8798c31f59418dcd > Cr-Commit-Position: refs/heads/master@{#27054} TBR=verwaest@chromium.org,hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:454297 Review URL: https://codereview.chromium.org/991793002 Cr-Commit-Position: refs/heads/master@{#27063}
-
- 06 Mar, 2015 1 commit
-
-
ishell authored
The problem is that tagged slot could become a double slot after migrating of an object to another map with "shifted" fields (for example as a result of generalizing immutable data property to a data field). This CL also adds useful machinery that helps triggering incremental write barriers. BUG=chromium:454297 LOG=Y Review URL: https://codereview.chromium.org/957273002 Cr-Commit-Position: refs/heads/master@{#27054}
-
- 25 Feb, 2015 1 commit
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/946973008 Cr-Commit-Position: refs/heads/master@{#26844}
-
- 11 Aug, 2014 1 commit
-
-
hpayer@chromium.org authored
BUG= R=jochen@chromium.org Review URL: https://codereview.chromium.org/463523002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
This way we don't clash with the ASSERT* macros defined by GoogleTest, and we are one step closer to being able to replace our homegrown base/ with base/ from Chrome. R=jochen@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/430503007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jul, 2014 1 commit
-
-
hpayer@chromium.org authored
BUG= R=jarin@chromium.org Review URL: https://codereview.chromium.org/387483002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-