Fix walkStack() for inlined callee frames
Summary:
Inlined frame fixups produce a vmfp() corresponding to the outermost
caller, but a vmpc() corresponding (sometimes) to the leaf inlined
function. This is incoherent and causes assertion failures when
backtracing.
Fortunately, `callOff` exists and remedies this situation.
We should probably fix this more broadly, but currently we never access
vmpc() in native helpers that aren't builtins, which doesn't have this
issue, so this is a band-aid in the meantime.
This diff also documents the IFrame and IStack structs.
Reviewed By: mofarrell
Differential Revision:
D17795273
fbshipit-source-id:
d5906968a8200dd9fc613b0bd590a33aefd1fa67