Lines Matching refs:iter
2171 struct xpvhv_aux *iter; in Perl_hfree_next_entry() local
2180 if (HvHasAUX(hv) && ((iter = HvAUX(hv)))) { in Perl_hfree_next_entry()
2181 if ((entry = iter->xhv_eiter)) { in Perl_hfree_next_entry()
2190 iter->xhv_riter = -1; /* HvRITER(hv) = -1 */ in Perl_hfree_next_entry()
2191 iter->xhv_eiter = NULL; /* HvEITER(hv) = NULL */ in Perl_hfree_next_entry()
2193 iter->xhv_last_rand = iter->xhv_rand; in Perl_hfree_next_entry()
2431 struct xpvhv_aux *iter; in S_hv_auxinit() local
2441 iter = Perl_hv_auxalloc(aTHX_ hv); in S_hv_auxinit()
2444 iter->xhv_rand = (U32)PL_hash_rand_bits; in S_hv_auxinit()
2447 iter = HvAUX(hv); in S_hv_auxinit()
2450 iter->xhv_riter = -1; /* HvRITER(hv) = -1 */ in S_hv_auxinit()
2451 iter->xhv_eiter = NULL; /* HvEITER(hv) = NULL */ in S_hv_auxinit()
2453 iter->xhv_last_rand = iter->xhv_rand; in S_hv_auxinit()
2455 iter->xhv_name_u.xhvnameu_name = 0; in S_hv_auxinit()
2456 iter->xhv_name_count = 0; in S_hv_auxinit()
2457 iter->xhv_backreferences = 0; in S_hv_auxinit()
2458 iter->xhv_mro_meta = NULL; in S_hv_auxinit()
2459 iter->xhv_aux_flags = 0; in S_hv_auxinit()
2460 return iter; in S_hv_auxinit()
2484 struct xpvhv_aux * iter = HvAUX(hv); in Perl_hv_iterinit() local
2485 HE * const entry = iter->xhv_eiter; /* HvEITER(hv) */ in Perl_hv_iterinit()
2490 iter->xhv_riter = -1; /* HvRITER(hv) = -1 */ in Perl_hv_iterinit()
2491 iter->xhv_eiter = NULL; /* HvEITER(hv) = NULL */ in Perl_hv_iterinit()
2493 iter->xhv_last_rand = iter->xhv_rand; in Perl_hv_iterinit()
2513 struct xpvhv_aux *iter; in Perl_hv_riter_p() local
2517 iter = HvHasAUX(hv) ? HvAUX(hv) : hv_auxinit(hv); in Perl_hv_riter_p()
2518 return &(iter->xhv_riter); in Perl_hv_riter_p()
2531 struct xpvhv_aux *iter; in Perl_hv_eiter_p() local
2535 iter = HvHasAUX(hv) ? HvAUX(hv) : hv_auxinit(hv); in Perl_hv_eiter_p()
2536 return &(iter->xhv_eiter); in Perl_hv_eiter_p()
2549 struct xpvhv_aux *iter; in Perl_hv_riter_set() local
2554 iter = HvAUX(hv); in Perl_hv_riter_set()
2559 iter = hv_auxinit(hv); in Perl_hv_riter_set()
2561 iter->xhv_riter = riter; in Perl_hv_riter_set()
2566 struct xpvhv_aux *iter; in Perl_hv_rand_set() local
2572 iter = HvAUX(hv); in Perl_hv_rand_set()
2574 iter = hv_auxinit(hv); in Perl_hv_rand_set()
2576 iter->xhv_rand = new_xhv_rand; in Perl_hv_rand_set()
2592 struct xpvhv_aux *iter; in Perl_hv_eiter_set() local
2597 iter = HvAUX(hv); in Perl_hv_eiter_set()
2604 iter = hv_auxinit(hv); in Perl_hv_eiter_set()
2606 iter->xhv_eiter = eiter; in Perl_hv_eiter_set()
2637 struct xpvhv_aux *iter; in Perl_hv_name_set() local
2647 iter = HvAUX(hv); in Perl_hv_name_set()
2648 if (iter->xhv_name_u.xhvnameu_name) { in Perl_hv_name_set()
2649 if(iter->xhv_name_count) { in Perl_hv_name_set()
2653 iter->xhv_name_count < 0 in Perl_hv_name_set()
2654 ? -iter->xhv_name_count in Perl_hv_name_set()
2655 : iter->xhv_name_count in Perl_hv_name_set()
2662 spot = &iter->xhv_name_u.xhvnameu_name; in Perl_hv_name_set()
2663 iter->xhv_name_count = 0; in Perl_hv_name_set()
2666 if(iter->xhv_name_count > 0) { in Perl_hv_name_set()
2669 iter->xhv_name_u.xhvnameu_names, iter->xhv_name_count + 1, HEK * in Perl_hv_name_set()
2671 spot = iter->xhv_name_u.xhvnameu_names; in Perl_hv_name_set()
2672 spot[iter->xhv_name_count] = spot[1]; in Perl_hv_name_set()
2674 iter->xhv_name_count = -(iter->xhv_name_count + 1); in Perl_hv_name_set()
2676 else if(*(spot = iter->xhv_name_u.xhvnameu_names)) { in Perl_hv_name_set()
2682 unshare_hek_or_pvn(iter->xhv_name_u.xhvnameu_name, 0, 0, 0); in Perl_hv_name_set()
2683 spot = &iter->xhv_name_u.xhvnameu_name; in Perl_hv_name_set()
2686 HEK * const existing_name = iter->xhv_name_u.xhvnameu_name; in Perl_hv_name_set()
2687 Newx(iter->xhv_name_u.xhvnameu_names, 2, HEK *); in Perl_hv_name_set()
2688 iter->xhv_name_count = -2; in Perl_hv_name_set()
2689 spot = iter->xhv_name_u.xhvnameu_names; in Perl_hv_name_set()
2693 else { spot = &iter->xhv_name_u.xhvnameu_name; iter->xhv_name_count = 0; } in Perl_hv_name_set()
2698 iter = hv_auxinit(hv); in Perl_hv_name_set()
2699 spot = &iter->xhv_name_u.xhvnameu_name; in Perl_hv_name_set()
2872 struct xpvhv_aux * const iter = HvHasAUX(hv) ? HvAUX(hv) : hv_auxinit(hv); in Perl_hv_backreferences_p() local
2873 return &(iter->xhv_backreferences); in Perl_hv_backreferences_p()
2934 struct xpvhv_aux *iter; in Perl_hv_iternext_flags() local
2991 iter = HvAUX(hv); in Perl_hv_iternext_flags()
2993 oldentry = entry = iter->xhv_eiter; /* HvEITER(hv) */ in Perl_hv_iternext_flags()
3007 iter->xhv_eiter = entry = new_HE(); /* HvEITER(hv) = new_HE() */ in Perl_hv_iternext_flags()
3024 iter->xhv_eiter = NULL; /* HvEITER(hv) = NULL */ in Perl_hv_iternext_flags()
3055 if (iter->xhv_last_rand != iter->xhv_rand) { in Perl_hv_iternext_flags()
3056 if (iter->xhv_riter != -1) { in Perl_hv_iternext_flags()
3062 iter->xhv_last_rand = iter->xhv_rand; in Perl_hv_iternext_flags()
3073 iter->xhv_riter++; /* HvRITER(hv)++ */ in Perl_hv_iternext_flags()
3074 if (iter->xhv_riter > (I32)max /* HvRITER(hv) > HvMAX(hv) */) { in Perl_hv_iternext_flags()
3076 iter->xhv_riter = -1; /* HvRITER(hv) = -1 */ in Perl_hv_iternext_flags()
3078 …iter->xhv_last_rand = iter->xhv_rand; /* reset xhv_last_rand so we can detect inserts during trave… in Perl_hv_iternext_flags()
3082 entry = (HvARRAY(hv))[ PERL_HASH_ITER_BUCKET(iter) & max ]; in Perl_hv_iternext_flags()
3096 iter->xhv_riter = -1; in Perl_hv_iternext_flags()
3098 iter->xhv_last_rand = iter->xhv_rand; in Perl_hv_iternext_flags()
3107 iter->xhv_eiter = entry; /* HvEITER(hv) = entry */ in Perl_hv_iternext_flags()