Re: del php-src: NEWS UPGRADING UPGRADING.INTERNALS Zend/zend.c Zend/zend.h Zend/zend_API.c Zend/zend_API.h Zend/zend_alloc.c Zend/zend_alloc.h
Zend/zend_ast.c Zend/zend_execute.h Zend/zend_execute_API.c Zend/zend_extensions.c Zend/zend_extensions.h Zend/zend_indent.c Zend/zend_indent.h
Zend/zend_interfaces.c Zend/zend_modules.h Zend/zend_object_handlers.c Zend/zend_vm_def.h Zend/zend_vm_execute.h Zend/zend_vm_gen.php
Zend/zend_vm_opcodes.h configure
| From: | Pierre Joye | Date: | Sun, 30 Mar 2014 08:46:04 +0000 |
| Subject: | Re: del php-src: NEWS UPGRADING UPGRADING.INTERNALS Zend/zend.c Zend/zend.h Zend/zend_API.c Zend/zend_API.h Zend/zend_alloc.c Zend/zend_alloc.h Zend/zend_ast.c Zend/zend_execute.h Zend/zend_execute_API.c Zend/zend_extensions.c Zend/zend_extensions.h Zend/zend_indent.c Zend/zend_indent.h Zend/zend_interfaces.c Zend/zend_modules.h Zend/zend_object_handlers.c Zend/zend_vm_def.h Zend/zend_vm_execute.h Zend/zend_vm_gen.php Zend/zend_vm_opcodes.h configure |
||
| References: | 1 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-76615@lists.php.net to get a copy of this message | ||
hi,
While testing 5.6+ with non core extensions, I notice that the
upgrading guide for internals is not updated.
the following part should be moved there as UPGRADING is only for
userland changes:
+ The pass_rest_by_reference argument of the ZEND_BEGIN_ARG_INFO and
+ ZEND_BEGIN_ARG_INFO_EX() is no longer used. The value passed to it
is ignored.
+
+ Instead a variadic argument is created using ZEND_ARG_VARIADIC_INFO():
+
+ ZEND_ARG_VARIADIC_INFO(0, name) /* pass rest by value */
+ ZEND_ARG_VARIADIC_INFO(1, name) /* pass rest by reference */
+ ZEND_ARG_VARIADIC_INFO(ZEND_SEND_PREFER_REF, name)
+ /* pass rest by prefer-ref */
+
+ ZEND_ARG_VARIADIC_INFO() should only be used for the last argument.
+
+ The following changes were applied to the zend_arg_info struct:
+
+ typedef struct _zend_arg_info {
+ const char *class_name;
+ zend_uint class_name_len;
+ zend_uchar type_hint;
+ + zend_uchar pass_by_reference;
+ zend_bool allow_null;
+ - zend_bool pass_by_reference;
+ + zend_bool is_variadic;
+ } zend_arg_info;
+
+ The following changes were applied to the zend_internal_function_info struct:
+
+ typedef struct _zend_internal_function_info {
+ zend_uint required_num_args;
+ zend_uchar _type_hint;
+ zend_bool return_reference;
+ - zend_bool pass_rest_by_reference;
+ + zend_bool _allow_null;
+ + zend_bool _is_variadic;
+ } zend_internal_function_info;
+
+ The CHECK_ARG_SEND_TYPE(), ARG_MUST_BE_SENT_BY_REF(),
+ ARG_SHOULD_BE_SENT_BY_REF() and ARG_MAY_BE_SENT_BY_REF() macros now assume
+ that the argument passed to them is a zend_function* and that it is non-NULL.
Thanks!
On Sat, Jan 18, 2014 at 1:54 PM, Johannes Schlüter <johannes@php.net> wrote:
> Branch: PHP-5.6
> Deleted commits count: 271
> User: Johannes Schlüter <johannes@php.net> Sat, 18 Jan 2014 12:54:11 +0000
>
> Changed paths:
> M NEWS
> M UPGRADING
> M UPGRADING.INTERNALS
> M Zend/zend.c
> M Zend/zend.h
> M Zend/zend_API.c
> M Zend/zend_API.h
> M Zend/zend_alloc.c
> M Zend/zend_alloc.h
> M Zend/zend_ast.c
> M Zend/zend_execute.h
> M Zend/zend_execute_API.c
> M Zend/zend_extensions.c
> M Zend/zend_extensions.h
> M Zend/zend_indent.c
> M Zend/zend_indent.h
> M Zend/zend_interfaces.c
> M Zend/zend_modules.h
> 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_opcodes.h
> M configure.in
> M ext/date/lib/parse_date.re
> M ext/date/lib/parse_iso_intervals.re
> M ext/dba/dba_inifile.c
> M ext/dba/libinifile/inifile.c
> M ext/dba/libinifile/inifile.h
> D ext/dba/tests/bug62490.phpt
> M ext/dba/tests/dba_db4_003.phpt
> M ext/dba/tests/dba_db4_007.phpt
> A ext/dba/tests/dba_db4_010.phpt
> M ext/dba/tests/dba_handler.inc
> M ext/dba/tests/dba_inifile.phpt
> M ext/dba/tests/dba_tcadb.phpt
> M ext/dom/php_dom.c
> M ext/gd/libgd/gdft.c
> M ext/json/json.c
> D ext/libxml/tests/libxml_disable_entity_loader.phpt
> D ext/libxml/tests/libxml_disable_entity_loader_payload.txt
> M ext/mysqlnd/mysqlnd_net.c
> M ext/mysqlnd/mysqlnd_ps_codec.c
> M ext/opcache/Optimizer/block_pass.c
> M ext/opcache/Optimizer/pass2.c
> M ext/opcache/ZendAccelerator.c
> M ext/opcache/ZendAccelerator.h
> M ext/opcache/zend_accelerator_module.c
> M ext/opcache/zend_accelerator_module.h
> M ext/openssl/xp_ssl.c
> M ext/pcntl/pcntl.c
> M ext/soap/php_encoding.c
> M ext/spl/spl_array.c
> M ext/spl/spl_directory.c
> M ext/spl/spl_fixedarray.c
> M ext/spl/spl_iterators.c
> M ext/standard/array.c
> M ext/standard/basic_functions.c
> M ext/standard/ftp_fopen_wrapper.c
> M ext/standard/http_fopen_wrapper.c
> M ext/standard/type.c
> M ext/xsl/php_xsl.c
> M main/SAPI.c
> M main/SAPI.h
> M main/main.c
> M main/php.h
> M main/php_content_types.c
> M main/php_globals.h
> M main/php_ini.c
> M main/php_ticks.c
> M main/php_ticks.h
> M main/php_variables.c
> M main/php_version.h
> M main/streams/php_stream_context.h
> M main/streams/streams.c
> M main/streams/transports.c
> M main/streams/userspace.c
> M php.ini-development
> M php.ini-production
> M sapi/apache/mod_php5.c
> M sapi/apache2filter/sapi_apache2.c
> M sapi/apache2handler/sapi_apache2.c
> M sapi/apache_hooks/mod_php5.c
> M sapi/apache_hooks/php_apache.c
> M sapi/caudium/caudium.c
> M sapi/cgi/cgi_main.c
> M sapi/cli/php_cli.c
> M sapi/cli/php_cli_server.c
> M sapi/continuity/capi.c
> M sapi/embed/php_embed.c
> M sapi/fpm/fpm/fpm_main.c
> M sapi/litespeed/lsapi_main.c
> M sapi/litespeed/lsapilib.c
> M sapi/milter/php_milter.c
> M sapi/nsapi/nsapi.c
> M sapi/pi3web/pi3web_sapi.c
> M sapi/roxen/roxen.c
> M sapi/thttpd/thttpd.c
> M sapi/tux/php_tux.c
> A tests/basic/024.phpt
> A tests/basic/024_1.phpt
> A tests/basic/026.phpt
> A tests/basic/026_1.phpt
>
>
> --
> PHP CVS Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
--
Pierre
@pierrejoye | http://www.libgd.org