Discovered by #322. The following regex demonstrates the issue: ``` re> /(a)|\1+/match_unset_backref data> ba 0: a 1: a data> ba\=no_jit 0: ``` I believe a similar, related case is the following: ``` re> /(a)|\1+/match_unset_backref data> bbbb No match data> bbbb\=no_jit 0: ``` What's very curious is that this does not appear without the repetition: ``` re> /(a)|\1/match_unset_backref data> ba 0: data> ba\=no_jit 0: data> a 0: a 1: a data> a\=no_jit 0: a 1: a ``` Finally, it appears with fixed repetitions, but not range repetitions: ``` re> /(a)|\1{128}/match_unset_backref data> ba 0: a 1: a data> ba\=no_jit 0: data> re> /(a)|\1{,128}/match_unset_backref data> ba 0: data> ba\=no_jit 0: data> ``` This implies to me that there is some issue with how the JIT handles repetitions of empty backreferences.