| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <!-- | 2 <!-- |
| 3 Copyright (c) 2014 The Chromium Authors. All rights reserved. | 3 Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| 4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
| 5 found in the LICENSE file. | 5 found in the LICENSE file. |
| 6 --> | 6 --> |
| 7 | 7 |
| 8 <link rel="import" href="/tracing/extras/importer/etw/parser.html"> | 8 <link rel="import" href="/tracing/extras/importer/etw/parser.html"> |
| 9 | 9 |
| 10 <script> | 10 <script> |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 var startAddr; | 75 var startAddr; |
| 76 var win32StartAddr; | 76 var win32StartAddr; |
| 77 var tebBase; | 77 var tebBase; |
| 78 var subProcessTag; | 78 var subProcessTag; |
| 79 var basePriority; | 79 var basePriority; |
| 80 var pagePriority; | 80 var pagePriority; |
| 81 var ioPriority; | 81 var ioPriority; |
| 82 var threadFlags; | 82 var threadFlags; |
| 83 var waitMode; | 83 var waitMode; |
| 84 | 84 |
| 85 if (header.version == 1) { | 85 if (header.version === 1) { |
| 86 // On version 1, only start events have extended information. | 86 // On version 1, only start events have extended information. |
| 87 if (header.opcode == kThreadStartOpcode || | 87 if (header.opcode === kThreadStartOpcode || |
| 88 header.opcode == kThreadDCStartOpcode) { | 88 header.opcode === kThreadDCStartOpcode) { |
| 89 stackBase = decoder.decodeUInteger(header.is64); | 89 stackBase = decoder.decodeUInteger(header.is64); |
| 90 stackLimit = decoder.decodeUInteger(header.is64); | 90 stackLimit = decoder.decodeUInteger(header.is64); |
| 91 userStackBase = decoder.decodeUInteger(header.is64); | 91 userStackBase = decoder.decodeUInteger(header.is64); |
| 92 userStackLimit = decoder.decodeUInteger(header.is64); | 92 userStackLimit = decoder.decodeUInteger(header.is64); |
| 93 startAddr = decoder.decodeUInteger(header.is64); | 93 startAddr = decoder.decodeUInteger(header.is64); |
| 94 win32StartAddr = decoder.decodeUInteger(header.is64); | 94 win32StartAddr = decoder.decodeUInteger(header.is64); |
| 95 waitMode = decoder.decodeInt8(); | 95 waitMode = decoder.decodeInt8(); |
| 96 decoder.skip(3); | 96 decoder.skip(3); |
| 97 } | 97 } |
| 98 } else { | 98 } else { |
| 99 stackBase = decoder.decodeUInteger(header.is64); | 99 stackBase = decoder.decodeUInteger(header.is64); |
| 100 stackLimit = decoder.decodeUInteger(header.is64); | 100 stackLimit = decoder.decodeUInteger(header.is64); |
| 101 userStackBase = decoder.decodeUInteger(header.is64); | 101 userStackBase = decoder.decodeUInteger(header.is64); |
| 102 userStackLimit = decoder.decodeUInteger(header.is64); | 102 userStackLimit = decoder.decodeUInteger(header.is64); |
| 103 | 103 |
| 104 // Version 2 produces a field named 'startAddr'. | 104 // Version 2 produces a field named 'startAddr'. |
| 105 if (header.version == 2) | 105 if (header.version === 2) |
| 106 startAddr = decoder.decodeUInteger(header.is64); | 106 startAddr = decoder.decodeUInteger(header.is64); |
| 107 else | 107 else |
| 108 affinity = decoder.decodeUInteger(header.is64); | 108 affinity = decoder.decodeUInteger(header.is64); |
| 109 | 109 |
| 110 win32StartAddr = decoder.decodeUInteger(header.is64); | 110 win32StartAddr = decoder.decodeUInteger(header.is64); |
| 111 tebBase = decoder.decodeUInteger(header.is64); | 111 tebBase = decoder.decodeUInteger(header.is64); |
| 112 subProcessTag = decoder.decodeUInt32(); | 112 subProcessTag = decoder.decodeUInt32(); |
| 113 | 113 |
| 114 if (header.version == 3) { | 114 if (header.version === 3) { |
| 115 basePriority = decoder.decodeUInt8(); | 115 basePriority = decoder.decodeUInt8(); |
| 116 pagePriority = decoder.decodeUInt8(); | 116 pagePriority = decoder.decodeUInt8(); |
| 117 ioPriority = decoder.decodeUInt8(); | 117 ioPriority = decoder.decodeUInt8(); |
| 118 threadFlags = decoder.decodeUInt8(); | 118 threadFlags = decoder.decodeUInt8(); |
| 119 } | 119 } |
| 120 } | 120 } |
| 121 | 121 |
| 122 return { | 122 return { |
| 123 processId: processId, | 123 processId: processId, |
| 124 threadId: threadId, | 124 threadId: threadId, |
| 125 stackBase: stackBase, | 125 stackBase: stackBase, |
| 126 stackLimit: stackLimit, | 126 stackLimit: stackLimit, |
| 127 userStackBase: userStackBase, | 127 userStackBase: userStackBase, |
| 128 userStackLimit: userStackLimit, | 128 userStackLimit: userStackLimit, |
| 129 affinity: affinity, | 129 affinity: affinity, |
| 130 startAddr: startAddr, | 130 startAddr: startAddr, |
| 131 win32StartAddr: win32StartAddr, | 131 win32StartAddr: win32StartAddr, |
| 132 tebBase: tebBase, | 132 tebBase: tebBase, |
| 133 subProcessTag: subProcessTag, | 133 subProcessTag: subProcessTag, |
| 134 waitMode: waitMode, | 134 waitMode: waitMode, |
| 135 basePriority: basePriority, | 135 basePriority: basePriority, |
| 136 pagePriority: pagePriority, | 136 pagePriority: pagePriority, |
| 137 ioPriority: ioPriority, | 137 ioPriority: ioPriority, |
| 138 threadFlags: threadFlags | 138 threadFlags: threadFlags |
| 139 }; | 139 }; |
| 140 }, | 140 }, |
| 141 | 141 |
| 142 decodeCSwitchFields: function(header, decoder) { | 142 decodeCSwitchFields: function(header, decoder) { |
| 143 if (header.version != 2) | 143 if (header.version !== 2) |
| 144 throw new Error('Incompatible Thread event version.'); | 144 throw new Error('Incompatible Thread event version.'); |
| 145 | 145 |
| 146 // Decode CSwitch payload. | 146 // Decode CSwitch payload. |
| 147 var newThreadId = decoder.decodeUInt32(); | 147 var newThreadId = decoder.decodeUInt32(); |
| 148 var oldThreadId = decoder.decodeUInt32(); | 148 var oldThreadId = decoder.decodeUInt32(); |
| 149 var newThreadPriority = decoder.decodeInt8(); | 149 var newThreadPriority = decoder.decodeInt8(); |
| 150 var oldThreadPriority = decoder.decodeInt8(); | 150 var oldThreadPriority = decoder.decodeInt8(); |
| 151 var previousCState = decoder.decodeUInt8(); | 151 var previousCState = decoder.decodeUInt8(); |
| 152 var spareByte = decoder.decodeInt8(); | 152 var spareByte = decoder.decodeInt8(); |
| 153 var oldThreadWaitReason = decoder.decodeInt8(); | 153 var oldThreadWaitReason = decoder.decodeInt8(); |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 | 233 |
| 234 }; | 234 }; |
| 235 | 235 |
| 236 Parser.register(ThreadParser); | 236 Parser.register(ThreadParser); |
| 237 | 237 |
| 238 return { | 238 return { |
| 239 ThreadParser: ThreadParser | 239 ThreadParser: ThreadParser |
| 240 }; | 240 }; |
| 241 }); | 241 }); |
| 242 </script> | 242 </script> |
| OLD | NEW |