Avoid dynamic static checks when forwarding context
commit8d0586d1589269b823080dbab289b19e19d26f68
authorJan Oravec <jan@fb.com>
Wed, 15 May 2019 17:35:48 +0000 (15 10:35 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Wed, 15 May 2019 17:39:15 +0000 (15 10:39 -0700)
treefa374bed55fef68676f9d7df998c60f490578341
parent34f14bee859a3d3edae84b2f9dee752dc223045a
Avoid dynamic static checks when forwarding context

Summary:
When calling a known non-exact method, use the staticness of the parent method
rather than loading it dynamically from the called method.

This diff is mostly DCE of CheckFuncStatic, as we forward context only for
self:: and parent::, which should not give us non-exact match.

Reviewed By: markw65

Differential Revision: D15343675

fbshipit-source-id: 05520bc0837633823b2e71a75de704d4793a8123
hphp/doc/ir.specification
hphp/runtime/vm/jit/cfg-clean.cpp
hphp/runtime/vm/jit/dce.cpp
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/memory-effects.cpp
hphp/runtime/vm/jit/simplify.cpp