Do not spill ActRec in catches of inlined builtins
commit767d6c052237badd96532e6397a69f1cbd995796
authorJan Oravec <jan@fb.com>
Sat, 27 Apr 2019 18:40:17 +0000 (27 11:40 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Sat, 27 Apr 2019 18:43:54 +0000 (27 11:43 -0700)
treecf90f6b4b58d209da8ccdbe7d96ddacd3858ca95
parent6fc4fcbf4823a92db0f672b52ae09f6287f69fc9
Do not spill ActRec in catches of inlined builtins

Summary:
Do not spill pre-live ActRec right before transferring control to the unwinder.
Instead, decref this manually.

Note that the FP is already synced properly to the caller's ActRec, as inlining
of NativeImpl calls implInlineReturn() before running code protected by
CatchMaker.

Reviewed By: paulbiss

Differential Revision: D15107864

fbshipit-source-id: 98fbd44ffdd05786b53fc079a21d1abc5022761c
hphp/runtime/vm/bytecode.h
hphp/runtime/vm/jit/irgen-builtin.cpp