type job …
const visitedBits …
const maxBacktrackProg …
const maxBacktrackVector …
type bitState …
var bitStatePool …
func newBitState() *bitState { … }
func freeBitState(b *bitState) { … }
func maxBitStateLen(prog *syntax.Prog) int { … }
func shouldBacktrack(prog *syntax.Prog) bool { … }
func (b *bitState) reset(prog *syntax.Prog, end int, ncap int) { … }
func (b *bitState) shouldVisit(pc uint32, pos int) bool { … }
func (b *bitState) push(re *Regexp, pc uint32, pos int, arg bool) { … }
func (re *Regexp) tryBacktrack(b *bitState, i input, pc uint32, pos int) bool { … }
func (re *Regexp) backtrack(ib []byte, is string, pos int, ncap int, dstCap []int) []int { … }