Back out "Avoid examining folded methods table when declaring condition_types"
commit8110b19eb8f63b6f5fffe4ba9195cf5dd14f857c
authorJake Bailey (Hacklang) <jakebailey@fb.com>
Tue, 16 Apr 2019 18:07:43 +0000 (16 11:07 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Tue, 16 Apr 2019 18:13:20 +0000 (16 11:13 -0700)
tree2ed270cdaf0c98a416281221363fcca96396a626
parentb1f3902f99e4cde36c8c4e5b15ad2193176b088b
Back out "Avoid examining folded methods table when declaring condition_types"

Summary:
Reverts {D13568133}.

When I shipped that diff, I did not fully understand the potential cost of fetching the shallow declaration of every ancestor. I supposed that, since we provided a worker-local cache of shallow declarations, and declared every ancestor before declaring a class, we could generally expect shallow declarations of ancestors to be present in the cache. The perf results in the test plan indicate that this frequently not the case--ancestors are often declared on other workers, and attempting to fetch their shallow declaration when it is not present in the cache involves an expensive re-parse.

With the gating changes I have made, D13568133 is no longer necessary to unblock shallow class declaration, so this diff reverts it.

Reviewed By: arxanas

Differential Revision: D14938829

fbshipit-source-id: dba7cb04a9c249b9adf3ffe43d8ec7f6da635e49
hphp/hack/src/decl/decl.ml
hphp/hack/src/decl/shallow_decl.ml