anchor.diff:  var MatchBegin,MatchEnd:longint;
   begin
    result:=false;
  - ThreadLocalStorageInstance.CheckGenerationOverflow;
  -(**)
  +(*)
    if DFAFast then begin
     case ThreadLocalStorageInstance.SearchMatchDFAFast(StartPosition,UntilExcludingPosition,MatchEnd,UnanchoredStart) of
      DFAMatch:begin
  
positive.code:    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
       mov esi,dword ptr State
  
negative.code:   State:=StackItem^.State;
    while assigned(Instruction) do begin
     InstructionID:=Instruction^.IDandOpcode shr 8;
     if InstructionGenerations[InstructionID]=Generation then begin
      StateRelease(State);
      break;
     end else begin
      InstructionGenerations[InstructionID]:=Generation;
      case Instruction^.IDandOpcode and $ff of
       opJMP:begin
        Instruction:=Instruction^.Next;
  