anchor.diff:  end;
   
   function TFLREThreadLocalStorageInstance.LookAssertion(const Position,WhichLookAssertionString:longint;const LookBehind,Negative:boolean):boolean;
  -var Index,LookAssertionStringLength:longint;
  +var Index,LookAssertionStringLength,BasePosition:longint;
       LookAssertionString:ansistring;
   begin
    LookAssertionString:=Instance.LookAssertionStrings[WhichLookAssertionString];
  
positive.code:     opMATCH:begin
       if rfLONGEST in Instance.Flags then begin
        if not assigned(BestState) then begin
         BestState:=ParallelNFAStateAllocate(Instance.CountSubMatches,State^.SubMatchesBitMask);
        end;
        if State^.SubMatchesBitMask<>0 then begin
         if LastPosition<CurrentPosition then begin
          LastPosition:=CurrentPosition;
          BestState^.SubMatchesBitMask:=State^.SubMatchesBitMask;
          Move(State^.SubMatches[0],BestState^.SubMatches[0],State^.Count*SizeOf(TFLREParallelNFAStateItem));
         end;
        end;
       end else begin
  
negative.code: 
  function TFLREThreadLocalStorageInstance.ParallelNFAStateUpdate(const State:PFLREParallelNFAState;const Index,Position:longint):PFLREParallelNFAState; {$ifdef caninline}inline;{$endif}
  var Counter:longint;
      SubMatchesBitmap:longword;
  begin
   result:=State;
   if result^.ReferenceCounter>1 then begin
    result:=ParallelNFAStateAllocate(State^.Count,State^.SubMatchesBitmap,State^.UsedCheckBitmapSize);
  {$ifdef cpu386}
    asm
     push ebx
     push esi
     push edi
      mov ebx,dword ptr result
      mov ecx,dword ptr [ebx+TFLREParallelNFAState.SubMatchesBitmap]
      test ecx,ecx // or test ecx,$80000000; jnz @CopyAll 
      js @CopyAll
      jecxz @Done
  