Parcourir la source

* the TableCount and InitCount fields in the INITFINAL table changed to
nativeint (generates smaller and more efficient code on i8086)

git-svn-id: trunk@26913 -

nickysn il y a 11 ans
Parent
commit
73e6ffe675
2 fichiers modifiés avec 4 ajouts et 4 suppressions
  1. 2 2
      compiler/ngenutil.pas
  2. 2 2
      rtl/inc/system.inc

+ 2 - 2
compiler/ngenutil.pas

@@ -685,8 +685,8 @@ implementation
           inc(count);
         end;
       { Insert TableCount,InitCount at start }
-      unitinits.insert(Tai_const.Create_32bit(0));
-      unitinits.insert(Tai_const.Create_32bit(count));
+      unitinits.insert(Tai_const.Create_pint(0));
+      unitinits.insert(Tai_const.Create_pint(count));
       { Add to data segment }
       maybe_new_object_file(current_asmdata.asmlists[al_globals]);
       new_section(current_asmdata.asmlists[al_globals],sec_data,'INITFINAL',sizeof(pint));

+ 2 - 2
rtl/inc/system.inc

@@ -832,7 +832,7 @@ type
   end;
   TInitFinalTable = record
     TableCount,
-    InitCount  : longint;
+    InitCount  : {$ifdef VER2_6}longint{$else}nativeint{$endif};
     Procs      : array[1..maxunits] of TInitFinalRec;
   end;
   PInitFinalTable = ^TInitFinalTable;
@@ -846,7 +846,7 @@ var
 
 procedure fpc_InitializeUnits;[public,alias:'FPC_INITIALIZEUNITS']; compilerproc;
 var
-  i : longint;
+  i : nativeint;
 {$ifdef DEBUG}
   pt : PInitFinalTable;
 {$endif}