OLD | NEW |
1 <html> | 1 <html> |
2 <!-- | 2 <!-- |
3 Copyright 2016 the V8 project authors. All rights reserved. Use of this source | 3 Copyright 2016 the V8 project authors. All rights reserved. Use of this source |
4 code is governed by a BSD-style license that can be found in the LICENSE file. | 4 code is governed by a BSD-style license that can be found in the LICENSE file. |
5 --> | 5 --> |
6 | 6 |
7 <head> | 7 <head> |
8 <style> | 8 <style> |
9 .entry-details {} | 9 .entry-details {} |
10 | 10 |
11 .entry-details TD {} | 11 .entry-details TD {} |
12 | 12 |
13 .details { | 13 .details { |
14 width: 2em; | 14 width: 2em; |
15 border: 1px black dotted; | 15 border: 1px black dotted; |
16 } | 16 } |
17 | 17 |
18 .count { | 18 .count { |
19 text-align: right; | 19 text-align: right; |
20 width: 5em; | 20 width: 5em; |
21 font-family: monospace; | 21 font-family: monospace; |
22 } | 22 } |
23 | 23 |
24 .percentage { | 24 .percentage { |
25 text-align: right; | 25 text-align: right; |
26 width: 5em; | 26 width: 5em; |
27 font-family: monospace; | 27 font-family: monospace; |
28 } | 28 } |
29 | 29 |
30 .key { | 30 .key { |
31 padding-left: 1em; | 31 padding-left: 1em; |
32 } | 32 } |
33 | 33 |
34 .drilldown-group-title { | 34 .drilldown-group-title { |
35 font-weight: bold; | 35 font-weight: bold; |
36 padding: 0.5em 0 0.2em 0; | 36 padding: 0.5em 0 0.2em 0; |
37 } | 37 } |
38 </style> | 38 </style> |
39 <script> | 39 <script> |
40 "use strict" | 40 "use strict" |
41 var entries = []; | 41 var entries = []; |
42 | 42 |
43 var properties = ['type', 'category', 'file', 'filePosition', 'state', | 43 var properties = ['type', 'category', 'file', 'filePosition', 'state', |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 } else { | 86 } else { |
87 this.map = mapPart.substr(5); | 87 this.map = mapPart.substr(5); |
88 } | 88 } |
89 offset++; | 89 offset++; |
90 offset = this.parseMapProperties(parts, offset); | 90 offset = this.parseMapProperties(parts, offset); |
91 } else { | 91 } else { |
92 this.map = mapPart.substr(4); | 92 this.map = mapPart.substr(4); |
93 offset++; | 93 offset++; |
94 } | 94 } |
95 if (this.map == "(nil)") this.map = "unknown"; | 95 if (this.map == "(nil)") this.map = "unknown"; |
96 } | 96 } |
97 if (this.type !== "CompareIC") { | 97 if (this.type !== "CompareIC") { |
98 // if there is no address we have a smi key | 98 // if there is no address we have a smi key |
99 var address = parts[++offset]; | 99 var address = parts[++offset]; |
100 if (address !== undefined && address.indexOf("0x") === 0) { | 100 if (address !== undefined && address.indexOf("0x") === 0) { |
101 this.key = parts.slice(++offset).join(" "); | 101 this.key = parts.slice(++offset).join(" "); |
102 } else { | 102 } else { |
103 this.key = address; | 103 this.key = address; |
104 } | 104 } |
105 } | 105 } |
106 } | 106 } |
(...skipping 14 matching lines...) Expand all Loading... |
121 if (isStringKey) { | 121 if (isStringKey) { |
122 this.key = this.key + "\""; | 122 this.key = this.key + "\""; |
123 } | 123 } |
124 } | 124 } |
125 this.isValid = true; | 125 this.isValid = true; |
126 } | 126 } |
127 | 127 |
128 parseMapProperties(parts, offset) { | 128 parseMapProperties(parts, offset) { |
129 var next = parts[++offset]; | 129 var next = parts[++offset]; |
130 if (!next.startsWith('dict')) return offset; | 130 if (!next.startsWith('dict')) return offset; |
131 this.propertiesMode = | 131 this.propertiesMode = |
132 next.substr(5) == "0" ? "fast" : "slow"; | 132 next.substr(5) == "0" ? "fast" : "slow"; |
133 this.numberOfOwnProperties = parts[++offset].substr(4); | 133 this.numberOfOwnProperties = parts[++offset].substr(4); |
134 next = parts[++offset]; | 134 next = parts[++offset]; |
135 this.instanceType = next.substr(5, next.length-6); | 135 this.instanceType = next.substr(5, next.length-6); |
136 return offset; | 136 return offset; |
137 } | 137 } |
138 | 138 |
139 parsePositionAndFile(parts, start) { | 139 parsePositionAndFile(parts, start) { |
140 // find the position of 'at' in the parts array. | 140 // find the position of 'at' in the parts array. |
141 var offset = start; | 141 var offset = start; |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 } | 348 } |
349 | 349 |
350 function initGroupKeySelect() { | 350 function initGroupKeySelect() { |
351 var select = document.getElementById("group-key"); | 351 var select = document.getElementById("group-key"); |
352 for (var i in properties) { | 352 for (var i in properties) { |
353 var option = document.createElement("option"); | 353 var option = document.createElement("option"); |
354 option.text = properties[i]; | 354 option.text = properties[i]; |
355 select.add(option); | 355 select.add(option); |
356 } | 356 } |
357 } | 357 } |
358 | 358 |
359 function handleOnLoad() { | 359 function handleOnLoad() { |
360 document.querySelector("#uploadInput").focus(); | 360 document.querySelector("#uploadInput").focus(); |
361 } | 361 } |
362 </script> | 362 </script> |
363 </head> | 363 </head> |
364 | 364 |
365 <body onload="handleOnLoad()"> | 365 <body onload="handleOnLoad()"> |
366 <h1> | 366 <h1> |
367 <span style="color: #00FF00">I</span> | 367 <span style="color: #00FF00">I</span> |
368 <span style="color: #FF00FF">C</span> | 368 <span style="color: #FF00FF">C</span> |
(...skipping 28 matching lines...) Expand all Loading... |
397 </p> | 397 </p> |
398 <p> | 398 <p> |
399 <table id="table" width="100%"> | 399 <table id="table" width="100%"> |
400 <tbody id="table-body"> | 400 <tbody id="table-body"> |
401 </tbody> | 401 </tbody> |
402 </table> | 402 </table> |
403 </p> | 403 </p> |
404 </body> | 404 </body> |
405 | 405 |
406 </html> | 406 </html> |
OLD | NEW |