Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Issue 77014: Implemented Profile object that processes profiling events and calculates profiling data. (Closed)

Created:
11 years, 8 months ago by Mikhail Naganov
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Implemented Profile object that processes profiling events and calculates profiling data. Committed: http://code.google.com/p/v8/source/detail?r=1739

Patch Set 1 #

Total comments: 10

Patch Set 2 : addressed Soeren's comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+756 lines, -0 lines) Patch
A test/mjsunit/tools/profile.js View 1 1 chunk +283 lines, -0 lines 0 comments Download
M tools/codemap.js View 1 chunk +5 lines, -0 lines 0 comments Download
A tools/profile.js View 1 1 chunk +468 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Mikhail Naganov
11 years, 8 months ago (2009-04-17 02:10:22 UTC) #1
Søren Thygesen Gjesse
LGTM! http://codereview.chromium.org/77014/diff/1/2 File test/mjsunit/tools/profile.js (right): http://codereview.chromium.org/77014/diff/1/2#newcode87 Line 87: ProfileTestDriver.prototype.enter = function(funcName) { Please add a ...
11 years, 8 months ago (2009-04-17 16:27:24 UTC) #2
Mikhail Naganov
11 years, 8 months ago (2009-04-17 17:39:55 UTC) #3
http://codereview.chromium.org/77014/diff/1/2
File test/mjsunit/tools/profile.js (right):

http://codereview.chromium.org/77014/diff/1/2#newcode87
Line 87: ProfileTestDriver.prototype.enter = function(funcName) {
On 2009/04/17 16:27:25, Søren Gjesse wrote:
> Please add a comment about TOS being in stack_[0] therefore unshith/shits is
> used instead of push/pop.

Done. Actually, we use 'unshift' here in order to produce a following stack
layout: [pc, caller, ..., main]. This is because when unwinding the stack we are
moving in this direction.

http://codereview.chromium.org/77014/diff/1/4
File tools/profile.js (right):

http://codereview.chromium.org/77014/diff/1/4#newcode79
Line 79: name, startAddr, endAddr) {
On 2009/04/17 16:27:25, Søren Gjesse wrote:
> Why does addStaticCode use startAddr and endAddr and addCode use addr and size
> for specifying the code range?
> 

Because shared libs and funcs are reported from V8 using address intervals,
while compiled code is reported using start address and length.

http://codereview.chromium.org/77014/diff/1/4#newcode149
Line 149: devtools.profiler.Profile.prototype.processStack_ = function(stack) {
On 2009/04/17 16:27:25, Søren Gjesse wrote:
> procesStack seems a bit generic, how about resolveFunctionNames?
> 

Good idea! Renamed to resolveAndFilterFuncs_.

http://codereview.chromium.org/77014/diff/1/4#newcode250
Line 250: devtools.profiler.Profile.DynamicCodeEntry.prototype.getName =
function() {
On 2009/04/17 16:27:25, Søren Gjesse wrote:
> Why is type not added to anonymous functions?
> 

Why not added? Please revisit the 'return' statement.

http://codereview.chromium.org/77014/diff/1/4#newcode254
Line 254: } else if (name.charAt(0) == ' ') {
On 2009/04/17 16:27:25, Søren Gjesse wrote:
> Please explain this ' ' name check.

Done.

Powered by Google App Engine
This is Rietveld 408576698