PrepareCharSetASCIIBitmaps builds bounded ASCII lookup tables for compiled character classes before the regexp is shared across goroutines.
()
| 152 | // PrepareCharSetASCIIBitmaps builds bounded ASCII lookup tables for compiled |
| 153 | // character classes before the regexp is shared across goroutines. |
| 154 | func (c *Code) PrepareCharSetASCIIBitmaps() { |
| 155 | if c == nil { |
| 156 | return |
| 157 | } |
| 158 | for _, set := range c.Sets { |
| 159 | set.prepareASCIIBitmap() |
| 160 | } |
| 161 | if c.FcPrefix != nil { |
| 162 | c.FcPrefix.PrefixSet.prepareASCIIBitmap() |
| 163 | } |
| 164 | if c.FindOptimizations != nil { |
| 165 | for _, set := range c.FindOptimizations.FixedDistanceSets { |
| 166 | set.Set.prepareASCIIBitmap() |
| 167 | } |
| 168 | if c.FindOptimizations.LiteralAfterLoop != nil && c.FindOptimizations.LiteralAfterLoop.LoopNode != nil { |
| 169 | c.FindOptimizations.LiteralAfterLoop.LoopNode.Set.prepareASCIIBitmap() |
| 170 | } |
| 171 | } |
| 172 | } |
| 173 | |
| 174 | func opcodeBacktracks(op InstOp) bool { |
| 175 | op &= Mask |
no test coverage detected