summaryrefslogtreecommitdiff
path: root/flowgraphnode.cpp
diff options
context:
space:
mode:
authorMark Rowe <mrowe@bdash.net.nz>2025-02-10 21:57:51 -0800
committerMason Reed <mason@vector35.com>2025-02-12 18:43:02 -0500
commit798598596352f46856b1d1926e63baac0b8ac084 (patch)
tree3da6fc934de7088d0eb31ec005a7d3546cde0113 /flowgraphnode.cpp
parentb453e2587842e548bf61c9aa04a25c0b99e4abda (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