Optimize minstr sequences in interp
commit78ca89f1a99d189ece4cc5a2317e5d2e0e346b41
authorMark Williams <mwilliams@fb.com>
Sun, 5 May 2019 20:15:58 +0000 (5 13:15 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Sun, 5 May 2019 20:19:45 +0000 (5 13:19 -0700)
treeaddc38e0e4a9820b7916ed6d830ce3c3604e0fdf
parent5a4f14bf602dd17e6f197ea3ecb8c3539ec2f851
Optimize minstr sequences in interp

Summary:
If a minstr sequence produces a literal value, we already have code in
dce to eliminate the sequence, but its complex, only catches the case
where the entire sequence produces a literal, and runs too late to get
the full benefits.

This moves the optimization to interp, and additionally catches cases
where any initial sequence produces a literal.

Reviewed By: ricklavoie

Differential Revision: D15209736

fbshipit-source-id: 6f533e1621efa83dd97e533558fa34e984fd58db
hphp/hhbbc/interp-internal.h
hphp/hhbbc/interp-minstr.cpp
hphp/hhbbc/interp-state.h
hphp/hhbbc/interp.cpp