Emit Self and Parent for static properties, and FPushClsMethod[F]
commit27a7f00d6f902b8b79db12f5e157b7636c8d0086
authorMark Williams <mwilliams@fb.com>
Thu, 28 Sep 2017 01:12:58 +0000 (27 18:12 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Thu, 28 Sep 2017 01:15:35 +0000 (27 18:15 -0700)
treea75c95dff9db16d9ed5f7f4e0d678b939e7db1b4
parent36c1ec5b8b996f83dc7a03f7f17be8cc80ad0bf2
Emit Self and Parent for static properties, and FPushClsMethod[F]

Summary:
We did this originally because before hhir, we couldn't optimize
Self/Parent properly in the jit. But now we can, and they produce
smaller bytecode, and are faster in the interpreter (they should also
be marginally faster to jit, because they don't involve looking up a
class, and produce exactly the same code).

Reviewed By: ricklavoie

Differential Revision: D5911787

fbshipit-source-id: 12b656576cc17462a3a75464fc9d2b59d4eca06d
hphp/compiler/analysis/emitter.cpp
hphp/hack/src/hhbc/ast_class_expr.ml
hphp/test/hhcodegen_failing_tests_slow