Make interface vtables work with abstract classes
commitc36da5680723396d3441cc603a016840b2419e03
authorJan Oravec <jan@fb.com>
Tue, 16 Mar 2021 19:51:02 +0000 (16 12:51 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Tue, 16 Mar 2021 19:54:11 +0000 (16 12:54 -0700)
tree26bf9bf48d9d3a7e2b1dac0e873e1eaa095ee13c
parentf96de1a80d9f1ec53540e70a0572d287ee306cb7
Make interface vtables work with abstract classes

Summary:
WizKid and I were debugging why slow path of LookupClsMethod was used for static
method calls with dynamic class with correctly profiled shared interface.

Turned out these classes were abstract and we were not building vtables for
them.

Reviewed By: ricklavoie, oulgen

Differential Revision: D27054938

fbshipit-source-id: 54cda6301c02f0d183c55a2d69a498835a76b50e
hphp/doc/ir.specification
hphp/hhbbc/index.cpp
hphp/runtime/vm/class.cpp