FYI,
Much of this is superseeded by the frame overhaul - in particular the
introduction of frame_id_unwind(). The new code doesn't even call frame
chain valid!
Perhaphs wait for the attached [wip] to be committed and then tweak that
to match your proposed policy (we can then just deprecate
FRAME_CHAIN_VALID_P :-). However, making the change in parallel
wouldn't hurt.
Looking at my WIP, I'll need to tweak the code segment:
+ prev_frame->pc = frame_pc_unwind (next_frame);
+ if (prev_frame->pc == 0)
+ /* The allocated PREV_FRAME will be reclaimed when the frame
+ obstack is next purged. */
+ return NULL;
+ prev_frame->type = frame_type_from_pc (prev_frame->pc);
so that it checks for where the PC resides and abort accordingly.
The attached is WIP since I still need to see it working once :-)
[Small wonder if you haven't pushed the call to FRAME_CHAIN_VALID
somewhere... that's the same sort of thing that confuses me about all
of your frame changes...]