diff options
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r-- | Zend/zend_execute.c | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 9e4f0baf0a..60b7d8b211 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -2000,96 +2000,6 @@ use_read_property: } } -static zend_always_inline zval* zend_fetch_static_property_address(zval *varname, zend_uchar varname_type, znode_op op2, zend_uchar op2_type, int type EXECUTE_DATA_DC OPLINE_DC) -{ - zval *retval; - zend_string *name, *tmp_name; - zend_class_entry *ce; - - if (varname_type == IS_CONST) { - name = Z_STR_P(varname); - } else if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) { - name = Z_STR_P(varname); - tmp_name = NULL; - } else { - if (varname_type == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) { - zval_undefined_cv(EX(opline)->op1.var EXECUTE_DATA_CC); - } - name = zval_get_tmp_string(varname, &tmp_name); - } - - if (op2_type == IS_CONST) { - if (varname_type == IS_CONST && EXPECTED((ce = CACHED_PTR(Z_CACHE_SLOT_P(varname))) != NULL)) { - retval = CACHED_PTR(Z_CACHE_SLOT_P(varname) + sizeof(void*)); - - /* check if static properties were destoyed */ - if (UNEXPECTED(CE_STATIC_MEMBERS(ce) == NULL)) { - if (type != BP_VAR_IS) { - zend_throw_error(NULL, "Access to undeclared static property: %s::$%s", ZSTR_VAL(ce->name), ZSTR_VAL(name)); - } - return NULL; - } - - return retval; - } else { - zval *class_name = RT_CONSTANT(opline, op2); - - if (UNEXPECTED((ce = CACHED_PTR(Z_CACHE_SLOT_P(class_name))) == NULL)) { - ce = zend_fetch_class_by_name(Z_STR_P(class_name), class_name + 1, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION); - if (UNEXPECTED(ce == NULL)) { - if (varname_type != IS_CONST) { - zend_tmp_string_release(tmp_name); - } - return NULL; - } - CACHE_PTR(Z_CACHE_SLOT_P(class_name), ce); - } - } - } else { - if (op2_type == IS_UNUSED) { - ce = zend_fetch_class(NULL, op2.num); - if (UNEXPECTED(ce == NULL)) { - if (varname_type != IS_CONST) { - zend_tmp_string_release(tmp_name); - } - return NULL; - } - } else { - ce = Z_CE_P(EX_VAR(op2.var)); - } - if (varname_type == IS_CONST && - EXPECTED(CACHED_PTR(Z_CACHE_SLOT_P(varname)) == ce)) { - retval = CACHED_PTR(Z_CACHE_SLOT_P(varname) + sizeof(void*)); - - /* check if static properties were destoyed */ - if (UNEXPECTED(CE_STATIC_MEMBERS(ce) == NULL)) { - if (type != BP_VAR_IS) { - zend_throw_error(NULL, "Access to undeclared static property: %s::$%s", ZSTR_VAL(ce->name), ZSTR_VAL(name)); - } - return NULL; - } - - return retval; - } - } - - retval = zend_std_get_static_property(ce, name, type == BP_VAR_IS); - - if (varname_type != IS_CONST) { - zend_tmp_string_release(tmp_name); - } - - if (UNEXPECTED(retval == NULL)) { - return NULL; - } - - if (varname_type == IS_CONST) { - CACHE_POLYMORPHIC_PTR(Z_CACHE_SLOT_P(varname), ce, retval); - } - - return retval; -} - #if ZEND_INTENSIVE_DEBUGGING #define CHECK_SYMBOL_TABLES() \ |