Repository navigation
Commit ae1e21f
committed
[JSC] Make CallArguments tight
https://bugs.webkit.org/show_bug.cgi?id=279207
rdar://135354950
Reviewed by Keith Miller.
For large function, CallArguments is super frequently used. This patch makes code super tight for performance.
We avoid Vector's movement and use std::span instead for adjustment.
* Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h:
(JSC::CallArguments::argumentCountIncludingThis):
* Source/JavaScriptCore/bytecompiler/BytecodeGeneratorBase.h:
* Source/JavaScriptCore/bytecompiler/BytecodeGeneratorBaseInlines.h:
(JSC::BytecodeGeneratorBase<Traits>::newTemporaries):
* Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:
(JSC::CallArguments::CallArguments):
Canonical link: https://commits.webkit.org/283232@main1 parent 55b569c commit ae1e21f
4 files changed
Lines changed: 37 additions & 19 deletions
File tree
- Source/JavaScriptCore/bytecompiler
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
| 87 | + | |
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | | - | |
93 | | - | |
| 92 | + | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| 67 | + | |
| 68 | + | |
67 | 69 | | |
68 | 70 | | |
69 | 71 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
183 | 195 | | |
184 | 196 | | |
185 | 197 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1201 | 1201 | | |
1202 | 1202 | | |
1203 | 1203 | | |
1204 | | - | |
1205 | 1204 | | |
1206 | 1205 | | |
1207 | 1206 | | |
1208 | 1207 | | |
1209 | 1208 | | |
1210 | 1209 | | |
1211 | 1210 | | |
1212 | | - | |
1213 | | - | |
1214 | | - | |
1215 | | - | |
1216 | | - | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
1217 | 1219 | | |
1218 | | - | |
1219 | | - | |
1220 | | - | |
1221 | | - | |
1222 | | - | |
1223 | | - | |
1224 | | - | |
1225 | | - | |
1226 | | - | |
1227 | | - | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
1228 | 1232 | | |
1229 | 1233 | | |
1230 | 1234 | | |
| |||
0 commit comments