- 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}
-
- 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}
-
- 25 Jan, 2016 1 commit
-
-
mlippautz authored
- Completely rely on the concurrent sweeping state for SweepingCompleted() - Rename the state accordingly. 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 R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1614953002 Cr-Commit-Position: refs/heads/master@{#33490}
-
- 15 Jan, 2016 1 commit
-
-
mlippautz authored
It is only used locally when exempting pages from the store buffer. This use case can be replaced with a hashmap at the call site. BUG=chromium:524425 LOG=N R=ulan@chromium.org Review URL: https://codereview.chromium.org/1593583002 Cr-Commit-Position: refs/heads/master@{#33324}
-
- 09 Dec, 2015 1 commit
-
-
mlippautz authored
R=hpayer@chromium.org BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1504773002 Cr-Commit-Position: refs/heads/master@{#32712}
-
- 04 Dec, 2015 1 commit
-
-
mlippautz authored
Fix the missed store buffer entries for live objects on aborted pages. Marking the page as scan_on_scavenge takes care of rebuilding the entries. Note that this requires an additional case in the rebuilding logic as we cannot iterate an aborted pages using the object layout, but rather have to use mark bits for this. BUG=chromium:524425, chromium:564498 LOG=N Review URL: https://codereview.chromium.org/1497883003 Cr-Commit-Position: refs/heads/master@{#32610}
-
- 13 Nov, 2015 2 commits
-
-
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}
-
ishell authored
1) Body descriptors moved to their own header files. 2) Missing body descriptors added. 3) Template versions of HeapObject::Iterate*() methods added. 4) Body descriptors support new kind of queries: IsValidSlot(offset) which can be used for invalid slots filtering. This is a first step towards virtual and static visitors unification and support in-object properties in built-in (sub-)classes. Review URL: https://codereview.chromium.org/1440243002 Cr-Commit-Position: refs/heads/master@{#31980}
-
- 29 Sep, 2015 1 commit
-
-
mstarzinger authored
This prevents the internal incremental-marking.h to be usable outisde of the "heap" directory. The logic inside that component is only useful within the GC and is now properly encapsulated. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1374203002 Cr-Commit-Position: refs/heads/master@{#31010}
-
- 16 Sep, 2015 1 commit
-
-
fedor authored
ArrayBuffer's backing store is a pointer to external heap, and can't be treated as a heap object. Doing so will result in crashes, when the backing store is unaligned. See: https://github.com/nodejs/node/issues/2791 BUG=chromium:530531 R=mlippautz@chromium.org LOG=N Review URL: https://codereview.chromium.org/1327403002 Cr-Commit-Position: refs/heads/master@{#30771}
-
- 27 Aug, 2015 1 commit
-
-
rmcilroy authored
Adds a (currently unused) constant_pool() field to BytecodeArray objects. This field points to a FixedArray object which will be used to hold constants. The BytecodeArray is now a mixed values object type, with the kConstantPoolOffset object holding a tagged pointer, but the remainder of the object holding raw bytes (which could look like tagged pointers but are not). Modify the BytecodeArray GC visitors to deal with this and test that the field is migrated properly when evacuated. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1314953004 Cr-Commit-Position: refs/heads/master@{#30404}
-
- 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}
-
- 20 Aug, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1285183010 Cr-Commit-Position: refs/heads/master@{#30263}
-
- 17 Aug, 2015 2 commits
-
-
hpayer authored
This debug check is not needed anymore. This reverts commit ce311ed0. BUG= Review URL: https://codereview.chromium.org/1300663002 Cr-Commit-Position: refs/heads/master@{#30205}
-
mstarzinger authored
R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1291833003 Cr-Commit-Position: refs/heads/master@{#30195}
-
- 07 Aug, 2015 1 commit
-
-
mstarzinger authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1281903002 Cr-Commit-Position: refs/heads/master@{#30071}
-
- 03 Aug, 2015 3 commits
-
-
hpayer authored
Reland of land concurrent sweeping of code space. (patchset #1 id:1 of https://codereview.chromium.org/1263343002/) Reason for revert: Bogus revert. Original issue's description: > Revert of Reland concurrent sweeping of code space. (patchset #6 id:100001 of https://codereview.chromium.org/1242333002/) > > Reason for revert: > Reverted because 507840 came back on recent Chromecrash. Should not have committed this Cl. > > Original issue's description: > > Reland concurrent sweeping of code space. > > > > BUG= > > > > Committed: https://crrev.com/8516dccf6a561020441773c93c564dd4aa6ee59e > > Cr-Commit-Position: refs/heads/master@{#29967} > > TBR=jochen@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG= > > Committed: https://crrev.com/5c6e7d00438cc82a5584e3178d7dadf36e4a34f8 > Cr-Commit-Position: refs/heads/master@{#29975} TBR=jochen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1271773002 Cr-Commit-Position: refs/heads/master@{#29976}
-
hpayer authored
Revert of Reland concurrent sweeping of code space. (patchset #6 id:100001 of https://codereview.chromium.org/1242333002/) Reason for revert: Reverted because 507840 came back on recent Chromecrash. Should not have committed this Cl. Original issue's description: > Reland concurrent sweeping of code space. > > BUG= > > Committed: https://crrev.com/8516dccf6a561020441773c93c564dd4aa6ee59e > Cr-Commit-Position: refs/heads/master@{#29967} TBR=jochen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1263343002 Cr-Commit-Position: refs/heads/master@{#29975}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1242333002 Cr-Commit-Position: refs/heads/master@{#29967}
-
- 23 Jul, 2015 1 commit
-
-
hpayer authored
Use a lock in pages to synchronize sweeper threads to allow others to wait on concurrently swept pages. BUG= Review URL: https://codereview.chromium.org/1244353002 Cr-Commit-Position: refs/heads/master@{#29804}
-
- 20 Jul, 2015 2 commits
-
-
hpayer authored
Revert of Reland concurrent sweeping of code space. (patchset #5 id:80001 of https://codereview.chromium.org/1225733002/) Reason for revert: Tests became flaky. Original issue's description: > Reland concurrent sweeping of code space. > > BUG=chromium:506778,chromium:506957,chromium:507211 > LOG=n > > Committed: https://crrev.com/806b81f11e3bfaef0d4330c7669e6934074be9cb > Cr-Commit-Position: refs/heads/master@{#29748} TBR=jochen@chromium.org,mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:506778,chromium:506957,chromium:507211 Review URL: https://codereview.chromium.org/1242743002 Cr-Commit-Position: refs/heads/master@{#29751}
-
hpayer authored
BUG=chromium:506778,chromium:506957,chromium:507211 LOG=n Review URL: https://codereview.chromium.org/1225733002 Cr-Commit-Position: refs/heads/master@{#29748}
-
- 16 Jun, 2015 1 commit
-
-
jochen authored
This is the first step towards unifying external and on-heap typed arrays. The end-state will be that this base pointer either points to the on-heap values or to the externally allocated array buffer. BUG=v8:3996 R=hpayer@chromium.org LOG=n Review URL: https://codereview.chromium.org/1176263004 Cr-Commit-Position: refs/heads/master@{#29039}
-
- 08 Jun, 2015 1 commit
-
-
jochen authored
R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1135353003 Cr-Commit-Position: refs/heads/master@{#28834}
-
- 01 Jun, 2015 1 commit
-
-
erikcorry authored
When compiling on a laptop I like to concatenate the small test files. This makes a big difference to compile times. These changes make that easier. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1163803002 Cr-Commit-Position: refs/heads/master@{#28742}
-
- 16 Apr, 2015 1 commit
-
-
erikcorry authored
R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1086263002 Cr-Commit-Position: refs/heads/master@{#27876}
-
- 10 Apr, 2015 1 commit
-
-
verwaest authored
This fixes the arm(64) and mips(64) write barriers BUG= Review URL: https://codereview.chromium.org/1073133002 Cr-Commit-Position: refs/heads/master@{#27751}
-
- 09 Apr, 2015 3 commits
-
-
adamk authored
Revert of Merge cellspace into old pointer space (patchset #8 id:180001 of https://codereview.chromium.org/1010803012/) Reason for revert: Causes test failures on ARM bots related to cells and write barriers. Original issue's description: > Merge cellspace into old pointer space > > BUG= > > Committed: https://crrev.com/4e7163ce05f135918205c7855ae60a48e5d46cc5 > Cr-Commit-Position: refs/heads/master@{#27707} TBR=hpayer@chromium.org,balazs.kilvady@imgtec.com,yangguo@chromium.org,verwaest@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1053243003 Cr-Commit-Position: refs/heads/master@{#27711}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1010803012 Cr-Commit-Position: refs/heads/master@{#27707}
-
hpayer authored
MarkBit cleanup: They have to be accessed through Marking accessors. Avoid arbitrary abuse of mark bits and make marking explicit. Added DCHECKs to mark bit transitions to check source state. BUG= Review URL: https://codereview.chromium.org/1040443002 Cr-Commit-Position: refs/heads/master@{#27689}
-
- 07 Apr, 2015 1 commit
-
-
hpayer authored
This reverts commit cbfcee55. BUG= Review URL: https://codereview.chromium.org/1051233002 Cr-Commit-Position: refs/heads/master@{#27623}
-
- 30 Mar, 2015 1 commit
-
-
erikcorry authored
R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1040763002 Cr-Commit-Position: refs/heads/master@{#27520}
-
- 28 Mar, 2015 1 commit
-
-
jkummerow authored
And reland "Use a slot that is located on a heap page when removing invalid entries from the SlotsBuffer." This reverts commits de018fbd and d23a9f7a. Reason for relanding: looking fine on Canary, let's get these fixes back in. BUG=chromium:454297,chromium:470801 LOG=y TBR=ishell@chromium.org Review URL: https://codereview.chromium.org/1043703003 Cr-Commit-Position: refs/heads/master@{#27507}
-
- 27 Mar, 2015 1 commit
-
-
ishell authored
Revert of Reland "Filter invalid slots out from the SlotsBuffer after marking." (patchset #2 id:2 of https://codereview.chromium.org/1032833002/) Reason for revert: Reverting risky GC changes that block v8 roll. Original issue's description: > Reland "Filter invalid slots out from the SlotsBuffer after marking." > > > There are two reasons that could cause invalid slots appearance in SlotsBuffer: > > 1) If GC trims "tail" of an array for which it has already recorded a slots and then migrate another object to the "tail". > > 2) 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 > > NOTRY=true > > Committed: https://crrev.com/f86aadd1d45c756467dff8e08a055b462d7a060b > Cr-Commit-Position: refs/heads/master@{#27433} TBR=machenbach@chromium.org,ulan@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1041593002 Cr-Commit-Position: refs/heads/master@{#27491}
-
- 25 Mar, 2015 1 commit
-
-
ulan authored
> There are two reasons that could cause invalid slots appearance in SlotsBuffer: > 1) If GC trims "tail" of an array for which it has already recorded a slots and then migrate another object to the "tail". > 2) 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 NOTRY=true Review URL: https://codereview.chromium.org/1032833002 Cr-Commit-Position: refs/heads/master@{#27433}
-
- 24 Mar, 2015 1 commit
-
-
machenbach authored
Revert of Track how many pages trigger fallback strategies in GC (patchset #2 id:20001 of https://codereview.chromium.org/1029323003/) Reason for revert: This seems to cause lots of crashes in layout tests debug: ../../third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp(67) : void blink::useCounterCallback(v8::Isolate *, v8::Isolate::UseCounte http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2332 Original issue's description: > Track how many pages trigger fallback strategies in GC > > R=hpayer@chromium.org > BUG= > > Committed: https://crrev.com/bb880058f6499510cff12d98dc7d524d35d769cb > Cr-Commit-Position: refs/heads/master@{#27421} TBR=hpayer@chromium.org,erikcorry@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1000523003 Cr-Commit-Position: refs/heads/master@{#27427}
-