mirror of
https://github.com/php/php-src.git
synced 2026-03-30 04:02:19 +02:00
Merge branch 'PHP-7.1'
* PHP-7.1: op_arrays may be optimized independetly and "script" might be NULL
This commit is contained in:
@@ -2350,7 +2350,7 @@ static inline zend_uchar get_compound_assign_op(zend_uchar opcode) {
|
||||
}
|
||||
|
||||
static inline zend_class_entry *get_class_entry(const zend_script *script, zend_string *lcname) {
|
||||
zend_class_entry *ce = zend_hash_find_ptr(&script->class_table, lcname);
|
||||
zend_class_entry *ce = script ? zend_hash_find_ptr(&script->class_table, lcname) : NULL;
|
||||
if (ce) {
|
||||
return ce;
|
||||
}
|
||||
@@ -2943,7 +2943,7 @@ static void zend_update_type_info(const zend_op_array *op_array,
|
||||
case ZEND_DECLARE_ANON_CLASS:
|
||||
case ZEND_DECLARE_ANON_INHERITED_CLASS:
|
||||
UPDATE_SSA_TYPE(MAY_BE_CLASS, ssa_ops[i].result_def);
|
||||
if ((ce = zend_hash_find_ptr(&script->class_table, Z_STR_P(CRT_CONSTANT_EX(op_array, opline->op1, ssa->rt_constants)))) != NULL) {
|
||||
if (script && (ce = zend_hash_find_ptr(&script->class_table, Z_STR_P(CRT_CONSTANT_EX(op_array, opline->op1, ssa->rt_constants)))) != NULL) {
|
||||
UPDATE_SSA_OBJ_TYPE(ce, 0, ssa_ops[i].result_def);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -500,7 +500,7 @@ static void place_essa_pis(
|
||||
(opline-1)->op2_type == IS_CONST) {
|
||||
int var = EX_VAR_TO_NUM((opline-1)->op1.var);
|
||||
zend_string *lcname = Z_STR_P(CRT_CONSTANT((opline-1)->op2) + 1);
|
||||
zend_class_entry *ce = zend_hash_find_ptr(&script->class_table, lcname);
|
||||
zend_class_entry *ce = script ? zend_hash_find_ptr(&script->class_table, lcname) : NULL;
|
||||
if (!ce) {
|
||||
ce = zend_hash_find_ptr(CG(class_table), lcname);
|
||||
if (!ce || ce->type != ZEND_INTERNAL_CLASS) {
|
||||
|
||||
Reference in New Issue
Block a user