Add Rds to alias analysis
commit824a9238ae0e92872a5d51c02f5c60d58f8c9267
authorMark Williams <mwilliams@fb.com>
Thu, 14 Jun 2018 15:56:31 +0000 (14 08:56 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Thu, 14 Jun 2018 15:59:30 +0000 (14 08:59 -0700)
tree2f4355456c793fded74737c816bdb2b40d711996
parent939fffcc2e4b96fef82da987963549f4851f2ad7
Add Rds to alias analysis

Summary:
I noticed we generate pretty bad code for static properties; both
multiple loads from the same rds location, and multiple stores to the
same location. In addition, even after emitting a CheckType<InitNull>
for a static property, we would still load the old value and decref if
necessary when writing to it.

Reviewed By: swtaarrs

Differential Revision: D8389385

fbshipit-source-id: 98159b2c12efb5b4d0369ef685808c946bfd2c90
hphp/runtime/test/alias-class.cpp
hphp/runtime/vm/jit/alias-analysis.cpp
hphp/runtime/vm/jit/alias-analysis.h
hphp/runtime/vm/jit/alias-class.cpp
hphp/runtime/vm/jit/alias-class.h
hphp/runtime/vm/jit/memory-effects.cpp