@@ -437,7 +437,7 @@ static int ZEND_FASTCALL zend_jit_undefined_op_helper_write(HashTable *ht, uint3
437437
438438static void ZEND_FASTCALL zend_jit_fetch_dim_r_helper (zend_array * ht , zval * dim , zval * result )
439439{
440- zend_long hval ;
440+ zend_ulong hval ;
441441 zend_string * offset_key ;
442442 zval * retval ;
443443
@@ -478,6 +478,9 @@ static void ZEND_FASTCALL zend_jit_fetch_dim_r_helper(zend_array *ht, zval *dim,
478478 }
479479
480480str_index :
481+ if (ZEND_HANDLE_NUMERIC (offset_key , hval )) {
482+ goto num_index ;
483+ }
481484 retval = zend_hash_find (ht , offset_key );
482485 if (retval ) {
483486 /* support for $GLOBALS[...] */
@@ -509,7 +512,7 @@ static void ZEND_FASTCALL zend_jit_fetch_dim_r_helper(zend_array *ht, zval *dim,
509512
510513static void ZEND_FASTCALL zend_jit_fetch_dim_is_helper (zend_array * ht , zval * dim , zval * result )
511514{
512- zend_long hval ;
515+ zend_ulong hval ;
513516 zend_string * offset_key ;
514517 zval * retval ;
515518
@@ -550,6 +553,9 @@ static void ZEND_FASTCALL zend_jit_fetch_dim_is_helper(zend_array *ht, zval *dim
550553 }
551554
552555str_index :
556+ if (ZEND_HANDLE_NUMERIC (offset_key , hval )) {
557+ goto num_index ;
558+ }
553559 retval = zend_hash_find (ht , offset_key );
554560 if (retval ) {
555561 /* support for $GLOBALS[...] */
@@ -578,7 +584,7 @@ static void ZEND_FASTCALL zend_jit_fetch_dim_is_helper(zend_array *ht, zval *dim
578584
579585static int ZEND_FASTCALL zend_jit_fetch_dim_isset_helper (zend_array * ht , zval * dim )
580586{
581- zend_long hval ;
587+ zend_ulong hval ;
582588 zend_string * offset_key ;
583589 zval * retval ;
584590
@@ -618,6 +624,9 @@ static int ZEND_FASTCALL zend_jit_fetch_dim_isset_helper(zend_array *ht, zval *d
618624 }
619625
620626str_index :
627+ if (ZEND_HANDLE_NUMERIC (offset_key , hval )) {
628+ goto num_index ;
629+ }
621630 retval = zend_hash_find (ht , offset_key );
622631 if (retval ) {
623632 /* support for $GLOBALS[...] */
@@ -645,7 +654,7 @@ static int ZEND_FASTCALL zend_jit_fetch_dim_isset_helper(zend_array *ht, zval *d
645654
646655static zval * ZEND_FASTCALL zend_jit_fetch_dim_rw_helper (zend_array * ht , zval * dim )
647656{
648- zend_long hval ;
657+ zend_ulong hval ;
649658 zend_string * offset_key ;
650659 zval * retval ;
651660
@@ -688,6 +697,9 @@ static zval* ZEND_FASTCALL zend_jit_fetch_dim_rw_helper(zend_array *ht, zval *di
688697 }
689698
690699str_index :
700+ if (ZEND_HANDLE_NUMERIC (offset_key , hval )) {
701+ goto num_index ;
702+ }
691703 retval = zend_hash_find (ht , offset_key );
692704 if (retval ) {
693705 /* support for $GLOBALS[...] */
@@ -726,7 +738,7 @@ static zval* ZEND_FASTCALL zend_jit_fetch_dim_rw_helper(zend_array *ht, zval *di
726738
727739static zval * ZEND_FASTCALL zend_jit_fetch_dim_w_helper (zend_array * ht , zval * dim )
728740{
729- zend_long hval ;
741+ zend_ulong hval ;
730742 zend_string * offset_key ;
731743 zval * retval ;
732744
@@ -769,6 +781,9 @@ static zval* ZEND_FASTCALL zend_jit_fetch_dim_w_helper(zend_array *ht, zval *dim
769781 }
770782
771783str_index :
784+ if (ZEND_HANDLE_NUMERIC (offset_key , hval )) {
785+ goto num_index ;
786+ }
772787 retval = zend_hash_find (ht , offset_key );
773788 if (retval ) {
774789 /* support for $GLOBALS[...] */
0 commit comments