@@ -2265,64 +2265,14 @@ static void ZEND_FASTCALL zend_jit_dec_typed_prop(zval *var_ptr, zend_property_i
2265
2265
2266
2266
static void ZEND_FASTCALL zend_jit_pre_inc_typed_prop (zval * var_ptr , zend_property_info * prop_info , zval * result )
2267
2267
{
2268
- zend_execute_data * execute_data = EG (current_execute_data );
2269
- zval tmp ;
2270
-
2271
- if (!result ) {
2272
- result = & tmp ;
2273
- }
2274
-
2275
- ZVAL_DEREF (var_ptr );
2268
+ zend_jit_inc_typed_prop (var_ptr , prop_info );
2276
2269
ZVAL_COPY (result , var_ptr );
2277
-
2278
- increment_function (var_ptr );
2279
-
2280
- if (UNEXPECTED (Z_TYPE_P (var_ptr ) == IS_DOUBLE ) && Z_TYPE_P (result ) == IS_LONG ) {
2281
- if (!(ZEND_TYPE_FULL_MASK (prop_info -> type ) & MAY_BE_DOUBLE )) {
2282
- zend_long val = _zend_jit_throw_inc_prop_error (prop_info );
2283
- ZVAL_LONG (var_ptr , val );
2284
- }
2285
- } else if (UNEXPECTED (!zend_verify_property_type (prop_info , var_ptr , EX_USES_STRICT_TYPES ()))) {
2286
- zval_ptr_dtor (var_ptr );
2287
- ZVAL_COPY_VALUE (var_ptr , result );
2288
- ZVAL_UNDEF (result );
2289
- } else if (result == & tmp ) {
2290
- zval_ptr_dtor (& tmp );
2291
- }
2292
- if (UNEXPECTED (result )) {
2293
- ZVAL_COPY (result , var_ptr );
2294
- }
2295
2270
}
2296
2271
2297
2272
static void ZEND_FASTCALL zend_jit_pre_dec_typed_prop (zval * var_ptr , zend_property_info * prop_info , zval * result )
2298
2273
{
2299
- zend_execute_data * execute_data = EG (current_execute_data );
2300
- zval tmp ;
2301
-
2302
- if (!result ) {
2303
- result = & tmp ;
2304
- }
2305
-
2306
- ZVAL_DEREF (var_ptr );
2274
+ zend_jit_dec_typed_prop (var_ptr , prop_info );
2307
2275
ZVAL_COPY (result , var_ptr );
2308
-
2309
- decrement_function (var_ptr );
2310
-
2311
- if (UNEXPECTED (Z_TYPE_P (var_ptr ) == IS_DOUBLE ) && Z_TYPE_P (result ) == IS_LONG ) {
2312
- if (!(ZEND_TYPE_FULL_MASK (prop_info -> type ) & MAY_BE_DOUBLE )) {
2313
- zend_long val = _zend_jit_throw_dec_prop_error (prop_info );
2314
- ZVAL_LONG (var_ptr , val );
2315
- }
2316
- } else if (UNEXPECTED (!zend_verify_property_type (prop_info , var_ptr , EX_USES_STRICT_TYPES ()))) {
2317
- zval_ptr_dtor (var_ptr );
2318
- ZVAL_COPY_VALUE (var_ptr , result );
2319
- ZVAL_UNDEF (result );
2320
- } else if (result == & tmp ) {
2321
- zval_ptr_dtor (& tmp );
2322
- }
2323
- if (UNEXPECTED (result )) {
2324
- ZVAL_COPY (result , var_ptr );
2325
- }
2326
2276
}
2327
2277
2328
2278
static void ZEND_FASTCALL zend_jit_post_inc_typed_prop (zval * var_ptr , zend_property_info * prop_info , zval * result )
@@ -2398,8 +2348,7 @@ static void ZEND_FASTCALL zend_jit_pre_inc_obj_helper(zend_object *zobj, zend_st
2398
2348
}
2399
2349
2400
2350
if (UNEXPECTED (prop_info )) {
2401
- zend_jit_pre_inc_typed_prop (prop , prop_info , result );
2402
- return ;
2351
+ zend_jit_inc_typed_prop (prop , prop_info );
2403
2352
} else {
2404
2353
increment_function (prop );
2405
2354
}
@@ -2469,8 +2418,7 @@ static void ZEND_FASTCALL zend_jit_pre_dec_obj_helper(zend_object *zobj, zend_st
2469
2418
}
2470
2419
2471
2420
if (UNEXPECTED (prop_info )) {
2472
- zend_jit_pre_dec_typed_prop (prop , prop_info , result );
2473
- return ;
2421
+ zend_jit_dec_typed_prop (prop , prop_info );
2474
2422
} else {
2475
2423
decrement_function (prop );
2476
2424
}
0 commit comments