Support variadic builtins via FCallBuiltin
commit21bec8823465677bb24d249a0bbd35f81ec89129
authorSara Golemon <sgolemon@fb.com>
Tue, 12 May 2015 21:03:56 +0000 (12 14:03 -0700)
committerhhvm-bot <hhvm-bot@fb.com>
Mon, 18 May 2015 17:00:39 +0000 (18 10:00 -0700)
tree2a5d4f6affb63cf6e5ee38ef128744487769450c
parent2e079abefc64c59fb9bd1acd6ea827e3a69ad2c3
Support variadic builtins via FCallBuiltin

Summary: Expand emitFCallBuiltin to roll up
extra args into an array or append an empty
array to variadic calls which don't have
variadic params.

Also change implementation of array_merge()
and array_merge_recursive() slightly to account
for no longer having a caller frame to get the
num args passed count.

Closes #5277

Reviewed By: @paulbiss

Differential Revision: D2067616
hphp/compiler/analysis/emitter.cpp
hphp/runtime/vm/bytecode.cpp
hphp/runtime/vm/jit/irgen-builtin.cpp