]> granicus.if.org Git - php/commitdiff
Fixed signed/unsigned comparisons
authorDmitry Stogov <dmitry@zend.com>
Wed, 25 Oct 2017 08:45:17 +0000 (11:45 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 25 Oct 2017 08:45:17 +0000 (11:45 +0300)
Zend/zend_execute.c
Zend/zend_object_handlers.c
Zend/zend_object_handlers.h
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index e569e108b33fc0a0d5d2ce626710c3eaa97190df..4e841d5a7f65f49ded3b12aecd875e9402e10cca 100644 (file)
@@ -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;
 
index d755ab057b05a3df1a3b959f7a770bfb0a3e7ae6..3de2f9910e21c278c1ead965a5337d0506a1780c 100644 (file)
@@ -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:
index d3febd58e45597beb789d4f6738274477be765bd..29494d9006fe9750c46ddee4b9fbb2acfd91b3ea 100644 (file)
@@ -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:
index 0b36d2e7252c1c241669eea0d006631746f1c18b..3f1c94a9420fdc1bdeef4746da1881ec70f96cd9 100644 (file)
@@ -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);
 
index 1a24762e3680e1da07a91ec971f972b242d98292..5d6b1424bffed569d2f0a7bea0ba28e0786f2572 100644 (file)
@@ -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;