@@ -6423,10 +6423,12 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_CONST_CONST_HAND
6423
6423
{
6424
6424
USE_OPLINE
6425
6425
6426
- zval *op1 = EX_CONSTANT(opline->op1) ;
6426
+ zval *op1;
6427
6427
HashTable *ht = Z_ARRVAL_P(EX_CONSTANT(opline->op2));
6428
6428
int result;
6429
6429
6430
+ SAVE_OPLINE();
6431
+ op1 = EX_CONSTANT(opline->op1);
6430
6432
if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
6431
6433
result = zend_hash_exists(ht, Z_STR_P(op1));
6432
6434
} else if (opline->extended_value) {
@@ -6442,7 +6444,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_CONST_CONST_HAND
6442
6444
zval tmp;
6443
6445
6444
6446
result = 0;
6445
- SAVE_OPLINE();
6446
6447
ZEND_HASH_FOREACH_STR_KEY(ht, key) {
6447
6448
ZVAL_STR(&tmp, key);
6448
6449
compare_function(&tmp, op1, &tmp);
@@ -6451,15 +6452,11 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_CONST_CONST_HAND
6451
6452
break;
6452
6453
}
6453
6454
} ZEND_HASH_FOREACH_END();
6454
-
6455
- ZEND_VM_SMART_BRANCH(result, 1);
6456
- ZVAL_BOOL(EX_VAR(opline->result.var), result);
6457
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
6458
6455
}
6459
6456
6460
- ZEND_VM_SMART_BRANCH(result, 0 );
6457
+ ZEND_VM_SMART_BRANCH(result, 1 );
6461
6458
ZVAL_BOOL(EX_VAR(opline->result.var), result);
6462
- ZEND_VM_NEXT_OPCODE ();
6459
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
6463
6460
}
6464
6461
6465
6462
static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
@@ -13815,10 +13812,12 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_TMP_CONST_HANDLE
13815
13812
{
13816
13813
USE_OPLINE
13817
13814
zend_free_op free_op1;
13818
- zval *op1 = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1) ;
13815
+ zval *op1;
13819
13816
HashTable *ht = Z_ARRVAL_P(EX_CONSTANT(opline->op2));
13820
13817
int result;
13821
13818
13819
+ SAVE_OPLINE();
13820
+ op1 = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1);
13822
13821
if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
13823
13822
result = zend_hash_exists(ht, Z_STR_P(op1));
13824
13823
} else if (opline->extended_value) {
@@ -13834,7 +13833,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_TMP_CONST_HANDLE
13834
13833
zval tmp;
13835
13834
13836
13835
result = 0;
13837
- SAVE_OPLINE();
13838
13836
ZEND_HASH_FOREACH_STR_KEY(ht, key) {
13839
13837
ZVAL_STR(&tmp, key);
13840
13838
compare_function(&tmp, op1, &tmp);
@@ -13843,15 +13841,11 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_TMP_CONST_HANDLE
13843
13841
break;
13844
13842
}
13845
13843
} ZEND_HASH_FOREACH_END();
13846
- zval_ptr_dtor_nogc(free_op1);
13847
- ZEND_VM_SMART_BRANCH(result, 1);
13848
- ZVAL_BOOL(EX_VAR(opline->result.var), result);
13849
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
13850
13844
}
13851
13845
zval_ptr_dtor_nogc(free_op1);
13852
- ZEND_VM_SMART_BRANCH(result, 0 );
13846
+ ZEND_VM_SMART_BRANCH(result, 1 );
13853
13847
ZVAL_BOOL(EX_VAR(opline->result.var), result);
13854
- ZEND_VM_NEXT_OPCODE ();
13848
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
13855
13849
}
13856
13850
13857
13851
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
@@ -19947,10 +19941,12 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_VAR_CONST_HANDLE
19947
19941
{
19948
19942
USE_OPLINE
19949
19943
zend_free_op free_op1;
19950
- zval *op1 = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1) ;
19944
+ zval *op1;
19951
19945
HashTable *ht = Z_ARRVAL_P(EX_CONSTANT(opline->op2));
19952
19946
int result;
19953
19947
19948
+ SAVE_OPLINE();
19949
+ op1 = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1);
19954
19950
if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
19955
19951
result = zend_hash_exists(ht, Z_STR_P(op1));
19956
19952
} else if (opline->extended_value) {
@@ -19966,7 +19962,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_VAR_CONST_HANDLE
19966
19962
zval tmp;
19967
19963
19968
19964
result = 0;
19969
- SAVE_OPLINE();
19970
19965
ZEND_HASH_FOREACH_STR_KEY(ht, key) {
19971
19966
ZVAL_STR(&tmp, key);
19972
19967
compare_function(&tmp, op1, &tmp);
@@ -19975,15 +19970,11 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_VAR_CONST_HANDLE
19975
19970
break;
19976
19971
}
19977
19972
} ZEND_HASH_FOREACH_END();
19978
- zval_ptr_dtor_nogc(free_op1);
19979
- ZEND_VM_SMART_BRANCH(result, 1);
19980
- ZVAL_BOOL(EX_VAR(opline->result.var), result);
19981
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
19982
19973
}
19983
19974
zval_ptr_dtor_nogc(free_op1);
19984
- ZEND_VM_SMART_BRANCH(result, 0 );
19975
+ ZEND_VM_SMART_BRANCH(result, 1 );
19985
19976
ZVAL_BOOL(EX_VAR(opline->result.var), result);
19986
- ZEND_VM_NEXT_OPCODE ();
19977
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
19987
19978
}
19988
19979
19989
19980
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
@@ -38331,10 +38322,12 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_CV_CONST_HANDLER
38331
38322
{
38332
38323
USE_OPLINE
38333
38324
38334
- zval *op1 = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var) ;
38325
+ zval *op1;
38335
38326
HashTable *ht = Z_ARRVAL_P(EX_CONSTANT(opline->op2));
38336
38327
int result;
38337
38328
38329
+ SAVE_OPLINE();
38330
+ op1 = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var);
38338
38331
if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
38339
38332
result = zend_hash_exists(ht, Z_STR_P(op1));
38340
38333
} else if (opline->extended_value) {
@@ -38350,7 +38343,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_CV_CONST_HANDLER
38350
38343
zval tmp;
38351
38344
38352
38345
result = 0;
38353
- SAVE_OPLINE();
38354
38346
ZEND_HASH_FOREACH_STR_KEY(ht, key) {
38355
38347
ZVAL_STR(&tmp, key);
38356
38348
compare_function(&tmp, op1, &tmp);
@@ -38359,15 +38351,11 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_CV_CONST_HANDLER
38359
38351
break;
38360
38352
}
38361
38353
} ZEND_HASH_FOREACH_END();
38362
-
38363
- ZEND_VM_SMART_BRANCH(result, 1);
38364
- ZVAL_BOOL(EX_VAR(opline->result.var), result);
38365
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
38366
38354
}
38367
38355
38368
- ZEND_VM_SMART_BRANCH(result, 0 );
38356
+ ZEND_VM_SMART_BRANCH(result, 1 );
38369
38357
ZVAL_BOOL(EX_VAR(opline->result.var), result);
38370
- ZEND_VM_NEXT_OPCODE ();
38358
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
38371
38359
}
38372
38360
38373
38361
static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
0 commit comments