This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Commit a69cb6d
[vm] Walk Functions as well as Code objects in DedupInstructions.
Previously, we used the owner field to find the function whose entry
points to fix up after deduplicating instructions/code objects. However,
this means retrieving and checking the owning Function for each Code
object that has one, even if that Code object isn't the current code
object for the owning function. Instead, now we extend the instruction
deduplication visitors to Functions, where visiting a Function means
visiting its active Code object before fixing up the entry point cache.
Since the ProgramWalker also visits Code objects, this means visiting
some Code objects twice (once in the ProgramWalker and once when
visiting the Function for which it is the current code). However, since
the deduplication process is idempotent, the additional visits will not
cause the entry points for the Code object to change further (which
would otherwise invalidate the caches of already visited Functions).
Thus, the order of the visits does not affect the results.
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-linux-product-x64-try
Change-Id: Idd12fc94c5fb98f1fc9eb669d09b47822b0eac1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144700
Reviewed-by: Daco Harkes <[email protected]>
Commit-Queue: Tess Strickland <[email protected]>1 parent 6406155 commit a69cb6d
1 file changed
+23
-22
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1164 | 1164 | | |
1165 | 1165 | | |
1166 | 1166 | | |
1167 | | - | |
| 1167 | + | |
1168 | 1168 | | |
1169 | 1169 | | |
1170 | 1170 | | |
| |||
1178 | 1178 | | |
1179 | 1179 | | |
1180 | 1180 | | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
1181 | 1191 | | |
1182 | 1192 | | |
1183 | 1193 | | |
| |||
1188 | 1198 | | |
1189 | 1199 | | |
1190 | 1200 | | |
1191 | | - | |
1192 | | - | |
1193 | | - | |
1194 | | - | |
1195 | | - | |
1196 | | - | |
1197 | | - | |
1198 | | - | |
1199 | 1201 | | |
1200 | 1202 | | |
1201 | 1203 | | |
1202 | | - | |
| 1204 | + | |
1203 | 1205 | | |
1204 | 1206 | | |
1205 | 1207 | | |
1206 | 1208 | | |
1207 | 1209 | | |
1208 | 1210 | | |
1209 | | - | |
1210 | | - | |
| 1211 | + | |
1211 | 1212 | | |
1212 | 1213 | | |
1213 | 1214 | | |
1214 | 1215 | | |
1215 | | - | |
| 1216 | + | |
1216 | 1217 | | |
1217 | 1218 | | |
1218 | | - | |
1219 | | - | |
1220 | | - | |
1221 | | - | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
1222 | 1227 | | |
1223 | 1228 | | |
1224 | 1229 | | |
| |||
1228 | 1233 | | |
1229 | 1234 | | |
1230 | 1235 | | |
1231 | | - | |
1232 | | - | |
1233 | | - | |
1234 | | - | |
1235 | 1236 | | |
1236 | 1237 | | |
1237 | 1238 | | |
1238 | 1239 | | |
1239 | 1240 | | |
1240 | 1241 | | |
1241 | | - | |
| 1242 | + | |
1242 | 1243 | | |
1243 | 1244 | | |
1244 | 1245 | | |
| |||
0 commit comments