Calculate type-constraint effects for static property mutations
commit18e8c78d5ac1dfa70fa7806a4959780f5a53b57c
authorRick Lavoie <rlavoie@fb.com>
Wed, 16 Dec 2020 07:37:04 +0000 (15 23:37 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Wed, 16 Dec 2020 07:41:05 +0000 (15 23:41 -0800)
tree93409a2536e8488eb0c4515cbfb3bb7028546cf3
parent8769868907d66bbf0b3a2e18f287c8a6d78d1b99
Calculate type-constraint effects for static property mutations

Summary:
Take into account the possible effects arising from type-constraints
on static properties. With this information we can determine if a
given static property mutation can possibly throw or be considered
effect-free. In addition, it lets us push more accurate values onto
the stack as a result of the set.

Reviewed By: jano

Differential Revision: D25484305

fbshipit-source-id: 3a575820d7c9a4ed49b2b5dfc0ad88407e185459
hphp/hhbbc/index.cpp
hphp/hhbbc/index.h
hphp/hhbbc/interp.cpp
hphp/hhbbc/show.cpp
hphp/hhbbc/type-ops.cpp
hphp/util/tribool.h