I think there is a representation for Debugger.Frame
s that does not require frames to be removed from the Debugger::frames
FrameMap when they are popped. It does still require prompt notification of:
-
frame pops for
Debugger.Frame
instances that have anonPop
handler set, to report the pop to Debugger's users; and -
changes of a frame's representation (on-stack replacement; bailouts; etc.), to update the key in the map.
Not needing to report pops comes at the cost of a more expensive validity check before using a Debugger.Frame
. But even so, we should be able to skip this check in some circumstances.