Fix line numbers in suspended frames when optimizing.
Summary:
Instead of storing the offset we resume at in resumables, store the offset we suspended at. This doesn't affect the jit, since it uses a separate resume address that isn't changing. In slow resume paths in the interpreter and debugger we can compute the resume offset from the suspend offset.
This allows backtraces to have correct line numbers for suspended frames when the optimizer removes bytecodes after e.g. an Await and the bytecode we resume at is at a line far from the place we suspended.
Reviewed By: ricklavoie
Differential Revision:
D18874724
fbshipit-source-id:
c1edd6eb7ca572a340f99a0cc7c109a2d4d3acfc