|
|
|
@ -1423,7 +1423,6 @@ static int ZEND_FASTCALL ZEND_BRK_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) |
|
|
|
SAVE_OPLINE(); |
|
|
|
el = zend_brk_cont(Z_LVAL_P(opline->op2.zv), opline->op1.opline_num, |
|
|
|
EX(op_array), execute_data TSRMLS_CC); |
|
|
|
|
|
|
|
ZEND_VM_JMP(EX(op_array)->opcodes + el->brk); |
|
|
|
} |
|
|
|
|
|
|
|
@ -1435,7 +1434,6 @@ static int ZEND_FASTCALL ZEND_CONT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) |
|
|
|
SAVE_OPLINE(); |
|
|
|
el = zend_brk_cont(Z_LVAL_P(opline->op2.zv), opline->op1.opline_num, |
|
|
|
EX(op_array), execute_data TSRMLS_CC); |
|
|
|
|
|
|
|
ZEND_VM_JMP(EX(op_array)->opcodes + el->cont); |
|
|
|
} |
|
|
|
|
|
|
|
@ -3540,9 +3538,11 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CONST_HANDLER( |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -3714,9 +3714,11 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_CONST_CONST_HANDLER(ZEND_OPCO |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -3901,15 +3903,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HA |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_CONST != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
|
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -4533,9 +4537,11 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_TMP_HANDLER(ZE |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -5395,9 +5401,11 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_VAR_HANDLER(ZE |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -5662,15 +5670,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_HAND |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_CONST != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
|
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -6113,9 +6123,11 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_UNUSED_HANDLER |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -6362,15 +6374,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_CONST_UNUSED_HANDLER(ZEND_OPCODE_H |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_CONST != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
|
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -6972,9 +6986,11 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CV_HANDLER(ZEN |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -9170,15 +9186,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_HAND |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_TMP_VAR != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
zval_dtor(free_op1.var); |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -10899,15 +10917,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HANDLE |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_TMP_VAR != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
zval_dtor(free_op1.var); |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -11478,15 +11498,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_TMP_UNUSED_HANDLER(ZEND_OPCODE_HAN |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_TMP_VAR != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
zval_dtor(free_op1.var); |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -15411,9 +15433,11 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CONST_HANDLER(ZE |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -15585,9 +15609,11 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -15772,15 +15798,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HAND |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_VAR != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -17763,9 +17791,11 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_TMP_HANDLER(ZEND |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -20079,9 +20109,11 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_VAR_HANDLER(ZEND |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -20346,15 +20378,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLE |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_VAR != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -21516,9 +21550,11 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_UNUSED_HANDLER(Z |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -21765,15 +21801,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_VAR_UNUSED_HANDLER(ZEND_OPCODE_HAN |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_VAR != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -23532,9 +23570,11 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CV_HANDLER(ZEND_ |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -25206,9 +25246,11 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_UNUSED_CONST_HANDLER(ZEND_OPC |
|
|
|
ce = CACHED_PTR(opline->op1.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op1.zv), Z_STRLEN_P(opline->op1.zv), opline->op1.literal + 1, opline->extended_value TSRMLS_CC); |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op1.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op1.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -33023,15 +33065,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDL |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_CV != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
|
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -37324,15 +37368,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_CV != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
|
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
@ -38614,15 +38660,17 @@ static int ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HAND |
|
|
|
ce = CACHED_PTR(opline->op2.literal->cache_slot); |
|
|
|
} else { |
|
|
|
ce = zend_fetch_class_by_name(Z_STRVAL_P(opline->op2.zv), Z_STRLEN_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC); |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
if (UNEXPECTED(EG(exception) != NULL)) { |
|
|
|
if (IS_CV != IS_CONST && varname == &tmp) { |
|
|
|
zval_dtor(&tmp); |
|
|
|
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) { |
|
|
|
zval_ptr_dtor(&varname); |
|
|
|
} |
|
|
|
|
|
|
|
CHECK_EXCEPTION(); |
|
|
|
ZEND_VM_NEXT_OPCODE(); |
|
|
|
HANDLE_EXCEPTION(); |
|
|
|
} |
|
|
|
if (UNEXPECTED(ce == NULL)) { |
|
|
|
zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL_P(opline->op2.zv)); |
|
|
|
} |
|
|
|
CACHE_PTR(opline->op2.literal->cache_slot, ce); |
|
|
|
} |
|
|
|
|