Lines Matching refs:cachep
5454 S_utf8_mg_pos_init(pTHX_ SV *sv, MAGIC **mgp, STRLEN **cachep, I32 i, I32 *offsetp, U8 *s, U8 *start)
5464 *cachep = (STRLEN *) (*mgp)->mg_ptr;
5466 Newz(0, *cachep, PERL_MAGIC_UTF8_CACHESIZE * 2, STRLEN);
5467 (*mgp)->mg_ptr = (char *) *cachep;
5469 assert(*cachep);
5471 (*cachep)[i] = *offsetp;
5472 (*cachep)[i+1] = s - start;
5487 S_utf8_mg_pos(pTHX_ SV *sv, MAGIC **mgp, STRLEN **cachep, I32 i, I32 *offsetp, I32 uoff, U8 **sp, U8 *start, U8 *send)
5495 *cachep = (STRLEN *) (*mgp)->mg_ptr;
5496 ASSERT_UTF8_CACHE(*cachep);
5497 if ((*cachep)[i] == (STRLEN)uoff) /* An exact match. */
5509 if ((*cachep)[i] > (STRLEN)uoff) {
5511 backw = (*cachep)[i] - (STRLEN)uoff;
5516 p = start + (*cachep)[i+1];
5520 else if (i == 0) { /* (*cachep)[i] < uoff */
5524 forw = (STRLEN)uoff - (*cachep)[i];
5528 p = start + (*cachep)[i+1];
5551 (*cachep)[i] = (STRLEN)uoff;
5552 (*cachep)[i+1] = p - start;
5556 (*cachep)[2] = 0;
5557 (*cachep)[3] = 0;
5564 *offsetp = (*cachep)[i+1];
5586 assert((*cachep)[0] == (STRLEN)uoff);
5587 assert((*cachep)[1] == *offsetp);
5589 ASSERT_UTF8_CACHE(*cachep);