anchor.diff:  
        TFLREDFAWorkQueues=array[0..1] of TFLREDFAWorkQueue;
   
  +     PFLRECharPatternBitMasks=^TFLRECharPatternBitMasks;
        TFLRECharPatternBitMasks=array[ansichar] of longword;
   
        TFLREBoyerMooreNext=array of longint;
  
positive.code:   end;
   end;
   FreeAndNil(Nodes);
  
   SetLength(CapturesToSubMatchesMap,0);
  
  
negative.code:  FixedStringLength:=length(FixedString);
   if FixedStringLength>1 then begin
    if FixedStringLength<32 then begin
     if not assigned(FixedStringPatternBitMasks) then begin
      GetMem(FixedStringPatternBitMasks,SizeOf(TFLRECharPatternBitMasks));
     end;
  {$if true}
     FillChar(FixedStringPatternBitMasks^,SizeOf(TFLRECharPatternBitMasks),#$0);
  {$else}
     for c:=low(ansichar) to high(ansichar) do begin
      FixedStringPatternBitMasks^[c]:=0;
     end;
  {$ifend}
     for i:=1 to FixedStringLength do begin
      FixedStringPatternBitMasks^[FixedString[i]]:=FixedStringPatternBitMasks^[FixedString[i]] or (1 shl (i-1));
     end;
    end else begin
     if not assigned(FixedStringBoyerMooreSkip) then begin
      GetMem(FixedStringBoyerMooreSkip,SizeOf(TFLRECharPatternBitMasks));
     end;
  {$if true}
     FillChar(FixedStringBoyerMooreSkip^,SizeOf(TFLRECharPatternBitMasks),#$0);
  {$else}
     for c:=low(ansichar) to high(ansichar) do begin
      FixedStringBoyerMooreSkip^[c]:=FixedStringLength;
     end;
  {$ifend}
     for i:=1 to FixedStringLength do begin
      FixedStringBoyerMooreSkip^[FixedString[i]]:=((FixedStringLength-(i-1))-1);
     end;
     SetLength(FixedStringBoyerMooreNext,FixedStringLength+1);
     for j:=0 to FixedStringLength do begin
  