Commit 9b2e09a4 authored by alph@chromium.org's avatar alph@chromium.org

DevTools: Show function deopt reason in timeline details

Review URL: https://codereview.chromium.org/1323293004

git-svn-id: svn://svn.chromium.org/blink/trunk@201748 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 11da409b
...@@ -620,6 +620,14 @@ WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronously = function(eve ...@@ -620,6 +620,14 @@ WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronously = function(eve
var delta = event.args["usedHeapSizeBefore"] - event.args["usedHeapSizeAfter"]; var delta = event.args["usedHeapSizeBefore"] - event.args["usedHeapSizeAfter"];
contentHelper.appendTextRow(WebInspector.UIString("Collected"), Number.bytesToString(delta)); contentHelper.appendTextRow(WebInspector.UIString("Collected"), Number.bytesToString(delta));
break; break;
case recordTypes.JSFrame:
var detailsNode = WebInspector.TimelineUIUtils.buildDetailsNodeForTraceEvent(event, model.target(), linkifier);
if (detailsNode)
contentHelper.appendElementRow(WebInspector.UIString("Function"), detailsNode);
var deoptReason = eventData["deoptReason"];
if (deoptReason && deoptReason != "no reason")
contentHelper.appendTextRow(WebInspector.UIString("Warning"), WebInspector.UIString("Not optimized: %s", deoptReason), true);
break;
case recordTypes.TimerFire: case recordTypes.TimerFire:
case recordTypes.TimerInstall: case recordTypes.TimerInstall:
case recordTypes.TimerRemove: case recordTypes.TimerRemove:
...@@ -1860,10 +1868,13 @@ WebInspector.TimelineDetailsContentHelper.prototype = { ...@@ -1860,10 +1868,13 @@ WebInspector.TimelineDetailsContentHelper.prototype = {
/** /**
* @param {string} title * @param {string} title
* @param {string|number|boolean} value * @param {string|number|boolean} value
* @param {boolean=} isWarning
*/ */
appendTextRow: function(title, value) appendTextRow: function(title, value, isWarning)
{ {
var rowElement = this.element.createChild("div", "timeline-details-view-row"); var rowElement = this.element.createChild("div", "timeline-details-view-row");
if (isWarning)
rowElement.classList.add("timeline-details-warning");
rowElement.createChild("div", "timeline-details-view-row-title").textContent = title; rowElement.createChild("div", "timeline-details-view-row-title").textContent = title;
rowElement.createChild("div", "timeline-details-view-row-value" + (this._monospaceValues ? " monospace" : "")).textContent = value; rowElement.createChild("div", "timeline-details-view-row-value" + (this._monospaceValues ? " monospace" : "")).textContent = value;
}, },
...@@ -1932,5 +1943,4 @@ WebInspector.TimelineDetailsContentHelper.prototype = { ...@@ -1932,5 +1943,4 @@ WebInspector.TimelineDetailsContentHelper.prototype = {
stackTraceElement.appendChild(callFrameElem); stackTraceElement.appendChild(callFrameElem);
} }
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment