com php-src: Implement named parameters: UPGRADING Zend/tests/a rg_unpack/non_integer_keys.phpt Zend/tests/arg_unpa ck/string_keys.phpt
Zend/tests/assert/expect_015 .phpt Zend/tests/bug43343.phpt Zend/tests/nam ed_params/__call.phpt Zend/tests/named_params/_ _invoke.phpt
Zend/tests/named_params/attributes.phpt Zend/tests/named_params/attributes_duplicate_named_p aram.phpt Zend/tests/named_params/attributes_named_fl
ags.phpt Zend/tests/named_params/attri
| From: | Nikita Popov | Date: | Fri, 31 Jul 2020 13:53:36 +0000 |
| Subject: | com php-src: Implement named parameters: UPGRADING Zend/tests/a rg_unpack/non_integer_keys.phpt Zend/tests/arg_unpa ck/string_keys.phpt Zend/tests/assert/expect_015 .phpt Zend/tests/bug43343.phpt Zend/tests/nam ed_params/__call.phpt Zend/tests/named_params/_ _invoke.phpt Zend/tests/named_params/attributes.phpt Zend/tests/named_params/attributes_duplicate_named_p aram.phpt Zend/tests/named_params/attributes_named_fl ags.phpt Zend/tests/named_params/attri |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-112478@lists.php.net to get a copy of this message | ||
Commit: d92229d8c78aac25925284e23aa7903dca9ed005
Author: Nikita Popov <nikita.ppv@gmail.com> Mon, 6 Apr 2020 12:46:52 +0200
Parents: 9a71d47d7334b9e2f83db48498047750c04cd192
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=d92229d8c78aac25925284e23aa7903dca9ed005
Log:
Implement named parameters
From an engine perspective, named parameters mainly add three
concepts:
* The SEND_* opcodes now accept a CONST op2, which is the
argument name. For now, it is looked up by linear scan and
runtime cached.
* This may leave UNDEF arguments on the stack. To avoid having
to deal with them in other places, a CHECK_UNDEF_ARGS opcode
is used to either replace them with defaults, or error.
* For variadic functions, EX(extra_named_params) are collected
and need to be freed based on ZEND_CALL_HAS_EXTRA_NAMED_PARAMS.
RFC: https://wiki.php.net/rfc/named_params
Closes GH-5357.
Changed paths:
M UPGRADING
M Zend/tests/arg_unpack/non_integer_keys.phpt
M Zend/tests/arg_unpack/string_keys.phpt
M Zend/tests/assert/expect_015.phpt
M Zend/tests/bug43343.phpt
A Zend/tests/named_params/__call.phpt
A Zend/tests/named_params/__invoke.phpt
A Zend/tests/named_params/attributes.phpt
A Zend/tests/named_params/attributes_duplicate_named_param.phpt
A Zend/tests/named_params/attributes_named_flags.phpt
A Zend/tests/named_params/attributes_named_flags_incorrect.phpt
A Zend/tests/named_params/attributes_positional_after_named.phpt
A Zend/tests/named_params/backtrace.phpt
A Zend/tests/named_params/basic.phpt
A Zend/tests/named_params/call_user_func.phpt
A Zend/tests/named_params/call_user_func_array.phpt
A Zend/tests/named_params/defaults.phpt
A Zend/tests/named_params/duplicate_param.phpt
A Zend/tests/named_params/func_get_args.phpt
A Zend/tests/named_params/internal.phpt
A Zend/tests/named_params/internal_variadics.phpt
A Zend/tests/named_params/missing_param.phpt
A Zend/tests/named_params/positional_after_named.phpt
A Zend/tests/named_params/references.phpt
A Zend/tests/named_params/reserved.phpt
A Zend/tests/named_params/unknown_named_param.phpt
A Zend/tests/named_params/unpack.phpt
A Zend/tests/named_params/unpack_and_named_1.phpt
A Zend/tests/named_params/unpack_and_named_2.phpt
A Zend/tests/named_params/variadic.phpt
M Zend/zend_API.c
M Zend/zend_API.h
M Zend/zend_ast.c
M Zend/zend_ast.h
M Zend/zend_attributes.c
M Zend/zend_attributes.h
M Zend/zend_builtin_functions.c
M Zend/zend_closures.c
M Zend/zend_compile.c
M Zend/zend_compile.h
M Zend/zend_exceptions.c
M Zend/zend_execute.c
M Zend/zend_execute.h
M Zend/zend_execute_API.c
M Zend/zend_generators.c
M Zend/zend_interfaces.c
M Zend/zend_language_parser.y
M Zend/zend_object_handlers.c
M Zend/zend_vm_def.h
M Zend/zend_vm_execute.h
M Zend/zend_vm_gen.php
M Zend/zend_vm_handlers.h
M Zend/zend_vm_opcodes.c
M Zend/zend_vm_opcodes.h
M ext/curl/interface.c
M ext/dom/xpath.c
M ext/ffi/ffi.c
M ext/mysqli/mysqli.c
M ext/opcache/Optimizer/compact_literals.c
M ext/opcache/Optimizer/optimize_func_calls.c
M ext/opcache/Optimizer/zend_call_graph.c
M ext/opcache/Optimizer/zend_call_graph.h
M ext/opcache/Optimizer/zend_inference.c
M ext/opcache/jit/zend_jit.c
M ext/opcache/jit/zend_jit_trace.c
M ext/opcache/jit/zend_jit_vm_helpers.c
M ext/opcache/jit/zend_jit_x86.dasc
M ext/opcache/zend_file_cache.c
M ext/opcache/zend_persist.c
M ext/opcache/zend_persist_calc.c
M ext/pcre/php_pcre.c
M ext/pdo/pdo_dbh.c
M ext/pgsql/pgsql.c
M ext/reflection/php_reflection.c
M ext/spl/php_spl.c
M ext/spl/spl_directory..c
M ext/standard/basic_functions.c
M ext/xml/xml.c
M ext/xsl/xsltprocessor.c
Diff: <Diff exceeded maximum size>