anchor.diff:    PAGESMODE_USER = 0;
     PAGESMODE_SYSTEM = 1;
     PAGESMODE_JIT = 2;
  +  PAGESMODE_CORE = 3;
   
     PTR_INVALID = Pointer(1);
     FREEMEM_INVALID = Integer({$ifdef FPC}0{$else}-1{$endif});
  
positive.code: 
   (* Local thread heap memory routine *)
  
  threadvar
    {$ifdef PUREPASCAL}ThreadHeapInstance: PThreadHeap;{$endif}
    ThreadHeapBuffer: array[0..SizeOf(TThreadHeap) - 1 + 64] of Byte;
  
  function CreateThreadHeap: PThreadHeap;
  var
    NextHeap: PThreadHeap;
  begin
    Result := PThreadHeap(NativeInt(@ThreadHeapBuffer[63]) and MASK_64_CLEAR);
    Result.FMarkerNotSelf := not SupposedPtr(Result);
  
    repeat
  
negative.code:       Count: NativeUInt;
        _Padding: array[1..64 - SizeOf(TSyncStack) - SizeOf(NativeUInt)] of Byte;
      end;
      CoreThreadHeaps: TSyncStack64;
    end;
    PGlobalStorage = ^TGlobalStorage;
  
  