Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(909)

Issue 7715044: Fix huge heap snapshot when a heavily shared context has many variables (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 6 months ago by alph
Modified:
11 years, 6 months ago
CC:
v8-dev_googlegroups.com
Base URL:
https://v8.googlecode.com/svn/branches/bleeding_edge
Visibility:
Public.

Description

Fix huge heap snapshot when a heavily shared context has many variables Prevously v8 put a link to each context variable into a function where the variable is visible. Because of that if there are N functions sharing a context having M variables then N*M links were created for the snapshot. The fix makes v8 to put the links into the context object. BUG=145687 TEST=test-heap-snapshot/ManyLocalsInSharedContext Committed: 13936

Patch Set 1 #

Total comments: 6

Patch Set 2 : Addressing comments. #

Total comments: 4

Patch Set 3 : Made contexts non-hidden +addressed comments #

Patch Set 4 : sprintf -> snprintf #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+79 lines, -28 lines) Patch
M include/v8-profiler.h View 1 2 1 chunk +2 lines, -1 line 2 comments Download
M src/heap-snapshot-generator.h View 1 2 2 chunks +5 lines, -3 lines 0 comments Download
M src/heap-snapshot-generator.cc View 1 2 6 chunks +29 lines, -24 lines 0 comments Download
M test/cctest/test-heap-profiler.cc View 1 2 3 1 chunk +43 lines, -0 lines 0 comments Download

Messages

Total messages: 12
alph
11 years, 6 months ago (2013-03-13 13:28:01 UTC) #1
alph
11 years, 6 months ago (2013-03-13 13:29:18 UTC) #2
Yury Semikhatsky
https://codereview.appspot.com/7715044/diff/1/src/heap-snapshot-generator.cc File src/heap-snapshot-generator.cc (left): https://codereview.appspot.com/7715044/diff/1/src/heap-snapshot-generator.cc#oldcode1301 src/heap-snapshot-generator.cc:1301: if (scope_info->HasFunctionName()) { What was the intent of this ...
11 years, 6 months ago (2013-03-13 13:40:50 UTC) #3
alph
Comments addressed. https://codereview.appspot.com/7715044/diff/1/src/heap-snapshot-generator.cc File src/heap-snapshot-generator.cc (left): https://codereview.appspot.com/7715044/diff/1/src/heap-snapshot-generator.cc#oldcode1301 src/heap-snapshot-generator.cc:1301: if (scope_info->HasFunctionName()) { On 2013/03/13 13:40:51, yurys ...
11 years, 6 months ago (2013-03-13 16:08:11 UTC) #4
Yury Semikhatsky
lgtm https://codereview.appspot.com/7715044/diff/7001/test/cctest/test-heap-profiler.cc File test/cctest/test-heap-profiler.cc (right): https://codereview.appspot.com/7715044/diff/7001/test/cctest/test-heap-profiler.cc#newcode1734 test/cctest/test-heap-profiler.cc:1734: int num_objects = 6500; File a bug that ...
11 years, 6 months ago (2013-03-13 16:22:18 UTC) #5
alph
1. addressed comments 2. made contexts non-hidden by default 3. reduced number of functions in ...
11 years, 6 months ago (2013-03-13 16:56:46 UTC) #6
alph
Please take a look
11 years, 6 months ago (2013-03-13 17:20:44 UTC) #7
Jakob
lgtm
11 years, 6 months ago (2013-03-13 17:22:56 UTC) #8
alph
Committed patchset #4 manually as r13936 (presubmit successful).
11 years, 6 months ago (2013-03-13 17:38:12 UTC) #9
alph
https://codereview.appspot.com/7715044/diff/7001/test/cctest/test-heap-profiler.cc File test/cctest/test-heap-profiler.cc (right): https://codereview.appspot.com/7715044/diff/7001/test/cctest/test-heap-profiler.cc#newcode1734 test/cctest/test-heap-profiler.cc:1734: int num_objects = 6500; On 2013/03/13 16:22:18, yurys wrote: ...
11 years, 6 months ago (2013-03-13 18:03:09 UTC) #10
Yury Semikhatsky
https://codereview.appspot.com/7715044/diff/19002/include/v8-profiler.h File include/v8-profiler.h (right): https://codereview.appspot.com/7715044/diff/19002/include/v8-profiler.h#newcode263 include/v8-profiler.h:263: kContext = 10 // Context Why do we have ...
11 years, 6 months ago (2013-03-14 06:45:31 UTC) #11
alph
11 years, 6 months ago (2013-03-14 10:36:40 UTC) #12
Message was sent while issue was closed.
https://codereview.appspot.com/7715044/diff/19002/include/v8-profiler.h
File include/v8-profiler.h (right):

https://codereview.appspot.com/7715044/diff/19002/include/v8-profiler.h#newco...
include/v8-profiler.h:263: kContext = 10     // Context
On 2013/03/14 06:45:31, yurys wrote:
> Why do we have to introduce new edge type for the link? We were thinking about
> reducing the number to simplify snapshots.
This is not a new edge type. This is node type.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b