Repository navigation
Commit 3301280
committed
[JSC] Add signpost intervals for compiler queued and ready time
https://bugs.webkit.org/show_bug.cgi?id=290813
rdar://148287594
Reviewed by Yijia Huang.
There's already signpost intervals to mark when a plan is actively
being compiled. Let's add signposts for the intervals that the plan
is (a) in the worklist queue and (b) ready but not yet finalized. These
latencies can also be significant and may help with tuning the
JITWorklist policies.
This implementation marks the signposts while the JITWorklist lock
is held which leads to the simplest implementation. I've checked
that this doesn't seem to impact the contention on the lock to a
level that is meaningful for benchmarks. We could move this to out
from under the lock, but that would complicate the code a bit
since these intervals cross thread boundaries.
Formatting the CodeBlock into the signpost metadata is relatively
costly, so this is done upfront once per plan and saved. This does cost
8 bytes in the JITPlan even when signposts are disabled, but that
seems acceptable.
* Source/JavaScriptCore/jit/JITPlan.cpp:
(JSC::JITPlan::JITPlan):
(JSC::JITPlan::cancel):
(JSC::JITPlan::notifyCompiling):
(JSC::JITPlan::notifyReady):
(JSC::signpostId):
(JSC::JITPlan::signpostMessage):
(JSC::JITPlan::beginSignpostImpl):
(JSC::JITPlan::endSignpostImpl):
(JSC::JITPlan::compileInThread):
* Source/JavaScriptCore/jit/JITPlan.h:
(JSC::JITPlan::beginSignpost):
(JSC::JITPlan::endSignpost):
* Source/JavaScriptCore/jit/JITWorklist.cpp:
(JSC::JITWorklist::enqueue):
(JSC::JITWorklist::completeAllReadyPlansForVM):
(JSC::JITWorklist::cancelAllPlansForVM):
* Source/WTF/wtf/SystemTracing.h:
Canonical link: https://commits.webkit.org/293052@main1 parent 5ad70d1 commit 3301280
4 files changed
Lines changed: 104 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
| |||
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
| 70 | + | |
| 71 | + | |
69 | 72 | | |
70 | 73 | | |
71 | 74 | | |
| |||
74 | 77 | | |
75 | 78 | | |
76 | 79 | | |
| 80 | + | |
| 81 | + | |
77 | 82 | | |
| 83 | + | |
78 | 84 | | |
79 | 85 | | |
80 | 86 | | |
81 | 87 | | |
| 88 | + | |
| 89 | + | |
82 | 90 | | |
| 91 | + | |
83 | 92 | | |
84 | 93 | | |
85 | 94 | | |
| |||
174 | 183 | | |
175 | 184 | | |
176 | 185 | | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
177 | 249 | | |
178 | 250 | | |
179 | 251 | | |
| |||
195 | 267 | | |
196 | 268 | | |
197 | 269 | | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | 270 | | |
208 | | - | |
209 | 271 | | |
210 | 272 | | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | 273 | | |
215 | 274 | | |
216 | 275 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
110 | 126 | | |
111 | 127 | | |
112 | 128 | | |
113 | 129 | | |
114 | 130 | | |
115 | 131 | | |
116 | 132 | | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
117 | 136 | | |
118 | 137 | | |
119 | 138 | | |
120 | 139 | | |
121 | 140 | | |
122 | 141 | | |
123 | 142 | | |
| 143 | + | |
124 | 144 | | |
125 | 145 | | |
126 | 146 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| 91 | + | |
91 | 92 | | |
| 93 | + | |
| 94 | + | |
92 | 95 | | |
93 | 96 | | |
| 97 | + | |
| 98 | + | |
94 | 99 | | |
95 | 100 | | |
96 | 101 | | |
| |||
167 | 172 | | |
168 | 173 | | |
169 | 174 | | |
| 175 | + | |
170 | 176 | | |
171 | 177 | | |
172 | 178 | | |
| |||
238 | 244 | | |
239 | 245 | | |
240 | 246 | | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
241 | 251 | | |
242 | 252 | | |
243 | 253 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
265 | 265 | | |
266 | 266 | | |
267 | 267 | | |
| 268 | + | |
| 269 | + | |
268 | 270 | | |
269 | 271 | | |
270 | 272 | | |
| |||
0 commit comments