com php-src: Merge remote-tracking branch 'origin/PHP-5.6' into str_size_and_int64_56_backport: Zend/zend _compile.c Zend/zend_compile.h
Zend/zend_execute .c Zend/zend_language_parser.y Zend/zend_vm_def .h Zend/zend_vm_execute.h
| From: | Anatol Belski | Date: | Wed, 26 Feb 2014 18:17:23 +0000 |
| Subject: | com php-src: Merge remote-tracking branch 'origin/PHP-5.6' into str_size_and_int64_56_backport: Zend/zend _compile.c Zend/zend_compile.h Zend/zend_execute .c Zend/zend_language_parser.y Zend/zend_vm_def .h Zend/zend_vm_execute.h |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-76235@lists.php.net to get a copy of this message | ||
Commit: 8647f4e7f58508a7b777923f7db4836552a95fef
Author: Anatol Belski <ab@php.net> Wed, 26 Feb 2014 19:17:23 +0100
Parents: d753db3a817abda43d4fcae19e8ae4aa38050f8b 96d0bb7bcab6bba97838bff6178b5f9d25c955cc
Branches: str_size_and_int64_56_backport
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=8647f4e7f58508a7b777923f7db4836552a95fef
Log:
Merge remote-tracking branch 'origin/PHP-5.6' into str_size_and_int64_56_backport
* origin/PHP-5.6:
Update stack size in tests/func/010.phpt
Don't add num_additional_args in SEND opcodes
Disallow use of positional args after unpacking
Store arg_num in fcall entry
Introduce zend_function_call_entry structure
Conflicts:
Zend/zend_compile.c
Zend/zend_language_parser.y
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
Changed paths:
MM Zend/zend_compile.c
MM Zend/zend_compile.h
MM Zend/zend_execute.c
MM Zend/zend_language_parser.y
MM Zend/zend_vm_def.h
MM Zend/zend_vm_execute.h
Diff:
diff --cc Zend/zend_compile.c
index bfd77ca,1bcd430...5686c21
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@@ -2554,16 -2560,13 +2560,13 @@@ void zend_do_end_function_call(znode *f
if (is_method && function_name && function_name->op_type == IS_UNUSED) {
/* clone */
- if (Z_IVAL(argument_list->u.constant) != 0) {
+ if (fcall->arg_num != 0) {
zend_error(E_WARNING, "Clone method does not require arguments");
}
- opline = &CG(active_op_array)->opcodes[Z_LVAL(function_name->u.constant)];
+ opline = &CG(active_op_array)->opcodes[Z_IVAL(function_name->u.constant)];
} else {
- zend_function **function_ptr_ptr;
- zend_stack_top(&CG(function_call_stack), (void **) &function_ptr_ptr);
-
opline = get_next_op(CG(active_op_array) TSRMLS_CC);
- if (*function_ptr_ptr) {
+ if (fcall->fbc) {
opline->opcode = ZEND_DO_FCALL;
SET_NODE(opline->op1, function_name);
SET_UNUSED(opline->op2);
diff --cc Zend/zend_language_parser.y
index 8fc960a,d384454..0fde1a6
--- a/Zend/zend_language_parser.y
+++ b/Zend/zend_language_parser.y
@@@ -578,9 -578,9 +578,9 @@@ optional_class_type
function_call_parameter_list:
- '(' ')' { Z_LVAL($$.u.constant) = 0; }
+ '(' ')' { Z_IVAL($$.u.constant) = 0; }
| '(' non_empty_function_call_parameter_list ')' { $$ = $2; }
- | '(' yield_expr ')' { Z_IVAL($$.u.constant) = 1; zend_do_pass_param(&$2,
ZEND_SEND_VAL, Z_IVAL($$.u.constant) TSRMLS_CC); }
+ | '(' yield_expr ')' { zend_do_pass_param(&$2, ZEND_SEND_VAL TSRMLS_CC);
}
;