Handle magic calls to unknown methods in interpreter
commit8bc653ffa69484fe0afe578dd66658236b537f0c
authorJan Oravec <jan@fb.com>
Wed, 28 Aug 2019 20:00:00 +0000 (28 13:00 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Wed, 28 Aug 2019 20:02:20 +0000 (28 13:02 -0700)
treea41af75db3df898e9c554b83c57e1109c158063c
parentc028ee196a7591e1f337437f5b5ecdb1aa0a5a91
Handle magic calls to unknown methods in interpreter

Summary:
Magic `__call` calls are deprecated and sparsely used. Do not emit a ton of
code to handle them when emitting an unknown method call. Instead, go back to
the interpreter and deal with them there.

Since magic calls will be no longer profiled, we also don't need to handle them
in optimizeProfiledCallMethod().

Reviewed By: ricklavoie

Differential Revision: D17083706

fbshipit-source-id: b2a4479dcbc7bb5dc22fb04cce764ffcc25648ef
14 files changed:
hphp/doc/ir.specification
hphp/runtime/vm/jit/call-spec.cpp
hphp/runtime/vm/jit/dce.cpp
hphp/runtime/vm/jit/gvn.cpp
hphp/runtime/vm/jit/ir-instruction-inl.h
hphp/runtime/vm/jit/ir-opcode.cpp
hphp/runtime/vm/jit/irgen-call.cpp
hphp/runtime/vm/jit/irlower-lookup-method.cpp
hphp/runtime/vm/jit/licm.cpp
hphp/runtime/vm/jit/memory-effects.cpp
hphp/runtime/vm/jit/ssa-tmp.cpp
hphp/runtime/vm/jit/target-cache.cpp
hphp/runtime/vm/jit/target-cache.h
hphp/runtime/vm/jit/type.h