Move try-fault gear into instrseq, out of instruction
commit9b5f01d4cd6468e03e6e630e5288e7c2c4094046
authorEric Lippert <ericlippert@fb.com>
Thu, 2 Mar 2017 18:48:53 +0000 (2 10:48 -0800)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Thu, 2 Mar 2017 18:52:01 +0000 (2 10:52 -0800)
tree7aabbcb087cf6523689cbd5f5da0ea7c33f4d5df
parentf68c6556d53ea1bcdb7ca6dfbbb82d0c972ec760
Move try-fault gear into instrseq, out of instruction

Summary:
A try-fault begin used to keep the instruction sequence for the fault block in the try begin instruction; it now keeps it in a new instrseq type.

This greatly simplifies the tree of instructions, as there is no more mixing of types.  It also solves the problems we had with the folders and mappers on instruction sequences.

Rewriting the gear which extracts the fault blocks from the tree once again has re-ordered the fault blocks, harmlessly.

Reviewed By: andrewjkennedy, oulgen

Differential Revision: D4636093

fbshipit-source-id: 2eefebf6a9b4cd882568aa6769af8869ba0ab1eb
hphp/hack/src/hhbc/hhbc_ast.ml
hphp/hack/src/hhbc/hhbc_from_nast.ml
hphp/hack/src/hhbc/hhbc_hhas.ml
hphp/hack/src/hhbc/instruction_sequence.ml