Add mode to EndCatch
commitf648d7a85f394ee3055f19eb419b9c2df1d02a04
authorMark Williams <mwilliams@fb.com>
Tue, 14 May 2019 17:20:12 +0000 (14 10:20 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Tue, 14 May 2019 17:37:00 +0000 (14 10:37 -0700)
treed7ee3beb3ed428a16bf414719342c5164d2b75a0
parentda9949dde96c0a35d37becf9ed2ecd3af2d48116
Add mode to EndCatch

Summary:
Differentiate catch traces that might be used for VMSwitchMode,
VMBuiltinSwitchMode, or special case handling via side exit.

For "normal" catch traces, values being spilt to the stack are only
there for the unwinder to pop them. Other kinds of catch traces might
actually consume the stack slots, so in order to optimize away such
stores, we need to know the kind of catch trace we're dealing with.

This diff doesn't really use the mode. I'll add optimizations in later
diffs.

Reviewed By: paulbiss

Differential Revision: D15296707

fbshipit-source-id: 5d8a68065aa7549755c9ee2bd47e3910fae1750f
hphp/runtime/ext/debugger/ext_debugger.php
hphp/runtime/ext/fb/ext_fb.php
hphp/runtime/vm/jit/dce.cpp
hphp/runtime/vm/jit/extra-data.h
hphp/runtime/vm/jit/irgen-builtin.cpp
hphp/runtime/vm/jit/irgen-internal.h
hphp/runtime/vm/jit/irgen-minstr.cpp
hphp/runtime/vm/jit/irgen.cpp
hphp/runtime/vm/jit/pdce-inlining.cpp