I have a couple questions about the <target>_frame_cache
structure and functions.
1) This appears to be a single-entry cache. Why not keep
multiple entries?
2) The data in the frame cache seems to be of two different
types:
a) Fixed, based on analyzing the code: register offsets,
stack alignment, framelessness, etc.
b) Variable, based on the call: return pc, frame base
It looks to me that the object code is analyzed repeatedly
and this fixed information is discarded along with the
variable information.
Why not keep a persistent cache of function specific fixed
data and only discard the call-specific data when the frame
cache is cleared?
Is there any documentation about what target-specific data
the frame cache is supposed to contain or how the functions are
supposed to work?