diff options
| author | Mark Rowe <mrowe@bdash.net.nz> | 2025-02-10 21:57:51 -0800 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-02-12 18:43:02 -0500 |
| commit | 798598596352f46856b1d1926e63baac0b8ac084 (patch) | |
| tree | 3da6fc934de7088d0eb31ec005a7d3546cde0113 /flowgraphnode.cpp | |
| parent | b453e2587842e548bf61c9aa04a25c0b99e4abda (diff) | |
[SharedCache] Fix performance when loading images from iOS 14 shared caches
A logic error in `FindSymbolAtAddrAndApplyToAddr` meant that a code path
that would attempt to re-use existing symbol definitions in the view
would still fall back to searching the exported symbol list.
`FindSymbolAtAddrAndApplyToAddr` is updated to return early if a symbol
already exists at the target location and the target location is the
same as the symbol location. Additionally, in the event a symbol was found
in the view at the symbol location, it is applied to the target location
and then the function returns.
Additionally, `WillMutateState` is moved after these initial checks so
it is only called in the codepaths that attempt to locate the symbol
amongst the exported symbols.
After these changes it is now possible to load QuartzCore from the iOS
14 shared cache in around 70 seconds. Previously it would run for hours
without the load completing.
Diffstat (limited to 'flowgraphnode.cpp')
0 files changed, 0 insertions, 0 deletions
