Merge FCallUnpack{,M} into FCall{,M}
commit05b22193f776ac4a23cb6436f07d062939d5bf4b
authorJan Oravec <jan@fb.com>
Wed, 25 Jul 2018 19:41:07 +0000 (25 12:41 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Wed, 25 Jul 2018 19:45:04 +0000 (25 12:45 -0700)
treec5ea6af4fe10bb0ffd27bb57e80473e5d8da31e2
parentaf7a87babdba6767ce517db125379ec9d643a913
Merge FCallUnpack{,M} into FCall{,M}

Summary:
Reduce the number of dimensions of FCall opcodes by another one by merging
the unpacking functionality into the FCall{,M}.

Reviewed By: markw65

Differential Revision: D8908945

fbshipit-source-id: 81f47a486009085d31cbb0de07e4b28a3d63f8a5
170 files changed:
hphp/doc/bytecode.specification
hphp/doc/ir.specification
hphp/hack/src/hhbc/Hhas_parser_actions.ml
hphp/hack/src/hhbc/emit_expression.ml
hphp/hack/src/hhbc/emit_inout_function.ml
hphp/hack/src/hhbc/emit_memoize_function.ml
hphp/hack/src/hhbc/emit_memoize_method.ml
hphp/hack/src/hhbc/emit_statement.ml
hphp/hack/src/hhbc/hhbc_ast.ml
hphp/hack/src/hhbc/hhbc_hhas.ml
hphp/hack/src/hhbc/instruction_sequence.ml
hphp/hack/src/hhbc/semdiff/rhl.ml
hphp/hack/test/semdiff/attributes_on_params.1.hhas
hphp/hack/test/semdiff/attributes_on_params.2.hhas
hphp/hack/test/semdiff/body_memoize_wrapper.2.hhas
hphp/hack/test/semdiff/body_static_inits_1.1.hhas
hphp/hack/test/semdiff/body_static_inits_1.2.hhas
hphp/hack/test/semdiff/body_static_inits_2.1.hhas
hphp/hack/test/semdiff/body_static_inits_2.2.hhas
hphp/hack/test/semdiff/decodecufiter.1.hhas
hphp/hack/test/semdiff/decodecufiter.2.hhas
hphp/hack/test/semdiff/doubles_01.1.hhas
hphp/hack/test/semdiff/doubles_01.2.hhas
hphp/hack/test/semdiff/doubles_02.1.hhas
hphp/hack/test/semdiff/doubles_02.2.hhas
hphp/hack/test/semdiff/doubles_03.1.hhas
hphp/hack/test/semdiff/doubles_03.2.hhas
hphp/hack/test/semdiff/doubles_04.1.hhas
hphp/hack/test/semdiff/doubles_04.2.hhas
hphp/hack/test/semdiff/doubles_05.1.hhas
hphp/hack/test/semdiff/doubles_05.2.hhas
hphp/hack/test/semdiff/exns_01.1.hhas
hphp/hack/test/semdiff/exns_01.2.hhas
hphp/hack/test/semdiff/exns_02.1.hhas
hphp/hack/test/semdiff/exns_02.2.hhas
hphp/hack/test/semdiff/exns_03.1.hhas
hphp/hack/test/semdiff/exns_03.2.hhas
hphp/hack/test/semdiff/exns_05.1.hhas
hphp/hack/test/semdiff/exns_05.2.hhas
hphp/hack/test/semdiff/exns_06.1.hhas
hphp/hack/test/semdiff/exns_06.2.hhas
hphp/hack/test/semdiff/fpassl_01.1.hhas
hphp/hack/test/semdiff/fpassl_01.2.hhas
hphp/hack/test/semdiff/fpassl_02.1.hhas
hphp/hack/test/semdiff/fpassl_02.2.hhas
hphp/hack/test/semdiff/oneside_02.1.hhas
hphp/hack/test/semdiff/oneside_02.2.hhas
hphp/hack/test/semdiff/oneside_03.1.hhas
hphp/hack/test/semdiff/oneside_03.2.hhas
hphp/hack/test/semdiff/paper.1.hhas
hphp/hack/test/semdiff/paper.2.hhas
hphp/hack/test/semdiff/vget_01.1.hhas
hphp/hack/test/semdiff/vget_01.2.hhas
hphp/hack/test/semdiff/vget_02.1.hhas
hphp/hack/test/semdiff/vget_02.2.hhas
hphp/hack/test/semdiff/vget_03.1.hhas
hphp/hack/test/semdiff/vget_03.2.hhas
hphp/hack/test/semdiff/wtf.1.hhas
hphp/hack/test/semdiff/wtf.2.hhas
hphp/hhbbc/bc.h
hphp/hhbbc/emit.cpp
hphp/hhbbc/interp-builtin.cpp
hphp/hhbbc/interp.cpp
hphp/hhbbc/parse.cpp
hphp/hhbbc/peephole.cpp
hphp/runtime/base/backtrace.cpp
hphp/runtime/ext/collections/ext_collections-map.php
hphp/runtime/ext/collections/ext_collections-map.tmpl
hphp/runtime/vm/as.cpp
hphp/runtime/vm/bytecode.cpp
hphp/runtime/vm/bytecode.h
hphp/runtime/vm/hhbc.cpp
hphp/runtime/vm/hhbc.h
hphp/runtime/vm/jit/annotation.cpp
hphp/runtime/vm/jit/inlining-decider.cpp
hphp/runtime/vm/jit/irgen-call.cpp
hphp/runtime/vm/jit/irgen-call.h
hphp/runtime/vm/jit/irgen-resumable.cpp
hphp/runtime/vm/jit/stack-overflow.cpp
hphp/runtime/vm/jit/translator-inl.h
hphp/runtime/vm/jit/translator.cpp
hphp/runtime/vm/jit/unique-stubs.cpp
hphp/runtime/vm/verifier/check-func.cpp
hphp/runtime/vm/verifier/check.h
hphp/runtime/vm/verifier/fuzzer/instr_utils.ml
hphp/system/php/array_filter.hhas
hphp/system/php/array_map.hhas
hphp/system/php/array_reduce.hhas
hphp/test/quick/access_modifier.hhas
hphp/test/quick/asm_alias.hhas
hphp/test/quick/asm_array.hhas
hphp/test/quick/asm_array_elem.hhas
hphp/test/quick/asm_array_packed.hhas
hphp/test/quick/asm_assert_optobj.hhas
hphp/test/quick/asm_assert_ref.hhas
hphp/test/quick/asm_assert_t.hhas
hphp/test/quick/asm_bad_array_elem.hhas
hphp/test/quick/asm_class.hhas
hphp/test/quick/asm_closure.hhas
hphp/test/quick/asm_cont.hhas
hphp/test/quick/asm_declvars.hhas
hphp/test/quick/asm_dvinit.hhas
hphp/test/quick/asm_dvinit_fault.hhas
hphp/test/quick/asm_extnames.hhas
hphp/test/quick/asm_fatal_await.hhas
hphp/test/quick/asm_fault.hhas
hphp/test/quick/asm_fault_endings.hhas
hphp/test/quick/asm_fcall.hhas
hphp/test/quick/asm_hoistable_2.hhas
hphp/test/quick/asm_hoistable_3.hhas
hphp/test/quick/asm_iterbreak.hhas
hphp/test/quick/asm_jumps.hhas
hphp/test/quick/asm_newstructarray.hhas
hphp/test/quick/asm_prop_init.hhas
hphp/test/quick/asm_ret_type.hhas
hphp/test/quick/asm_sswitch.hhas
hphp/test/quick/asm_sswitch_slow.hhas
hphp/test/quick/asm_stack_depth_and_jmp.hhas
hphp/test/quick/asm_switch.hhas
hphp/test/quick/asm_trait.hhas
hphp/test/quick/asm_type.hhas
hphp/test/quick/asm_types.hhas
hphp/test/quick/asm_unnamed.hhas
hphp/test/quick/asm_unusual_lifetimes.hhas
hphp/test/quick/assertRATL_block_end.hhas
hphp/test/quick/assertRATStk_block_end.hhas
hphp/test/quick/assert_to_nop.hhas
hphp/test/quick/baseH.hhas
hphp/test/quick/bindg_weird.hhas
hphp/test/quick/bool_operations.hhas
hphp/test/quick/check_init_prop.hhas
hphp/test/quick/class_torture.hhas
hphp/test/quick/constructor_destructor.hhas
hphp/test/quick/createcl.hhas
hphp/test/quick/dv_from_entry.hhas
hphp/test/quick/fpi_region.hhas
hphp/test/quick/hhas_fc_enum.hhas
hphp/test/quick/hopt-translator_unwind.hhas
hphp/test/quick/member_key_offset.hhas
hphp/test/quick/member_mode_inconsistency.hhas
hphp/test/quick/member_mode_inconsistency2.hhas
hphp/test/quick/neg_iva.hhas
hphp/test/quick/oodeclexists.hhas
hphp/test/quick/silence.hhas
hphp/test/quick/strict_type_bad_value.hhas
hphp/test/quick/strict_types.hhas
hphp/test/quick/strict_types_no_scalar.hhas
hphp/test/quick/test-withref.hhas
hphp/test/quick/translator_unwind.hhas
hphp/test/quick/unreachable-fpi-1.hhas
hphp/test/quick/unreachable-fpi-2.hhas
hphp/test/quick/weak_types.hhas
hphp/test/slow/dict/add-elem-v.hhas
hphp/test/slow/dict/add-new-elem-c.hhas
hphp/test/slow/dict/add-new-elem-v.hhas
hphp/test/slow/dict/new-like-array.hhas
hphp/test/slow/dict/w-iterator.hhas
hphp/test/slow/ir_inlining/unreachable-calls.hhas
hphp/test/slow/ir_memory/bad_store_elim.hhas
hphp/test/slow/keyset/add-elem-c.hhas
hphp/test/slow/keyset/add-elem-v.hhas
hphp/test/slow/keyset/add-new-elem-v.hhas
hphp/test/slow/keyset/new-like-array.hhas
hphp/test/slow/keyset/w-iterator.hhas
hphp/test/slow/redefine-builtin-hhas.hhas
hphp/test/slow/vec/add-elem-c.hhas
hphp/test/slow/vec/add-elem-v.hhas
hphp/test/slow/vec/add-new-elem-v.hhas
hphp/test/slow/vec/new-like-array.hhas
hphp/test/slow/vec/w-iterator.hhas