anchor.diff:    // Find the method
     VMT := PPointer(Instance)^;
     repeat
  -    MethodInfo := PPointer(Integer(VMT) + vmtMethodTable)^;
  +    MethodInfo := PPointer(NativeInt(VMT) + vmtMethodTable)^;
       if MethodInfo <> nil then
       begin
         // Scan method table for the method
         Count := PWord(MethodInfo)^;
  -      Inc(Integer(MethodInfo), 2);
  +      Inc(NativeUInt(MethodInfo), 2);
         while Count > 0 do
         begin
           Result := MethodInfo;
           if SamePropTypeName(Result^.Name, MethodName) then
             Exit;
  -        Inc(Integer(MethodInfo), PMethodInfoHeader(MethodInfo)^.Len);
  +        Inc(NativeUInt(MethodInfo), PMethodInfoHeader(MethodInfo)^.Len);
           Dec(Count);
         end;
       end;
       // Find the parent VMT
  -    VMT := PPointer(Integer(VMT) + vmtParent)^;
  +    VMT := PPointer(NativeInt(VMT) + vmtParent)^;
       if VMT = nil then
       begin
         Result := nil;
  
positive.code:   I   := 0;
    VMT := ClassType;
    repeat
      MethodInfo := PPointer(Integer(VMT) + vmtMethodTable)^;
      if MethodInfo <> nil then
      begin
        Count := PWord(MethodInfo)^;
        Inc(Integer(MethodInfo), SizeOf(Word));
        while Count > 0 do
        begin
          Result[I] := MethodInfo;
          Inc(I);
          Inc(Integer(MethodInfo), PMethodInfoHeader(MethodInfo)^.Len);
          Dec(Count);
        end;
      end;
      // Find the parent VMT
      VMT := PPointer(Integer(VMT) + vmtParent)^;
      if VMT = nil then
        Exit;
      VMT := PPointer(VMT)^;
  
negative.code:   for I := 0 to Count - 1 do
    begin
      ParamInfos[I] := MethodInfo;
      Inc(NativeUInt(MethodInfo), SizeOf(TParamInfo) - SizeOf(ShortString) + 1 +
        Length(PParamInfo(MethodInfo)^.Name));
      // Skip attribute data
      Inc(NativeUInt(MethodInfo), PWord(MethodInfo)^);
    end;
  
    if High(Params)+1 >= Count then
  