Move func_num_args() to an opcode
commit2d478b566bd0d93571c8a4e8e0f51e3cfa4604c9
authorJan Oravec <jan@fb.com>
Wed, 13 Mar 2019 04:23:56 +0000 (12 21:23 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Wed, 13 Mar 2019 04:33:07 +0000 (12 21:33 -0700)
treebd7fc76c6d9005bac2dcac84d1cf78c27fbb8ba7
parentb96625e312ada4e78ae1b6f19dcd9e23c132a9d3
Move func_num_args() to an opcode

Summary:
The full removal of func_num_args() is temporarily blocked by builtins. Let's
remove support for dynamic invocations of func_num_args() first and move its
implementation to a FuncNumArgs opcode so that it can unblock ReadsCallerFrame
removal.

Reviewed By: markw65

Differential Revision: D14422339

fbshipit-source-id: 51d17ad3155eecacf9aadb14d276a632b76417b8
20 files changed:
hphp/doc/bytecode.specification
hphp/hack/src/hhbc/emit_expression.ml
hphp/hack/src/hhbc/hhbc_ast.ml
hphp/hack/src/hhbc/hhbc_hhas.ml
hphp/hack/src/hhbc/hhbc_id.ml
hphp/hack/src/hhbc/instruction_sequence.ml
hphp/hhbbc/dce.cpp
hphp/hhbbc/interp-internal.h
hphp/hhbbc/interp.cpp
hphp/runtime/ext/std/ext_std_function.cpp
hphp/runtime/ext/std/ext_std_function.h
hphp/runtime/ext/std/ext_std_function.php
hphp/runtime/vm/bytecode.cpp
hphp/runtime/vm/hhbc.h
hphp/runtime/vm/jit/fixup.cpp
hphp/runtime/vm/jit/irgen-basic.cpp
hphp/runtime/vm/jit/irgen-builtin.cpp
hphp/runtime/vm/jit/translator.cpp
hphp/runtime/vm/verifier/check-func.cpp
hphp/test/quick/extension_null_check.php.expectf