Skip to content

proper CFI and dwarf engine to use it #27

Closed
@graydon

Description

@graydon

Currently we're using a sort of 'shadow stack' approach wherein each frame
self-identifies its metadata in a location easily found from ebp. This is not
optimal, long term: to keep the metadata tractable, it means we're doing
expensive stuff like zeroing frames and slots all the time, and never reusing
lexical scopes. Painful. We need to get to the point of emitting Dwarf CFI (or
at worst, something similarly instruction-accurate) so we can determine
liveness and layout of everything in a frame, given an (sp,pc) pair.

Of course, the runtime also needs to learn how to reflect on this information
well enough to provide it to the unwinder. So this part is a long, slow
process. Possibly this needs to be a tracking bug for several sub-bugs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions