Do not record inline stacks in nothrow
commit329f5c7e43523b98e473c4f9e873f60588529509
authorJan Oravec <jan@fb.com>
Fri, 8 Oct 2021 00:17:16 +0000 (7 17:17 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Fri, 8 Oct 2021 00:19:07 +0000 (7 17:19 -0700)
treed6e8c2f7aa2332db8de347cd6a3c4d2848811a2d
parent293de882f5257318a1c86d924124cdb8fc12d56e
Do not record inline stacks in nothrow

Summary:
nothrow{} records a special catch block that just asserts and crashes HHVM, we
don't need to record inline stacks with it. We don't record a fixup either, so
inline stacks alone won't be very useful even for debugging purposes.

This instruction is often used by DecRef to call `release()` methods. DecRefs
can be shuffled across BeginInlining/EndInlining, so the inline stack is often
incorrect. The next diff hits assertions on sanity checks without this one.

Reviewed By: paulbiss

Differential Revision: D31458376

fbshipit-source-id: fcd528197644e12fed11e007f2bf494d866dcdb3
hphp/runtime/vm/jit/vasm-arm.cpp
hphp/runtime/vm/jit/vasm-x64.cpp