- 12 Apr, 2016 1 commit
-
-
hlopko authored
When the embedder sets the heap tracer, V8, during marking, will collect all reachable wrappers, and then ask embedder to trace its heap. The embedder is expected to call PersistentBase::RegisterExternalReference with all wrappers reachable from the given ones. This fixed point iteration happens in MarkCompact::ProcessEphemeralMarking. For more efficient object visiting during marking, we need a special JS_API_OBJECT_TYPE (in tandem with already existing JS_SPECIAL_API_OBJECT_TYPE) and corresponding visitor (JSApiObjectVisitor). BUG=chromium:468240 LOG=no Review URL: https://codereview.chromium.org/1844413002 Cr-Commit-Position: refs/heads/master@{#35412}
-
- 09 Dec, 2015 1 commit
-
-
mvstanton authored
It's expensive to walk all shared function infos during the gc atomic pause. Instead, use WeakCells to implement this structure without manual clearing. Reland due to a bug when reusing entries in the optimized code map. BUG= Review URL: https://codereview.chromium.org/1508703002 Cr-Commit-Position: refs/heads/master@{#32696}
-
- 08 Dec, 2015 1 commit
-
-
ulan authored
Instead of iterating the whole map space to find dead transitions, look in weak cell list and transition array list. Simple transitions are in the weak cell list. Full transitions are in the transitions array list. BUG=chromium:554488 LOG=NO Review URL: https://codereview.chromium.org/1488593003 Cr-Commit-Position: refs/heads/master@{#32684}
-
- 07 Dec, 2015 1 commit
-
-
mstarzinger authored
This makes the strong link from optimized code to code objects for all inlined functions explicit. It adds direct references to code objects into deoptimization data as literals. Note that this is not necessarily the code that will be deoptimized to, because the code on the shared function info might be replaced by other components (e.g. debugger). Those replacement code objects however are all non-flushable, marking explicit strong links for reachability unnecessary. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1490233009 Cr-Commit-Position: refs/heads/master@{#32654}
-
- 04 Dec, 2015 1 commit
-
-
jochen authored
BUG=none R=ishell@chromium.org,hpayer@chromium.org LOG=n Review URL: https://codereview.chromium.org/1488053002 Cr-Commit-Position: refs/heads/master@{#32618}
-
- 03 Dec, 2015 3 commits
-
-
neis authored
Reason for revert: Probably causes GC stress test failures. TBR=mvstanton@chromium.org BUG= NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1493393002 Cr-Commit-Position: refs/heads/master@{#32574}
-
mvstanton authored
It's expensive to walk all shared function infos during the gc atomic pause. Instead, use WeakCells to implement this structure without manual clearing. BUG= Review URL: https://codereview.chromium.org/1478943003 Cr-Commit-Position: refs/heads/master@{#32567}
-
hpayer authored
Reland of Introduce instance type for transition arrays. (patchset #1 id:1 of https://codereview.chromium.org/1483003002/ ) Reason for revert: Suspect for crashing found, relanding for canary coverage. Original issue's description: > Revert of Introduce instance type for transition arrays. (patchset #6 id:100001 of https://codereview.chromium.org/1480873003/ ) > > Reason for revert: > Broken canary. Trying to find out root cause. > > Original issue's description: > > Introduce instance type for transition arrays. > > > > The motivation is to allow specialized marking visitor for transition arrays and collect all transition array in a list for post-processing in ClearNonLiveReferences. > > > > BUG=chromium:554488 > > LOG=NO > > > > Committed: https://crrev.com/026095a3c7932573e1810b8064ec3008ed696601 > > Cr-Commit-Position: refs/heads/master@{#32396} > > TBR=mlippautz@chromium.org,jkummerow@chromium.org,ulan@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=chromium:554488 > > Committed: https://crrev.com/38bf70b9cd2a07b99ac0c0b7eda111849e79c146 > Cr-Commit-Position: refs/heads/master@{#32404} TBR=mlippautz@chromium.org,jkummerow@chromium.org,ulan@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:554488 Review URL: https://codereview.chromium.org/1500623002 Cr-Commit-Position: refs/heads/master@{#32561}
-
- 30 Nov, 2015 2 commits
-
-
hpayer authored
Revert of Introduce instance type for transition arrays. (patchset #6 id:100001 of https://codereview.chromium.org/1480873003/ ) Reason for revert: Broken canary. Trying to find out root cause. Original issue's description: > Introduce instance type for transition arrays. > > The motivation is to allow specialized marking visitor for transition arrays and collect all transition array in a list for post-processing in ClearNonLiveReferences. > > BUG=chromium:554488 > LOG=NO > > Committed: https://crrev.com/026095a3c7932573e1810b8064ec3008ed696601 > Cr-Commit-Position: refs/heads/master@{#32396} TBR=mlippautz@chromium.org,jkummerow@chromium.org,ulan@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:554488 Review URL: https://codereview.chromium.org/1483003002 Cr-Commit-Position: refs/heads/master@{#32404}
-
ulan authored
The motivation is to allow specialized marking visitor for transition arrays and collect all transition array in a list for post-processing in ClearNonLiveReferences. BUG=chromium:554488 LOG=NO Review URL: https://codereview.chromium.org/1480873003 Cr-Commit-Position: refs/heads/master@{#32396}
-
- 26 Nov, 2015 1 commit
-
-
ishell authored
This CL also removes JSTypedArray and JSDataView static visitor Ids because the visiting logic is the same as for ordinary JSObject. BUG=v8:4531 LOG=Y Review URL: https://codereview.chromium.org/1476753003 Cr-Commit-Position: refs/heads/master@{#32317}
-
- 13 Nov, 2015 1 commit
-
-
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}
-
- 10 Nov, 2015 1 commit
-
-
ishell authored
The body descriptor supports different visiting policies: it could visit or skip the code entry and it could visit or skip next function field. BUG=v8:4531 LOG=Y Review URL: https://codereview.chromium.org/1422773007 Cr-Commit-Position: refs/heads/master@{#31915}
-
- 06 Nov, 2015 1 commit
-
-
mstarzinger authored
Now that the VisitCode visitor is actually marking through to inlined code objects (as opposed to the VisitJSFunction visitor), we can make this helper method private again. R=ulan@chromium.org Review URL: https://codereview.chromium.org/1422853008 Cr-Commit-Position: refs/heads/master@{#31860}
-
- 05 Nov, 2015 1 commit
-
-
ishell authored
Review URL: https://codereview.chromium.org/1416243009 Cr-Commit-Position: refs/heads/master@{#31829}
-
- 22 Oct, 2015 1 commit
-
-
mlippautz authored
BUG= Review URL: https://codereview.chromium.org/1416003003 Cr-Commit-Position: refs/heads/master@{#31463}
-
- 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}
-
- 14 Sep, 2015 1 commit
-
-
mstarzinger authored
This prevents the internal objects-visiting.h to be usable outisde of the "heap" directory. The static object visitation is only usefull within the GC and is now properly encapsulated. R=hpayer@chromium.org,mlippautz@chromium.org Review URL: https://codereview.chromium.org/1328003002 Cr-Commit-Position: refs/heads/master@{#30716}
-
- 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}
-
- 18 Aug, 2015 1 commit
-
-
mstarzinger authored
This CL us a pure refactoring that makes an empty compilation unit including just "heap.h" but not "objects-inl.h" compile without warnings or errors. This is needed to further reduce the header dependency tangle. R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1301583003 Cr-Commit-Position: refs/heads/master@{#30227}
-
- 17 Aug, 2015 1 commit
-
-
mstarzinger authored
R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1291833003 Cr-Commit-Position: refs/heads/master@{#30195}
-
- 14 Aug, 2015 1 commit
-
-
mstarzinger authored
This CL is a pure refactoring that makes an empty compilation unit including just "foo.h" but not "foo-inl.h" compile without warnings or errors. This is needed to further reduce the header dependency tangle. This realizes above state for "spaces.h" and "mark-compact.h". R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1288413002 Cr-Commit-Position: refs/heads/master@{#30171}
-
- 04 Aug, 2015 1 commit
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1259613006 Cr-Commit-Position: refs/heads/master@{#30007}
-
- 24 Jul, 2015 1 commit
-
-
oth authored
BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1230753004 Cr-Commit-Position: refs/heads/master@{#29843}
-
- 22 Jul, 2015 1 commit
-
-
mstarzinger authored
This preserves the context-independent entry in an optimized code map across GCs when the code is considered young (i.e. less than 3 ages). Note that any context-dependent entry for the same code will still be flushed immediately when the respective context dies, hence context lifetime is not increased. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1252463002 Cr-Commit-Position: refs/heads/master@{#29790}
-
- 18 Jun, 2015 1 commit
-
-
ulan authored
Revert of Replace ad-hoc weakness in transition array with WeakCell. (patchset #5 id:80001 of https://codereview.chromium.org/1157943003/) Reason for revert: Breaks descriptor array clearing. Original issue's description: > Replace ad-hoc weakness in transition array with WeakCell. > > BUG= > > Committed: https://crrev.com/885455e99de817f86a0b5df2dc0d932cfc179749 > Cr-Commit-Position: refs/heads/master@{#29083} TBR=jkummerow@chromium.org,hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1194673002 Cr-Commit-Position: refs/heads/master@{#29121}
-
- 17 Jun, 2015 1 commit
-
-
ulan authored
BUG= Review URL: https://codereview.chromium.org/1157943003 Cr-Commit-Position: refs/heads/master@{#29083}
-
- 04 Jun, 2015 1 commit
-
-
mbrandy authored
Embed constant pools within their corresponding Code objects. This removes support for out-of-line constant pools in favor of the new approach -- the main advantage being that it eliminates the need to allocate and manage separate constant pool array objects. Currently supported on PPC and ARM. Enabled by default on PPC only. This yields a 6% improvment in Octane on PPC64. R=bmeurer@chromium.org, rmcilroy@chromium.org, michael_dawson@ca.ibm.com BUG=chromium:478811 LOG=Y Review URL: https://codereview.chromium.org/1162993006 Cr-Commit-Position: refs/heads/master@{#28801}
-
- 03 Jun, 2015 1 commit
-
-
bmeurer authored
Revert of Embedded constant pools. (patchset #12 id:220001 of https://codereview.chromium.org/1131783003/) Reason for revert: Breaks Linux nosnap cctest/test-api/FastReturnValuesWithProfiler, see http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%202/builds/609/steps/Check/logs/FastReturnValuesWithP.. Original issue's description: > Add support for Embedded Constant Pools for PPC and Arm > > Embed constant pools within their corresponding Code > objects. > > This removes support for out-of-line constant pools in favor > of the new approach -- the main advantage being that it > eliminates the need to allocate and manage separate constant > pool array objects. > > Currently supported on PPC and ARM. Enabled by default on > PPC only. > > This yields a 6% improvment in Octane on PPC64. > > R=danno@chromium.org, svenpanne@chromium.org, bmeurer@chromium.org, rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com > BUG=chromium:478811 > LOG=Y > > Committed: https://crrev.com/a9404029343d65f146e3443f5280c40a97e736af > Cr-Commit-Position: refs/heads/master@{#28770} TBR=rmcilroy@chromium.org,ishell@chromium.org,rodolph.perfetta@arm.com,mbrandy@us.ibm.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:478811 Review URL: https://codereview.chromium.org/1155703006 Cr-Commit-Position: refs/heads/master@{#28772}
-
- 02 Jun, 2015 1 commit
-
-
mbrandy authored
Embed constant pools within their corresponding Code objects. This removes support for out-of-line constant pools in favor of the new approach -- the main advantage being that it eliminates the need to allocate and manage separate constant pool array objects. Currently supported on PPC and ARM. Enabled by default on PPC only. This yields a 6% improvment in Octane on PPC64. R=danno@chromium.org, svenpanne@chromium.org, bmeurer@chromium.org, rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:478811 LOG=Y Review URL: https://codereview.chromium.org/1131783003 Cr-Commit-Position: refs/heads/master@{#28770}
-
- 30 Apr, 2015 2 commits
-
-
jochen authored
Original issue's description: > Remove the weak list of array buffers > > Instead, collect live array buffers during marking and free pointers we > no longer found. > > BUG=v8:3996 > R=hpayer@chromium.org > LOG=n BUG=v8:3996 TBR=hpayer@chromium.org LOG=n Review URL: https://codereview.chromium.org/1115853004 Cr-Commit-Position: refs/heads/master@{#28156}
-
machenbach authored
Revert of Remove the weak list of array buffers (patchset #8 id:140001 of https://codereview.chromium.org/1114563002/) Reason for revert: [Sheriff] Crashes in layout tests: https://chromegw.corp.google.com/i/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2668 Original issue's description: > Remove the weak list of array buffers > > Instead, collect live array buffers during marking and free pointers we > no longer found. > > BUG=v8:3996 > R=hpayer@chromium.org > LOG=n > > Committed: https://crrev.com/2d39709cf5ee17637f6f2d75380a9e61ae0b342b > Cr-Commit-Position: refs/heads/master@{#28132} TBR=dslomov@chromium.org,hpayer@chromium.org,jochen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3996 Review URL: https://codereview.chromium.org/1115043005 Cr-Commit-Position: refs/heads/master@{#28148}
-
- 29 Apr, 2015 1 commit
-
-
jochen authored
Instead, collect live array buffers during marking and free pointers we no longer found. BUG=v8:3996 R=hpayer@chromium.org LOG=n Review URL: https://codereview.chromium.org/1114563002 Cr-Commit-Position: refs/heads/master@{#28132}
-
- 14 Apr, 2015 1 commit
-
-
jochen authored
If a major gc happens between allocation and initialization of the buffer, it might be already in old space. Since we need the list of buffers to be sorted from new to old, we keep track of the last buffer and put old buffers to the end BUG=chromium:476032 R=hpayer@chromium.org,dslomov@chromium.org LOG=n Review URL: https://codereview.chromium.org/1079923003 Cr-Commit-Position: refs/heads/master@{#27811}
-
- 18 Mar, 2015 1 commit
-
-
yangguo authored
Review URL: https://codereview.chromium.org/1005183006 Cr-Commit-Position: refs/heads/master@{#27275}
-
- 11 Mar, 2015 1 commit
-
-
hpayer authored
Just visit young array buffers during scavenge. Additionally keep the views in new space in a separate global list and move them to the corresponding array buffers when they get promoted. BUG= Review URL: https://codereview.chromium.org/990423004 Cr-Commit-Position: refs/heads/master@{#27128}
-
- 16 Feb, 2015 1 commit
-
-
yangguo authored
and "Just visit young array buffers during scavenge. Additionally keep the views in new space in a separate global list and move them to the corresponding array buffers when they get promoted." This reverts commit 295ab278 and commit bd61a85f. TBR=hpayer@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/929973002 Cr-Commit-Position: refs/heads/master@{#26653}
-
- 12 Feb, 2015 1 commit
-
-
hpayer authored
Just visit young array buffers during scavenge. Additionally keep the views in new space in a separate global list and move them to the corresponding array buffers when they get promoted. This reduces young generation garbage collections when many array buffers are allocated. BUG= Review URL: https://codereview.chromium.org/904633003 Cr-Commit-Position: refs/heads/master@{#26605}
-
- 22 Dec, 2014 1 commit
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/822693002 Cr-Commit-Position: refs/heads/master@{#25920}
-
- 15 Dec, 2014 1 commit
-
-
ishell authored
LayoutDescriptorHelper is now able to calculate the length of contiguous regions of tagged/non-tagged fields. This functionality is now used by both object visitor and store buffer. TEST=cctest/test-unboxed-doubles Review URL: https://codereview.chromium.org/726713003 Cr-Commit-Position: refs/heads/master@{#25816}
-