Lines Matching defs:rx
222 REGEXP * const rx = cx->sb_rx;
228 if(old != rx) {
231 PM_SETRE(pm,ReREFCNT_inc(rx));
234 rxres_restore(&cx->sb_rxres, rx);
250 !CALLREGEXEC(rx, s, cx->sb_strend, orig,
265 if (RX_MATCH_TAINTED(rx)) /* run time pattern taint, eg locale */
309 (RX_MATCH_TAINTED_on(rx)); /* taint $1 et al */
358 if (RX_MATCH_COPIED(rx) && RX_SUBBEG(rx) != orig) {
361 assert(!RX_SUBOFFSET(rx));
362 cx->sb_orig = orig = RX_SUBBEG(rx);
366 cx->sb_m = m = RX_OFFS_START(rx,0) + orig;
373 cx->sb_s = RX_OFFS_END(rx,0) + orig;
390 if (old != rx)
391 (void)ReREFCNT_inc(rx);
396 if (RX_MATCH_TAINTED(rx)) /* run time pattern taint, eg locale */
403 (RX_MATCH_TAINTED_on(rx)); /* taint $1 et al */
411 rxres_save(&cx->sb_rxres, rx);
418 Perl_rxres_save(pTHX_ void **rsp, REGEXP *rx)
427 if (!p || p[1] < RX_NPARENS(rx)) {
429 i = 7 + (RX_NPARENS(rx)+1) * 2;
431 i = 6 + (RX_NPARENS(rx)+1) * 2;
441 *p++ = PTR2UV(RX_MATCH_COPIED(rx) ? RX_SUBBEG(rx) : NULL);
442 RX_MATCH_COPIED_off(rx);
443 *p++ = RX_NPARENS(rx);
446 *p++ = PTR2UV(RX_SAVED_COPY(rx));
447 RX_SAVED_COPY(rx) = NULL;
450 *p++ = PTR2UV(RX_SUBBEG(rx));
451 *p++ = (UV)RX_SUBLEN(rx);
452 *p++ = (UV)RX_SUBOFFSET(rx);
453 *p++ = (UV)RX_SUBCOFFSET(rx);
454 for (i = 0; i <= RX_NPARENS(rx); ++i) {
455 *p++ = (UV)RX_OFFSp(rx)[i].start;
456 *p++ = (UV)RX_OFFSp(rx)[i].end;
461 S_rxres_restore(pTHX_ void **rsp, REGEXP *rx)
469 RX_MATCH_COPY_FREE(rx);
470 RX_MATCH_COPIED_set(rx, *p);
472 RX_NPARENS(rx) = *p++;
475 if (RX_SAVED_COPY(rx))
476 SvREFCNT_dec (RX_SAVED_COPY(rx));
477 RX_SAVED_COPY(rx) = INT2PTR(SV*,*p);
481 RX_SUBBEG(rx) = INT2PTR(char*,*p++);
482 RX_SUBLEN(rx) = (SSize_t)(*p++);
483 RX_SUBOFFSET(rx) = (Size_t)*p++;
484 RX_SUBCOFFSET(rx) = (SSize_t)*p++;
485 for (i = 0; i <= RX_NPARENS(rx); ++i) {
486 RX_OFFSp(rx)[i].start = (SSize_t)(*p++);
487 RX_OFFSp(rx)[i].end = (SSize_t)(*p++);