[Fix/Perf/HPHPi] Add ObjectStringPropertyExpression
commitbc780d992f4d60c401498ba493bfddad5e4debc5
authormyang <myang@fb.com>
Mon, 3 Oct 2011 17:30:34 +0000 (3 10:30 -0700)
committermacvicar <macvicar@fb.com>
Mon, 17 Oct 2011 23:56:14 +0000 (17 16:56 -0700)
treef66bd4e73195408eaa1cc6d7c1ba28f5492b7ea0
parent31e24e5ee6d1e0595181370b6417aed71ff846ae
[Fix/Perf/HPHPi] Add ObjectStringPropertyExpression

Summary:
Almost all ObjectPropertyExpression has a explicit string as the property
name. I added ObjectStringPropertyExpression to capture the remaining
cases where the object may not be $this or a simple variable expression
but the property is a string. I also fixed a bug where m_reverseOrder
wasn't set (caused by one of my earlier changes) although I couldn't
find a case where this matters because the use of TempExpressionList
when eval order matters so it may not be needed but leaving it uninited
does not seem right.

Test Plan:
make fast_tests
bench.php showed about 0.5s speed up.

Reviewers: mwilliams, qigao

Reviewed By: mwilliams

CC: hphp-diffs@lists, ps, mwilliams
Differential Revision: 337080
src/runtime/eval/ast/expression.h
src/runtime/eval/ast/object_property_expression.cpp
src/runtime/eval/ast/object_property_expression.h