mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Fixed signed/unsigned comparisons
This commit is contained in:
parent
ffc734b2a4
commit
6a034be2c6
5 changed files with 144 additions and 144 deletions
|
@ -1883,7 +1883,7 @@ static zend_always_inline void zend_fetch_property_address(zval *result, zval *c
|
|||
}
|
||||
if (prop_op_type == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(container) == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
zend_object *zobj = Z_OBJ_P(container);
|
||||
zval *retval;
|
||||
|
||||
|
|
|
@ -286,7 +286,7 @@ static zend_always_inline zend_bool is_derived_class(zend_class_entry *child_cla
|
|||
}
|
||||
/* }}} */
|
||||
|
||||
static zend_always_inline intptr_t zend_get_property_offset(zend_class_entry *ce, zend_string *member, int silent, void **cache_slot) /* {{{ */
|
||||
static zend_always_inline uintptr_t zend_get_property_offset(zend_class_entry *ce, zend_string *member, int silent, void **cache_slot) /* {{{ */
|
||||
{
|
||||
zval *zv;
|
||||
zend_property_info *property_info = NULL;
|
||||
|
@ -294,7 +294,7 @@ static zend_always_inline intptr_t zend_get_property_offset(zend_class_entry *ce
|
|||
zend_class_entry *scope;
|
||||
|
||||
if (cache_slot && EXPECTED(ce == CACHED_PTR_EX(cache_slot))) {
|
||||
return (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
return (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(ZSTR_VAL(member)[0] == '\0' && ZSTR_LEN(member) != 0)) {
|
||||
|
@ -365,7 +365,7 @@ exit_dynamic:
|
|||
|
||||
exit:
|
||||
if (cache_slot) {
|
||||
CACHE_POLYMORPHIC_PTR_EX(cache_slot, ce, (void*)(intptr_t)property_info->offset);
|
||||
CACHE_POLYMORPHIC_PTR_EX(cache_slot, ce, (void*)(uintptr_t)property_info->offset);
|
||||
}
|
||||
return property_info->offset;
|
||||
}
|
||||
|
@ -544,7 +544,7 @@ zval *zend_std_read_property(zval *object, zval *member, int type, void **cache_
|
|||
zend_object *zobj;
|
||||
zval tmp_member;
|
||||
zval *retval;
|
||||
intptr_t property_offset;
|
||||
uintptr_t property_offset;
|
||||
|
||||
zobj = Z_OBJ_P(object);
|
||||
|
||||
|
@ -570,7 +570,7 @@ zval *zend_std_read_property(zval *object, zval *member, int type, void **cache_
|
|||
} else if (EXPECTED(IS_DYNAMIC_PROPERTY_OFFSET(property_offset))) {
|
||||
if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(property_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(property_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(property_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -590,7 +590,7 @@ zval *zend_std_read_property(zval *object, zval *member, int type, void **cache_
|
|||
retval = zend_hash_find(zobj->properties, Z_STR_P(member));
|
||||
if (EXPECTED(retval)) {
|
||||
if (cache_slot) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
}
|
||||
goto exit;
|
||||
|
@ -672,7 +672,7 @@ ZEND_API void zend_std_write_property(zval *object, zval *member, zval *value, v
|
|||
zend_object *zobj;
|
||||
zval tmp_member;
|
||||
zval *variable_ptr;
|
||||
intptr_t property_offset;
|
||||
uintptr_t property_offset;
|
||||
|
||||
zobj = Z_OBJ_P(object);
|
||||
|
||||
|
@ -850,7 +850,7 @@ static zval *zend_std_get_property_ptr_ptr(zval *object, zval *member, int type,
|
|||
zend_object *zobj;
|
||||
zend_string *name;
|
||||
zval *retval = NULL;
|
||||
intptr_t property_offset;
|
||||
uintptr_t property_offset;
|
||||
|
||||
zobj = Z_OBJ_P(object);
|
||||
if (EXPECTED(Z_TYPE_P(member) == IS_STRING)) {
|
||||
|
@ -921,7 +921,7 @@ static void zend_std_unset_property(zval *object, zval *member, void **cache_slo
|
|||
{
|
||||
zend_object *zobj;
|
||||
zval tmp_member;
|
||||
intptr_t property_offset;
|
||||
uintptr_t property_offset;
|
||||
|
||||
zobj = Z_OBJ_P(object);
|
||||
|
||||
|
@ -1496,7 +1496,7 @@ static int zend_std_has_property(zval *object, zval *member, int has_set_exists,
|
|||
int result;
|
||||
zval *value = NULL;
|
||||
zval tmp_member;
|
||||
intptr_t property_offset;
|
||||
uintptr_t property_offset;
|
||||
|
||||
zobj = Z_OBJ_P(object);
|
||||
|
||||
|
@ -1517,7 +1517,7 @@ static int zend_std_has_property(zval *object, zval *member, int has_set_exists,
|
|||
} else if (EXPECTED(IS_DYNAMIC_PROPERTY_OFFSET(property_offset))) {
|
||||
if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(property_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(property_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(property_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -1537,7 +1537,7 @@ static int zend_std_has_property(zval *object, zval *member, int has_set_exists,
|
|||
value = zend_hash_find(zobj->properties, Z_STR_P(member));
|
||||
if (value) {
|
||||
if (cache_slot) {
|
||||
intptr_t idx = (char*)value - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)value - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
}
|
||||
found:
|
||||
|
|
|
@ -27,15 +27,15 @@ struct _zend_property_info;
|
|||
#define ZEND_WRONG_PROPERTY_INFO \
|
||||
((struct _zend_property_info*)((intptr_t)-1))
|
||||
|
||||
#define ZEND_DYNAMIC_PROPERTY_OFFSET ((intptr_t)(-1))
|
||||
#define ZEND_DYNAMIC_PROPERTY_OFFSET ((uintptr_t)(intptr_t)(-1))
|
||||
|
||||
#define IS_VALID_PROPERTY_OFFSET(offset) ((intptr_t)(offset) > 0)
|
||||
#define IS_WRONG_PROPERTY_OFFSET(offset) ((intptr_t)(offset) == 0)
|
||||
#define IS_DYNAMIC_PROPERTY_OFFSET(offset) ((intptr_t)(offset) < 0)
|
||||
|
||||
#define IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(offset) (offset == ZEND_DYNAMIC_PROPERTY_OFFSET)
|
||||
#define ZEND_DECODE_DYN_PROP_OFFSET(offset) (-(intptr_t)(offset) - 2)
|
||||
#define ZEND_ENCODE_DYN_PROP_OFFSET(offset) (-((intptr_t)(offset) + 2))
|
||||
#define ZEND_DECODE_DYN_PROP_OFFSET(offset) ((uintptr_t)(-(intptr_t)(offset) - 2))
|
||||
#define ZEND_ENCODE_DYN_PROP_OFFSET(offset) ((uintptr_t)(-((intptr_t)(offset) + 2)))
|
||||
|
||||
|
||||
/* The following rule applies to read_property() and read_dimension() implementations:
|
||||
|
|
|
@ -1792,7 +1792,7 @@ ZEND_VM_HANDLER(82, ZEND_FETCH_OBJ_R, CONST|TMP|VAR|UNUSED|THIS|CV, CONST|TMPVAR
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -1802,7 +1802,7 @@ ZEND_VM_HANDLER(82, ZEND_FETCH_OBJ_R, CONST|TMP|VAR|UNUSED|THIS|CV, CONST|TMPVAR
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -1821,7 +1821,7 @@ ZEND_VM_HANDLER(82, ZEND_FETCH_OBJ_R, CONST|TMP|VAR|UNUSED|THIS|CV, CONST|TMPVAR
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -1937,7 +1937,7 @@ ZEND_VM_HANDLER(91, ZEND_FETCH_OBJ_IS, CONST|TMPVAR|UNUSED|THIS|CV, CONST|TMPVAR
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -1947,7 +1947,7 @@ ZEND_VM_HANDLER(91, ZEND_FETCH_OBJ_IS, CONST|TMPVAR|UNUSED|THIS|CV, CONST|TMPVAR
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -1966,7 +1966,7 @@ ZEND_VM_HANDLER(91, ZEND_FETCH_OBJ_IS, CONST|TMPVAR|UNUSED|THIS|CV, CONST|TMPVAR
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -2126,7 +2126,7 @@ ZEND_VM_HANDLER(136, ZEND_ASSIGN_OBJ, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, SPEC(
|
|||
|
||||
if (OP2_TYPE == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -7567,7 +7567,7 @@ ZEND_VM_HOT_HANDLER(168, ZEND_BIND_GLOBAL, CV, CONST)
|
|||
zval *varname;
|
||||
zval *value;
|
||||
zval *variable_ptr;
|
||||
intptr_t idx;
|
||||
uintptr_t idx;
|
||||
zend_reference *ref;
|
||||
|
||||
ZEND_VM_REPEATABLE_OPCODE
|
||||
|
@ -7575,7 +7575,7 @@ ZEND_VM_HOT_HANDLER(168, ZEND_BIND_GLOBAL, CV, CONST)
|
|||
varname = GET_OP2_ZVAL_PTR(BP_VAR_R);
|
||||
|
||||
/* We store "hash slot index" + 1 (NULL is a mark of uninitialized cache slot) */
|
||||
idx = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(varname)) - 1;
|
||||
idx = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(varname)) - 1;
|
||||
if (EXPECTED(idx < EG(symbol_table).nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)EG(symbol_table).arData + idx);
|
||||
|
||||
|
|
|
@ -5017,7 +5017,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_CONST_H
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -5027,7 +5027,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_CONST_H
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -5046,7 +5046,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_CONST_H
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -5114,7 +5114,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CONST_
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -5124,7 +5124,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CONST_
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -5143,7 +5143,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CONST_
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -9107,7 +9107,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_CV_HAND
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -9117,7 +9117,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_CV_HAND
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -9136,7 +9136,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_CV_HAND
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -9204,7 +9204,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CV_HAN
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -9214,7 +9214,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CV_HAN
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -9233,7 +9233,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CV_HAN
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -11170,7 +11170,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_TMPVAR_
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -11180,7 +11180,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_TMPVAR_
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -11199,7 +11199,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_TMPVAR_
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -11268,7 +11268,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_TMPVAR
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -11278,7 +11278,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_TMPVAR
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -11297,7 +11297,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_TMPVAR
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -13695,7 +13695,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_CONST_HAN
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -13705,7 +13705,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_CONST_HAN
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -13724,7 +13724,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_CONST_HAN
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -15063,7 +15063,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_CV_HANDLE
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -15073,7 +15073,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_CV_HANDLE
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -15092,7 +15092,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_CV_HANDLE
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -15605,7 +15605,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_TMPVAR_HA
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -15615,7 +15615,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_TMPVAR_HA
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -15634,7 +15634,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_TMPVAR_HA
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -18434,7 +18434,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_CONST_HAN
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -18444,7 +18444,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_CONST_HAN
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -18463,7 +18463,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_CONST_HAN
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -18659,7 +18659,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CONST_OP_D
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -18817,7 +18817,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CONST_OP_D
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -18975,7 +18975,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CONST_OP_D
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -19133,7 +19133,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CONST_OP_D
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -22778,7 +22778,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_CV_HANDLE
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -22788,7 +22788,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_CV_HANDLE
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -22807,7 +22807,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_CV_HANDLE
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -23003,7 +23003,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CV_OP_DATA
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -23161,7 +23161,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CV_OP_DATA
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -23319,7 +23319,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CV_OP_DATA
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -23477,7 +23477,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CV_OP_DATA
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -25403,7 +25403,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_TMPVAR_HA
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -25413,7 +25413,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_TMPVAR_HA
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -25432,7 +25432,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_TMPVAR_HA
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -25629,7 +25629,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_TMPVAR_OP_
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -25787,7 +25787,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_TMPVAR_OP_
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -25945,7 +25945,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_TMPVAR_OP_
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -26103,7 +26103,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_TMPVAR_OP_
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -27479,7 +27479,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_CONST_
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -27489,7 +27489,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_CONST_
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -27508,7 +27508,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_CONST_
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -27623,7 +27623,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CONST
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -27633,7 +27633,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CONST
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -27652,7 +27652,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CONST
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -27798,7 +27798,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CONST_O
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -27956,7 +27956,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CONST_O
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -28114,7 +28114,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CONST_O
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -28272,7 +28272,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CONST_O
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -30137,7 +30137,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_CV_HAN
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -30147,7 +30147,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_CV_HAN
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -30166,7 +30166,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_CV_HAN
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -30281,7 +30281,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CV_HA
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -30291,7 +30291,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CV_HA
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -30310,7 +30310,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CV_HA
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -30456,7 +30456,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CV_OP_D
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -30614,7 +30614,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CV_OP_D
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -30772,7 +30772,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CV_OP_D
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -30930,7 +30930,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CV_OP_D
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -31897,7 +31897,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_TMPVAR
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -31907,7 +31907,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_TMPVAR
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -31926,7 +31926,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_TMPVAR
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -32042,7 +32042,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_TMPVA
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -32052,7 +32052,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_TMPVA
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -32071,7 +32071,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_TMPVA
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -32218,7 +32218,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_TMPVAR_
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -32376,7 +32376,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_TMPVAR_
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -32534,7 +32534,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_TMPVAR_
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -32692,7 +32692,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_TMPVAR_
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -36472,7 +36472,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_CONST_HAND
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -36482,7 +36482,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_CONST_HAND
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -36501,7 +36501,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_CONST_HAND
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -36616,7 +36616,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CONST_HAN
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -36626,7 +36626,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CONST_HAN
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -36645,7 +36645,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CONST_HAN
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -36804,7 +36804,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CONST_OP_DA
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -36962,7 +36962,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CONST_OP_DA
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -37120,7 +37120,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CONST_OP_DA
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -37278,7 +37278,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CONST_OP_DA
|
|||
|
||||
if (IS_CONST == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -38859,7 +38859,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BIND_GLOBAL_SPEC_C
|
|||
zval *varname;
|
||||
zval *value;
|
||||
zval *variable_ptr;
|
||||
intptr_t idx;
|
||||
uintptr_t idx;
|
||||
zend_reference *ref;
|
||||
|
||||
ZEND_VM_REPEATABLE_OPCODE
|
||||
|
@ -38867,7 +38867,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BIND_GLOBAL_SPEC_C
|
|||
varname = RT_CONSTANT(opline, opline->op2);
|
||||
|
||||
/* We store "hash slot index" + 1 (NULL is a mark of uninitialized cache slot) */
|
||||
idx = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(varname)) - 1;
|
||||
idx = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(varname)) - 1;
|
||||
if (EXPECTED(idx < EG(symbol_table).nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)EG(symbol_table).arData + idx);
|
||||
|
||||
|
@ -42952,7 +42952,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_CV_HANDLER
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -42962,7 +42962,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_CV_HANDLER
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -42981,7 +42981,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_CV_HANDLER
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -43096,7 +43096,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CV_HANDLE
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -43106,7 +43106,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CV_HANDLE
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -43125,7 +43125,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CV_HANDLE
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -43284,7 +43284,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CV_OP_DATA_
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -43442,7 +43442,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CV_OP_DATA_
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -43600,7 +43600,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CV_OP_DATA_
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -43758,7 +43758,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CV_OP_DATA_
|
|||
|
||||
if (IS_CV == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -46669,7 +46669,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_TMPVAR_HAN
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -46679,7 +46679,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_TMPVAR_HAN
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -46698,7 +46698,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_TMPVAR_HAN
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -46814,7 +46814,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_TMPVAR_HA
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -46824,7 +46824,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_TMPVAR_HA
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -46843,7 +46843,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_TMPVAR_HA
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -47003,7 +47003,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_TMPVAR_OP_D
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -47161,7 +47161,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_TMPVAR_OP_D
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -47319,7 +47319,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_TMPVAR_OP_D
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -47477,7 +47477,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_TMPVAR_OP_D
|
|||
|
||||
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
|
||||
EXPECTED(Z_OBJCE_P(object) == CACHED_PTR(Z_CACHE_SLOT_P(property)))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR(Z_CACHE_SLOT_P(property) + sizeof(void*));
|
||||
zend_object *zobj = Z_OBJ_P(object);
|
||||
zval *property_val;
|
||||
|
||||
|
@ -50076,7 +50076,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CONST
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -50086,7 +50086,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CONST
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -50105,7 +50105,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CONST
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -52437,7 +52437,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CV_HA
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -52447,7 +52447,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CV_HA
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -52466,7 +52466,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CV_HA
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
@ -53791,7 +53791,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVA
|
|||
cache_slot = CACHE_ADDR(Z_CACHE_SLOT_P(offset));
|
||||
|
||||
if (EXPECTED(zobj->ce == CACHED_PTR_EX(cache_slot))) {
|
||||
intptr_t prop_offset = (intptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
uintptr_t prop_offset = (uintptr_t)CACHED_PTR_EX(cache_slot + 1);
|
||||
|
||||
if (EXPECTED(IS_VALID_PROPERTY_OFFSET(prop_offset))) {
|
||||
retval = OBJ_PROP(zobj, prop_offset);
|
||||
|
@ -53801,7 +53801,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVA
|
|||
}
|
||||
} else if (EXPECTED(zobj->properties != NULL)) {
|
||||
if (!IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(prop_offset)) {
|
||||
intptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
uintptr_t idx = ZEND_DECODE_DYN_PROP_OFFSET(prop_offset);
|
||||
|
||||
if (EXPECTED(idx < zobj->properties->nNumUsed * sizeof(Bucket))) {
|
||||
Bucket *p = (Bucket*)((char*)zobj->properties->arData + idx);
|
||||
|
@ -53820,7 +53820,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVA
|
|||
}
|
||||
retval = zend_hash_find(zobj->properties, Z_STR_P(offset));
|
||||
if (EXPECTED(retval)) {
|
||||
intptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
uintptr_t idx = (char*)retval - (char*)zobj->properties->arData;
|
||||
CACHE_PTR_EX(cache_slot + 1, (void*)ZEND_ENCODE_DYN_PROP_OFFSET(idx));
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), retval);
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue