Today I whipped up two new global variables PL_regex_padav which is an AV of regexes, and PL_regex_pad which is the padavs ARRAY. Then I changed the PMOP (PatternMatchOP) to instead of keeping a pointer to a regex it keeps a offset onto the regex_pad. Because this pad is per interpreter we can just clone it and keep the regex structres serpate. Abhijit Menon-Sen promised to fix Perl_re_dup and then we are finished! Yay.