- 31 Aug, 2016 4 commits
-
-
mlippautz authored
BUG= R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2286613002 Cr-Commit-Position: refs/heads/master@{#39054}
-
neis authored
This introduces a new heap object ModuleInfo, which is to ModuleDescriptor what ScopeInfo is to Scope. When deserializing a scope info that contains a module info, we deserialize the module info into a module descriptor and put it into the synthesized module scope. Currently, module infos only store exports. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2277253003 Cr-Commit-Position: refs/heads/master@{#39049}
-
mlippautz authored
TBR=ulan@chromium.org BUG=chromium:468240 NOTRY=true Review-Url: https://codereview.chromium.org/2293903004 Cr-Commit-Position: refs/heads/master@{#39044}
-
mlippautz authored
- Respect a deadline when processing wrappers during incremental marking, i.e., don't force completetion on each individual step - Only finalize when both, the internal marking deque and wrappers, are processed Some results (twitter using --enable-blink-features=TraceWrappables) === BEFORE === incremental_wrapper_tracing_longest_step len: 13 min: 0.0 ---> max: 6.6 ---> avg: 3.83846153846 [0,5[: 7 [5,10[: 6 mark.wrapper_tracing len: 13 min: 0.0 max: 2.0 (non-incremental MC) avg: 0.153846153846 [0,5[: 13 === AFTER === incremental_wrapper_tracing_longest_step len: 8 min: 0.0 ---> max: 1.1 ---> avg: 0.8875 [0,5[: 8 mark.wrapper_tracing (not excluding non-incremental MC) len: 8 min: 0.0 max: 2.5 (non-incremental MC) avg: 0.3125 [0,5[: 8 BUG=chromium:468240 R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2287343002 Cr-Commit-Position: refs/heads/master@{#39041}
-
- 30 Aug, 2016 3 commits
-
-
ulan authored
BUG=chromium:616434 LOG=NO Review-Url: https://codereview.chromium.org/2294783002 Cr-Commit-Position: refs/heads/master@{#39024}
-
ulan authored
Now incremental marking tracing outputs isolate and timestamp: [41894:0x21efec0] 17253 ms: [IncrementalMarking] Start (old space step) This patch also adds walltime duration of incremental marking to GC trace output. BUG= Review-Url: https://codereview.chromium.org/2293883002 Cr-Commit-Position: refs/heads/master@{#39016}
-
mlippautz authored
R=ulan@chromium.org BUG= Review-Url: https://codereview.chromium.org/2292073002 Cr-Commit-Position: refs/heads/master@{#39013}
-
- 29 Aug, 2016 1 commit
-
-
mlippautz authored
BUG=chromium:639818 R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2288693002 Cr-Commit-Position: refs/heads/master@{#38971}
-
- 28 Aug, 2016 1 commit
-
-
mlippautz authored
Revert of "[heap] Switch to 500k pages" (patchset #1 id:1 of https://codereview.chromium.org/2278653003/ ) Reason for revert: Tanks pretty much alle metrics across the board. Probably LO space limit too low but needs investigation. Original issue's description: > [heap] Switch to 500k pages > > Decrease regular heap object size to 400k. In a follow up, we can now get rid of > the new space border page while keeping the 1M minimum new space size. > > This reverts commit 1617043c. > > BUG=chromium:636331 > > Committed: https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83 > Cr-Commit-Position: refs/heads/master@{#38916} TBR=ulan@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:636331 NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2289493002 Cr-Commit-Position: refs/heads/master@{#38960}
-
- 27 Aug, 2016 1 commit
-
-
verwaest authored
Revert of Always deserialize scope infos for parsing (patchset #3 id:40001 of https://codereview.chromium.org/2280933002/ ) Reason for revert: Significantly tanks parsing. We probably should just keep on doing what we're doing: partially deserialize while resolving variables. If we do scope-info backed resolution after regular resolution based on remaining free variables, we can probably reduce the time-frame of that part. We soon after anyway need to sync with the main thread. Original issue's description: > Always deserialize scope infos for parsing > > When looking up variables in the ScopeInfo, we did a linear scan of the > ScopeInfo. Since that's unacceptably slow, a context slot cache was added > that would speed up repeated lookups of the same variable. > > Instead, just always fully convert the ScopeInfo into scopes, so they can > lookup variables without scanning the ScopeInfo. > > This also allows for removing the now unused ContextSlotCache. > > R=adamk@chromium.org,verwaest@chromium.org,marja@chromium.org > BUG=v8:5315 > > Committed: https://crrev.com/81f824cad18e4dc873a8838943217eb9c9f0c1f0 > Cr-Commit-Position: refs/heads/master@{#38953} TBR=adamk@chromium.org,marja@chromium.org,jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5315 Review-Url: https://codereview.chromium.org/2287783003 Cr-Commit-Position: refs/heads/master@{#38958}
-
- 26 Aug, 2016 3 commits
-
-
jochen authored
When looking up variables in the ScopeInfo, we did a linear scan of the ScopeInfo. Since that's unacceptably slow, a context slot cache was added that would speed up repeated lookups of the same variable. Instead, just always fully convert the ScopeInfo into scopes, so they can lookup variables without scanning the ScopeInfo. This also allows for removing the now unused ContextSlotCache. R=adamk@chromium.org,verwaest@chromium.org,marja@chromium.org BUG=v8:5315 Review-Url: https://codereview.chromium.org/2280933002 Cr-Commit-Position: refs/heads/master@{#38953}
-
mlippautz authored
New space evaucation in MC supports, similar to scavenges, fall back allocation in old space. For new space evacuation we support stick and non-sticky modes for fallback. The sticky mode essentially removes the capability to allocate in new space while the non-sticky mode only falls back for a single allocation. We use the non-sticky mode for allocations that are too large for a LAB but should still go in new space. When such an allocation fails in new space, we allocate in old space in non-sticky mode as we would still like to reuse the remainder memory in new space. However, in such a case we fail to properly report the space allocated in resulting in a missed recorded slot. BUG=chromium:641270 R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2280943002 Cr-Commit-Position: refs/heads/master@{#38940}
-
mlippautz authored
BUG=chromium:639818 R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2279193002 Cr-Commit-Position: refs/heads/master@{#38930}
-
- 25 Aug, 2016 2 commits
-
-
mlippautz authored
Decrease regular heap object size to 400k. In a follow up, we can now get rid of the new space border page while keeping the 1M minimum new space size. This reverts commit 1617043c. BUG=chromium:636331 Review-Url: https://codereview.chromium.org/2278653003 Cr-Commit-Position: refs/heads/master@{#38916}
-
mlippautz authored
Record details, such as cumulative duration, number of steps, and longest steps in IncrementalMarkingDetails which get populated at a single callsite (AddScopeSample). Remove member fields that thus become obsolete (unfortunately not all of them). Additional remove some dead code and refactor printing. Printing in a single statement allows for using logcat on Android. This should also address the regression in chromium:640524. BUG=chromium:639818,chromium:640524 R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2269093002 Cr-Commit-Position: refs/heads/master@{#38912}
-
- 23 Aug, 2016 4 commits
-
-
mlippautz authored
Before this patch all tracing scopes in incremental marking would be reset during a gc tracer start/stop cycle. This patch handles scopes the same way it does other incremental marking metrics. Also: - Align finalization metric with regular marking metric. - Smaller cleanups BUG=chromium:639818 Review-Url: https://codereview.chromium.org/2273673002 Cr-Commit-Position: refs/heads/master@{#38834}
-
mlippautz authored
Revert of [heap] Tracer: Handle incremental marking scopes (patchset #4 id:100001 of https://codereview.chromium.org/2264033002/ ) Reason for revert: Unittest fails on win32 debug: https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug/builds/4188/steps/Check/logs/GCTracerTest.Incremen.. Original issue's description: > [heap] Tracer: Handle incremental marking scopes > > Before this patch all tracing scopes in incremental marking would be reset > during a gc tracer start/stop cycle. This patch handles scopes the same way it > does other incremental marking metrics. > > Also: > - Align finalization metric with regular marking metric. > - Smaller cleanups > > BUG=chromium:639818 > R=jochen@chromium.org > > Committed: https://crrev.com/300a8f97472b88ff2f94eb977c36b4bf1bedabf1 > Cr-Commit-Position: refs/heads/master@{#38822} TBR=jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:639818 Review-Url: https://codereview.chromium.org/2275583002 Cr-Commit-Position: refs/heads/master@{#38827}
-
mlippautz authored
Before this patch all tracing scopes in incremental marking would be reset during a gc tracer start/stop cycle. This patch handles scopes the same way it does other incremental marking metrics. Also: - Align finalization metric with regular marking metric. - Smaller cleanups BUG=chromium:639818 R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2264033002 Cr-Commit-Position: refs/heads/master@{#38822}
-
keishi authored
BUG=chromium:570268,chromium:621829 Review-Url: https://codereview.chromium.org/2233683002 Cr-Commit-Position: refs/heads/master@{#38808}
-
- 19 Aug, 2016 4 commits
-
-
hpayer authored
BUG=chromium:630386 Review-Url: https://codereview.chromium.org/2258083002 Cr-Commit-Position: refs/heads/master@{#38750}
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. Fixing it: - Don't include stuff in headers unless necessary. - Include the stuff you need, not some other stuff that happens to include the stuff you need. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2260483002 Cr-Commit-Position: refs/heads/master@{#38740}
-
mlippautz authored
Revert of [heap] Improve size profiling for ArrayBuffer tracking (patchset #6 id:140001 of https://codereview.chromium.org/2210263002/ ) Reason for revert: Tanks octane Original issue's description: > [heap] Improve size profiling for ArrayBuffer tracking > > Eagerly account for retained sizes during ArrayBuffer tracking. Following up on this, > we can now do Scavenges if the amount of memory retained from new space is too large. > > BUG=chromium:621829 > R=jochen@chromium.org,hpayer@chromium.org > > Committed: https://crrev.com/28e13bd6a75c9467dae43043e7b741a1387d5252 > Cr-Commit-Position: refs/heads/master@{#38731} TBR=jochen@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:621829 Review-Url: https://codereview.chromium.org/2261513003 Cr-Commit-Position: refs/heads/master@{#38739}
-
hpayer authored
BUG=chromium:630386 Review-Url: https://codereview.chromium.org/2264493002 Cr-Commit-Position: refs/heads/master@{#38737}
-
- 18 Aug, 2016 7 commits
-
-
mlippautz authored
Eagerly account for retained sizes during ArrayBuffer tracking. Following up on this, we can now do Scavenges if the amount of memory retained from new space is too large. BUG=chromium:621829 R=jochen@chromium.org,hpayer@chromium.org Review-Url: https://codereview.chromium.org/2210263002 Cr-Commit-Position: refs/heads/master@{#38731}
-
bjaideep authored
V8 doesn't build on Ubuntu 16.04 (with GCC 5.3). Seems to be a known regression on newer GCC version. It emits incorrect "error: array subscript is above array bounds" message. Adding explicit array bound check fixes the issue. R=hablich@chromium.org BUG= Review-Url: https://codereview.chromium.org/2256113002 Cr-Commit-Position: refs/heads/master@{#38721}
-
mlippautz authored
- Avoid unmapping of new space pages while sweeping using a delayed list that gets emptied upon the next call to the unmapper. BUG=chromium:628984 R=hpayer@chromium.org This reverts commit 4a1f2807. Review-Url: https://codereview.chromium.org/2255153002 Cr-Commit-Position: refs/heads/master@{#38715}
-
mlippautz authored
Revert of [heap] Don't unmap new space pages while sweeping is active (patchset #4 id:80001 of https://codereview.chromium.org/2250423002/ ) Reason for revert: The barrier in newspace is still needed. Original issue's description: > [heap] Don't unmap new space pages while sweeping is active > > - The barrier for scavenge only checked for whether new space pages were swept. > This is not enough as a concurrent task could still hang right before trying to > lock the page for sweeping. Remove the barrier completely. > - Avoid unmapping of new space pages while sweeping using a delayed list that > gets emptied upon the next call to the unmapper. > > BUG=chromium:628984 > R=hpayer@chromium.org > > Committed: https://crrev.com/982b399423e6bd941cabb2b825031cd8d5eb4980 > Cr-Commit-Position: refs/heads/master@{#38710} TBR=hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:628984 Review-Url: https://codereview.chromium.org/2244233007 Cr-Commit-Position: refs/heads/master@{#38712}
-
mlippautz authored
- The barrier for scavenge only checked for whether new space pages were swept. This is not enough as a concurrent task could still hang right before trying to lock the page for sweeping. Remove the barrier completely. - Avoid unmapping of new space pages while sweeping using a delayed list that gets emptied upon the next call to the unmapper. BUG=chromium:628984 R=hpayer@chromium.org Review-Url: https://codereview.chromium.org/2250423002 Cr-Commit-Position: refs/heads/master@{#38710}
-
hpayer authored
BUG=chromium:630386 Review-Url: https://codereview.chromium.org/2247303005 Cr-Commit-Position: refs/heads/master@{#38706}
-
hpayer authored
BUG=chromium:468240 Review-Url: https://codereview.chromium.org/2245133004 Cr-Commit-Position: refs/heads/master@{#38702}
-
- 17 Aug, 2016 1 commit
-
-
mlippautz authored
We mark an object allocated as uninitialized. If we happen to have a GC before fields of a map are written, msan will observe access to unitialized memory and crash. This also unifies the handling as we now deal with all spaces in the same way. In future we could parallelize clearing. BUG=chromium:638226 R=hpayer@chromium.org Review-Url: https://codereview.chromium.org/2251993002 Cr-Commit-Position: refs/heads/master@{#38681}
-
- 16 Aug, 2016 2 commits
-
-
mlippautz authored
- Add object template categories. - Add optimized code literals. - Add compilation cache hash tables. - Report overhead for code cache when used as hashtable. BUG=chromium:631094 Review-Url: https://codereview.chromium.org/2246473002 Cr-Commit-Position: refs/heads/master@{#38667}
-
mlippautz authored
BUG= Review-Url: https://codereview.chromium.org/2241503002 Cr-Commit-Position: refs/heads/master@{#38652}
-
- 12 Aug, 2016 4 commits
-
-
mlippautz authored
Revert of "[heap] Switch to 500k pages" (patchset #11 id:220001 of https://codereview.chromium.org/2232653003/ ) Reason for revert: Breaks benchmark with --turbo on avx2 https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20avx2/builds/9895 Original issue's description: > Reland of "[heap] Switch to 500k pages" > > Decrease regular heap object size to 400k. In a follow up, we can now get rid of > the new space border page while keeping the 1M minimum new space size. > > BUG=chromium:636331 > > This reverts commit 555c9619. > > Committed: https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609 > Cr-Commit-Position: refs/heads/master@{#38608} TBR=hpayer@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:636331 Review-Url: https://codereview.chromium.org/2239323002 Cr-Commit-Position: refs/heads/master@{#38613}
-
hpayer authored
BUG=chromium:630386 Review-Url: https://codereview.chromium.org/2240123002 Cr-Commit-Position: refs/heads/master@{#38609}
-
mlippautz authored
Decrease regular heap object size to 400k. In a follow up, we can now get rid of the new space border page while keeping the 1M minimum new space size. BUG=chromium:636331 This reverts commit 555c9619. Review-Url: https://codereview.chromium.org/2232653003 Cr-Commit-Position: refs/heads/master@{#38608}
-
mlippautz authored
- Change sizes and counts to be size_t on the way. R=hpayer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2240603003 Cr-Commit-Position: refs/heads/master@{#38601}
-
- 11 Aug, 2016 1 commit
-
-
hpayer authored
BUG=chromium:630386 Review-Url: https://codereview.chromium.org/2236543002 Cr-Commit-Position: refs/heads/master@{#38581}
-
- 10 Aug, 2016 2 commits
-
-
bmeurer authored
Separate ConvertTaggedHoleToUndefined and CheckTaggedHole into two separate operators, where the former is pure and just turns into trivial control flow in the EffectControlLinearizer. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2236443004 Cr-Commit-Position: refs/heads/master@{#38559}
-
mlippautz authored
Revert of [heap] Switch to 500k pages (patchset #24 id:780001 of https://codereview.chromium.org/2013713003/ ) Reason for revert: Failures on waterfall: e.g. http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11134 Original issue's description: > [heap] Switch to 500k pages > > - Decrease regular heap object size to 300k, keeping the same ration (60%) > between this limit and page size. > > In a follow up, we can now get rid of the new space border page while > keeping the 1M minimum new space size. > > Some results (v8.infinite_scroll; 3 runs): > - evacuate.avg: +15.3% (1.4->1.2) > - evacuate.max: +24.4% (2.4->1.8) > > BUG=chromium:581412 > LOG=N > R=hpayer@chromium.org, ulan@chromium.org, yangguo@chromium.org > > Committed: https://crrev.com/ffe5c670e1559d11e7b252e15fec38765e7dbe4f > Cr-Commit-Position: refs/heads/master@{#38533} TBR=hpayer@chromium.org,ulan@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:581412 Review-Url: https://codereview.chromium.org/2229403003 Cr-Commit-Position: refs/heads/master@{#38537}
-