com php-src: Merge remote-tracking branch 'origin/master' into phpng: Zend/zend_compile.h Zend/zend_opcode.c Zend/zend_ vm_def.h
Zend/zend_vm_execute.h ext/date/php_da te.c ext/mysqli/mysqli.c ext/mysqlnd/mysqlnd.c ext/ mysqlnd/mysqlnd_net.c ext/openssl/xp_ssl.c main/rfc 1867.c
| From: | Xinchen Hui | Date: | Fri, 18 Jul 2014 08:25:43 +0000 |
| Subject: | com php-src: Merge remote-tracking branch 'origin/master' into phpng: Zend/zend_compile.h Zend/zend_opcode.c Zend/zend_ vm_def.h Zend/zend_vm_execute.h ext/date/php_da te.c ext/mysqli/mysqli.c ext/mysqlnd/mysqlnd.c ext/ mysqlnd/mysqlnd_net.c ext/openssl/xp_ssl.c main/rfc 1867.c |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-79502@lists.php.net to get a copy of this message | ||
Commit: 110bf9c720d02b49a1a5d0c6e8affe65f9aa01db
Author: Xinchen Hui <laruence@php.net> Fri, 18 Jul 2014 15:52:52 +0800
Parents: 4e378844abbfbc7fec88d063ee0bf2e9026b6b6a f6f621ef69a5a9bf20e94c2714bdebae73860927
Branches: phpng
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=110bf9c720d02b49a1a5d0c6e8affe65f9aa01db
Log:
Merge remote-tracking branch 'origin/master' into phpng
Conflicts:
Zend/zend_compile.h
ext/openssl/xp_ssl.c
Changed paths:
MM Zend/zend_compile.h
MM Zend/zend_opcode.c
MM Zend/zend_vm_def.h
MM Zend/zend_vm_execute.h
MM ext/date/php_date.c
MM ext/mysqli/mysqli.c
MM ext/mysqlnd/mysqlnd.c
MM ext/mysqlnd/mysqlnd_net.c
MM ext/openssl/xp_ssl.c
MM main/rfc1867.c
Diff:
diff --cc Zend/zend_compile.h
index 3124c35,b4ecf6f..a838a58
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@@ -840,10 -864,9 +840,13 @@@ int zend_add_literal(zend_op_array *op_
#define ZEND_FAST_RET_TO_CATCH 1
#define ZEND_FAST_RET_TO_FINALLY 2
+ #define ZEND_FAST_CALL_FOR_CATCH 1
+ #define ZEND_FAST_CALL_FOR_FINALLY 2
+
+#define ZEND_ARRAY_ELEMENT_REF (1<<0)
+#define ZEND_ARRAY_NOT_PACKED (1<<1)
+#define ZEND_ARRAY_SIZE_SHIFT 2
+
END_EXTERN_C()
#define ZEND_CLONE_FUNC_NAME "__clone"
diff --cc Zend/zend_vm_def.h
index b9c45fe,c3ca1c1..618f9026
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@@ -5757,13 -5625,13 +5757,13 @@@ ZEND_VM_HANDLER(162, ZEND_FAST_CALL, AN
{
USE_OPLINE
- if (opline->extended_value &&
+ if ((opline->extended_value & ZEND_FAST_CALL_FOR_CATCH) &&
UNEXPECTED(EG(prev_exception) != NULL)) {
/* in case of unhandled exception jump to catch block instead of finally */
- ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]);
+ ZEND_VM_SET_OPCODE(&EX(func)->op_array.opcodes[opline->op2.opline_num]);
ZEND_VM_CONTINUE();
}
- EX(fast_ret) = opline + 1;
+ EX(fast_ret) = opline;
EX(delayed_exception) = NULL;
ZEND_VM_SET_OPCODE(opline->op1.jmp_addr);
ZEND_VM_CONTINUE();
@@@ -5772,7 -5640,10 +5772,10 @@@
ZEND_VM_HANDLER(163, ZEND_FAST_RET, ANY, ANY)
{
if (EX(fast_ret)) {
- ZEND_VM_SET_OPCODE(EX(fast_ret));
+ ZEND_VM_SET_OPCODE(EX(fast_ret) + 1);
+ if ((EX(fast_ret)->extended_value & ZEND_FAST_CALL_FOR_FINALLY)) {
- EX(fast_ret) = &EX(op_array)->opcodes[EX(fast_ret)->op2.opline_num];
++ EX(fast_ret) = &EX(func)->op_array.opcodes[EX(fast_ret)->op2.opline_num];
+ }
ZEND_VM_CONTINUE();
} else {
/* special case for unhandled exceptions */
diff --cc Zend/zend_vm_execute.h
index 214ab51,4f47bb1..c6c8f8e
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@@ -1466,13 -1344,13 +1466,13 @@@ static int ZEND_FASTCALL ZEND_FAST_CAL
{
USE_OPLINE
- if (opline->extended_value &&
+ if ((opline->extended_value & ZEND_FAST_CALL_FOR_CATCH) &&
UNEXPECTED(EG(prev_exception) != NULL)) {
/* in case of unhandled exception jump to catch block instead of finally */
- ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]);
+ ZEND_VM_SET_OPCODE(&EX(func)->op_array.opcodes[opline->op2.opline_num]);
ZEND_VM_CONTINUE();
}
- EX(fast_ret) = opline + 1;
+ EX(fast_ret) = opline;
EX(delayed_exception) = NULL;
ZEND_VM_SET_OPCODE(opline->op1.jmp_addr);
ZEND_VM_CONTINUE();
@@@ -1481,7 -1359,10 +1481,10 @@@
static int ZEND_FASTCALL ZEND_FAST_RET_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
if (EX(fast_ret)) {
- ZEND_VM_SET_OPCODE(EX(fast_ret));
+ ZEND_VM_SET_OPCODE(EX(fast_ret) + 1);
+ if ((EX(fast_ret)->extended_value & ZEND_FAST_CALL_FOR_FINALLY)) {
- EX(fast_ret) = &EX(op_array)->opcodes[EX(fast_ret)->op2.opline_num];
++ EX(fast_ret) = &EX(func)->op_array.opcodes[EX(fast_ret)->op2.opline_num];
+ }
ZEND_VM_CONTINUE();
} else {
/* special case for unhandled exceptions */
diff --cc ext/openssl/xp_ssl.c
index 587de6c,9fbbb6d..bf72fed
--- a/ext/openssl/xp_ssl.c
+++ b/ext/openssl/xp_ssl.c
@@@ -1157,12 -1166,14 +1157,13 @@@ static int set_server_specific_opts(php
ssl_ctx_options |= SSL_OP_SINGLE_DH_USE;
}
+ #ifdef HAVE_ECDH
- if (SUCCESS == php_stream_context_get_option(
- stream->context, "ssl", "single_ecdh_use", &val) &&
- zend_is_true(*val TSRMLS_CC)
- ) {
+ if (NULL != (val = php_stream_context_get_option(
+ stream->context, "ssl", "single_ecdh_use")) &&
- zend_is_true(val TSRMLS_CC)
- ) {
++ zend_is_true(val TSRMLS_CC)) {
ssl_ctx_options |= SSL_OP_SINGLE_ECDH_USE;
}
+ #endif
SSL_CTX_set_options(ctx, ssl_ctx_options);