Chromium Code Reviews| Index: tools/profviz/composer.js |
| diff --git a/tools/profviz/composer.js b/tools/profviz/composer.js |
| index fe0bf00e7821ae0c3fa71154d69df3721d3f6e00..44dd7639de84b327331082696a2f2da5822660ae 100644 |
| --- a/tools/profviz/composer.js |
| +++ b/tools/profviz/composer.js |
| @@ -31,7 +31,7 @@ Array.prototype.top = function() { |
| } |
| -function PlotScriptComposer(kResX, kResY) { |
| +function PlotScriptComposer(kResX, kResY, error_output) { |
| // Constants. |
| var kV8BinarySuffixes = ["/d8", "/libv8.so"]; |
| var kStackFrames = 8; // Stack frames to display in the plot. |
| @@ -149,7 +149,10 @@ function PlotScriptComposer(kResX, kResY) { |
| // Utility functions. |
| function assert(something, message) { |
| - if (!something) print(new Error(message).stack); |
| + if (!something) { |
| + var error = new Error(message); |
| + error_output(error.stack); |
| + } |
| } |
| function FindCodeKind(kind) { |
| @@ -208,10 +211,15 @@ function PlotScriptComposer(kResX, kResY) { |
| // Public methods. |
| this.collectData = function(input, distortion_per_entry) { |
| + var last_timestamp = 0; |
| + |
| // Parse functions. |
| var parseTimeStamp = function(timestamp) { |
| + int_timestamp = parseInt(timestamp); |
| + assert(int_timestamp >= last_timestamp, "Inconsistent timestamps."); |
| + last_timestamp = int_timestamp; |
| distortion += distortion_per_entry; |
| - return parseInt(timestamp) / 1000 - distortion; |
| + return int_timestamp / 1000 - distortion; |
| } |
| var processTimerEventStart = function(name, start) { |
| @@ -260,65 +268,6 @@ function PlotScriptComposer(kResX, kResY) { |
| code_map.deleteCode(address); |
| }; |
| - var processSharedLibrary = function(name, start, end) { |
|
Jakob Kummerow
2013/09/04 13:34:03
Ain't it great to have compiler warnings for these
Yang
2013/09/04 13:52:29
Yeah I never realized until now that the entire th
|
| - var code_entry = new CodeMap.CodeEntry(end - start, name); |
| - code_entry.kind = -2; // External code kind. |
| - for (var i = 0; i < kV8BinarySuffixes.length; i++) { |
| - var suffix = kV8BinarySuffixes[i]; |
| - if (name.indexOf(suffix, name.length - suffix.length) >= 0) { |
| - code_entry.kind = -1; // V8 runtime code kind. |
| - break; |
| - } |
| - } |
| - code_map.addLibrary(start, code_entry); |
| - }; |
| - |
| - var processTimerEventStart = function(name, start) { |
| - // Find out the thread id. |
| - var new_event = TimerEvents[name]; |
| - if (new_event === undefined) return; |
| - var thread_id = new_event.thread_id; |
| - |
| - start = Math.max(last_time_stamp[thread_id] + kMinRangeLength, start); |
| - |
| - // Last event on this thread is done with the start of this event. |
| - var last_event = event_stack[thread_id].top(); |
| - if (last_event !== undefined) { |
| - var new_range = new Range(last_time_stamp[thread_id], start); |
| - last_event.ranges.push(new_range); |
| - } |
| - event_stack[thread_id].push(new_event); |
| - last_time_stamp[thread_id] = start; |
| - }; |
| - |
| - var processTimerEventEnd = function(name, end) { |
| - // Find out about the thread_id. |
| - var finished_event = TimerEvents[name]; |
| - var thread_id = finished_event.thread_id; |
| - assert(finished_event === event_stack[thread_id].pop(), |
| - "inconsistent event stack"); |
| - |
| - end = Math.max(last_time_stamp[thread_id] + kMinRangeLength, end); |
| - |
| - var new_range = new Range(last_time_stamp[thread_id], end); |
| - finished_event.ranges.push(new_range); |
| - last_time_stamp[thread_id] = end; |
| - }; |
| - |
| - var processCodeCreateEvent = function(type, kind, address, size, name) { |
| - var code_entry = new CodeMap.CodeEntry(size, name); |
| - code_entry.kind = kind; |
| - code_map.addCode(address, code_entry); |
| - }; |
| - |
| - var processCodeMoveEvent = function(from, to) { |
| - code_map.moveCode(from, to); |
| - }; |
| - |
| - var processCodeDeleteEvent = function(address) { |
| - code_map.deleteCode(address); |
| - }; |
| - |
| var processCodeDeoptEvent = function(time, size) { |
| deopts.push(new Deopt(time, size)); |
| } |