gordonhenriksen at me.com
Sun Feb 28 10:35:08 PST 2010
On 2010-02-28, at 13:27, Reid Kleckner wrote:
> On Sun, Feb 28, 2010 at 9:55 AM, Gordon Henriksen
> <gordonhenriksen at me.com> wrote:
>> In practice, so long as frame pointers are not elided, a handful of lines of assembly per platform should get you a stack walker. If frame pointers are elided, however, you're looking at parsing DWARF to find out where it was saved, which is probably too expensive for the job.
> Unless you have control of all the binaries that you're interfacing with, please don't assume that. Since DWARF frame information was made part of the AMD64 System V ABI, everyone has been taking the opportunity to elide frame pointers.
There's nothing wrong with Talin taking advantage of frame pointers in his language's implementation.
Assuming them of foreign functions is of course problematic, but there's no need to scan foreign stack frames. Tracking FFI entry/exits so that foreign frames can be skipped solves that problem.
More information about the llvm-dev