This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c | |
index 90d36b1..4a54c56 100644 | |
--- a/Zend/zend_compile.c | |
+++ b/Zend/zend_compile.c | |
@@ -2799,6 +2799,36 @@ static int zend_do_convert_type_check(zend_op *init_opline, znode *result, zend_ | |
} | |
/* }}} */ | |
+static int zend_do_convert_defined(zend_op *init_opline, znode *result TSRMLS_DC) /* {{{ */ | |
+{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c | |
index 025e8fa..fa86472 100644 | |
--- a/Zend/zend_opcode.c | |
+++ b/Zend/zend_opcode.c | |
@@ -655,7 +655,7 @@ static void zend_resolve_finally_calls(zend_op_array *op_array TSRMLS_DC) | |
ZEND_API int pass_two(zend_op_array *op_array TSRMLS_DC) | |
{ | |
- zend_op *opline, *end; | |
+ zend_op *opline, *end, *fast_call = NULL; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h | |
index 2a3d58e..e6e30f3 100644 | |
--- a/Zend/zend_compile.h | |
+++ b/Zend/zend_compile.h | |
@@ -843,6 +843,9 @@ int zend_add_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC); | |
#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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c | |
index 5b35233..dbba222 100644 | |
--- a/Zend/zend_compile.c | |
+++ b/Zend/zend_compile.c | |
@@ -429,8 +429,8 @@ static int zend_add_class_name_literal(zend_op_array *op_array, zend_string *nam | |
ret = zend_add_literal(op_array, &zv TSRMLS_CC); | |
- lc_name = STR_ALLOC(name->len, 0); | |
- zend_str_tolower_copy(lc_name->val, name->val, name->len); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_extensions.c b/Zend/zend_extensions.c | |
index 4728434..7e63f19 100644 | |
--- a/Zend/zend_extensions.c | |
+++ b/Zend/zend_extensions.c | |
@@ -105,6 +105,14 @@ int zend_load_extension(const char *path TSRMLS_DC) | |
#endif | |
DL_UNLOAD(handle); | |
return FAILURE; | |
+ } else if (zend_get_extension(new_extension->name)) { | |
+ fprintf(stderr, "Cannot load %s - it was already loade\n", new_extension->name); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c | |
index 5d3ee24..a8bfdb1 100644 | |
--- a/Zend/zend_compile.c | |
+++ b/Zend/zend_compile.c | |
@@ -2281,8 +2281,6 @@ void zend_compile_assign(znode *result, zend_ast *ast TSRMLS_DC) /* {{{ */ | |
opline->opcode = ZEND_ASSIGN_DIM; | |
opline = zend_emit_op_data(&expr_node TSRMLS_CC); | |
- opline->op2.var = get_temporary_variable(CG(active_op_array)); | |
- opline->op2_type = IS_VAR; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c | |
index 03e913c..df918e4 100644 | |
--- a/Zend/zend_operators.c | |
+++ b/Zend/zend_operators.c | |
@@ -1525,36 +1525,40 @@ ZEND_API int add_string_to_string(zval *result, const zval *op1, const zval *op2 | |
ZEND_API int concat_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {{{ */ | |
{ | |
- zval op1_copy, op2_copy; | |
+ zend_string *op1_str, *op2_str; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_hash.h b/Zend/zend_hash.h | |
index 5bdfa70..1a3224c 100644 | |
--- a/Zend/zend_hash.h | |
+++ b/Zend/zend_hash.h | |
@@ -769,6 +769,26 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht, | |
#define ZEND_HASH_FOREACH_CURRENT_VAL(ht, _val) \ | |
_val = _z; | |
+#define ZEND_HASH_PACKED_PUSH_START(ht) do { \ | |
+ uint32_t __idx = 0; \ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend.c b/Zend/zend.c | |
index 942b0a0..14af9d4 100644 | |
--- a/Zend/zend.c | |
+++ b/Zend/zend.c | |
@@ -551,7 +551,7 @@ static zend_bool php_auto_globals_create_globals(zend_string *name) /* {{{ */ | |
ZVAL_ARR(&globals, &EG(symbol_table)); | |
ZVAL_NEW_REF(&globals, &globals); | |
- zend_hash_update(&EG(symbol_table).ht, name, &globals); | |
+ zend_hash_update(&EG(symbol_table), name, &globals); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ cat ext/standard/tests/array/array_multisort_variation7.log | |
---- EXPECTED OUTPUT | |
*** Testing array_multisort() : usage variation - test sort order of all types*** | |
bool(true) | |
array(10) { | |
["empty string DQ"]=> | |
string(0) "" | |
["int 0"]=> | |
int(0) |