Restore inline stack frames
commit3cda3c20db9eec2f7a9ac681afff0d3b8c3c65e9
authorPaul Bissonnette <paulbiss@fb.com>
Sun, 29 Jul 2018 04:37:07 +0000 (28 21:37 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Sun, 29 Jul 2018 04:43:21 +0000 (28 21:43 -0700)
tree4d9a915e365ed2c4b3dfac0a87caff28e12abf6d
parent4dd878a31607e12152e868af8e6cea0a8137d12f
Restore inline stack frames

Summary: This diff records a chain of inlined stack frames (`{parent, func, bc offset}`) for each catch trace emitted within an inlined region where stack frames have been elided. The data is recovered when generating backtraces.

Reviewed By: ottoni

Differential Revision: D7857244

fbshipit-source-id: df8be34ea4610b6b19c59c6fb23d6d1d45b0a0ef
33 files changed:
hphp/hhvm/CMakeLists.txt
hphp/runtime/base/backtrace.cpp
hphp/runtime/base/execution-context.cpp
hphp/runtime/base/execution-context.h
hphp/runtime/base/rds-header.h
hphp/runtime/vm/jit/cg-meta.cpp
hphp/runtime/vm/jit/cg-meta.h
hphp/runtime/vm/jit/fixup.cpp
hphp/runtime/vm/jit/irlower-act-rec.cpp
hphp/runtime/vm/jit/irlower-inlining.cpp
hphp/runtime/vm/jit/irlower.cpp
hphp/runtime/vm/jit/relocation.cpp
hphp/runtime/vm/jit/vasm-arm.cpp
hphp/runtime/vm/jit/vasm-dead.cpp
hphp/runtime/vm/jit/vasm-instr.cpp
hphp/runtime/vm/jit/vasm-instr.h
hphp/runtime/vm/jit/vasm-internal-inl.h
hphp/runtime/vm/jit/vasm-internal.cpp
hphp/runtime/vm/jit/vasm-internal.h
hphp/runtime/vm/jit/vasm-ppc64.cpp
hphp/runtime/vm/jit/vasm-unit.h
hphp/runtime/vm/jit/vasm-x64.cpp
hphp/runtime/vm/vm-regs.h
hphp/test/one_bit_refcount_failing_slow
hphp/test/slow/inline-nested-vm-stack.php [new file with mode: 0644]
hphp/test/slow/inline-nested-vm-stack.php.expect [new file with mode: 0644]
hphp/test/slow/inline-stack.php [new file with mode: 0644]
hphp/test/slow/inline-stack.php.expect [new file with mode: 0644]
hphp/test/slow/inline-top-stack.php [new file with mode: 0644]
hphp/test/slow/inline-top-stack.php.expect [new file with mode: 0644]
hphp/test/slow/inline-trim-extra-args.php [new file with mode: 0644]
hphp/test/slow/inline-trim-extra-args.php.expect [new file with mode: 0644]
hphp/test/slow/inline-trim-extra-args.php.expect-repo [new file with mode: 0644]