Browse Source

* SYSTEMINLINE define that will add inline directives for small
functions and wrappers. This will be defined automaticly when
the compiler defines the HASINLINE directive

peter 23 years ago
parent
commit
c3af3cda9b
4 changed files with 103 additions and 78 deletions
  1. 13 8
      rtl/i386/i386.inc
  2. 15 10
      rtl/inc/generic.inc
  3. 33 29
      rtl/inc/system.inc
  4. 42 31
      rtl/inc/systemh.inc

+ 13 - 8
rtl/i386/i386.inc

@@ -954,14 +954,14 @@ end;
 
 
 
 
 {$define FPC_SYSTEM_HAS_GET_FRAME}
 {$define FPC_SYSTEM_HAS_GET_FRAME}
-function get_frame:longint;assembler;
+function get_frame:longint;assembler;{$ifdef SYSTEMINLINE}inline;{$endif}
 asm
 asm
         movl    %ebp,%eax
         movl    %ebp,%eax
 end ['EAX'];
 end ['EAX'];
 
 
 
 
 {$define FPC_SYSTEM_HAS_GET_CALLER_ADDR}
 {$define FPC_SYSTEM_HAS_GET_CALLER_ADDR}
-function get_caller_addr(framebp:longint):longint;assembler;
+function get_caller_addr(framebp:longint):longint;assembler;{$ifdef SYSTEMINLINE}inline;{$endif}
 asm
 asm
         movl    framebp,%eax
         movl    framebp,%eax
         orl     %eax,%eax
         orl     %eax,%eax
@@ -972,7 +972,7 @@ end ['EAX'];
 
 
 
 
 {$define FPC_SYSTEM_HAS_GET_CALLER_FRAME}
 {$define FPC_SYSTEM_HAS_GET_CALLER_FRAME}
-function get_caller_frame(framebp:longint):longint;assembler;
+function get_caller_frame(framebp:longint):longint;assembler;{$ifdef SYSTEMINLINE}inline;{$endif}
 asm
 asm
         movl    framebp,%eax
         movl    framebp,%eax
         orl     %eax,%eax
         orl     %eax,%eax
@@ -987,7 +987,7 @@ end ['EAX'];
 ****************************************************************************}
 ****************************************************************************}
 
 
 {$define FPC_SYSTEM_HAS_ABS_LONGINT}
 {$define FPC_SYSTEM_HAS_ABS_LONGINT}
-function abs(l:longint):longint; assembler;[internconst:in_const_abs];
+function abs(l:longint):longint; assembler;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_abs];
 asm
 asm
         movl    l,%eax
         movl    l,%eax
         cltd
         cltd
@@ -997,7 +997,7 @@ end ['EAX','EDX'];
 
 
 
 
 {$define FPC_SYSTEM_HAS_ODD_LONGINT}
 {$define FPC_SYSTEM_HAS_ODD_LONGINT}
-function odd(l:longint):boolean;assembler;[internconst:in_const_odd];
+function odd(l:longint):boolean;assembler;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_odd];
 asm
 asm
        movl     l,%eax
        movl     l,%eax
        andl     $1,%eax
        andl     $1,%eax
@@ -1006,7 +1006,7 @@ end ['EAX'];
 
 
 
 
 {$define FPC_SYSTEM_HAS_SQR_LONGINT}
 {$define FPC_SYSTEM_HAS_SQR_LONGINT}
-function sqr(l:longint):longint;assembler;[internconst:in_const_sqr];
+function sqr(l:longint):longint;assembler;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_sqr];
 asm
 asm
         mov     l,%eax
         mov     l,%eax
         imull   %eax,%eax
         imull   %eax,%eax
@@ -1014,7 +1014,7 @@ end ['EAX'];
 
 
 
 
 {$define FPC_SYSTEM_HAS_SPTR}
 {$define FPC_SYSTEM_HAS_SPTR}
-Function Sptr : Longint;assembler;
+Function Sptr : Longint;assembler;{$ifdef SYSTEMINLINE}inline;{$endif}
 asm
 asm
         movl    %esp,%eax
         movl    %esp,%eax
 end;
 end;
@@ -1176,7 +1176,12 @@ procedure inclocked(var l : longint);assembler;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.26  2002-07-26 15:45:33  florian
+  Revision 1.27  2002-08-19 19:34:02  peter
+    * SYSTEMINLINE define that will add inline directives for small
+      functions and wrappers. This will be defined automaticly when
+      the compiler defines the HASINLINE directive
+
+  Revision 1.26  2002/07/26 15:45:33  florian
     * changed multi threading define: it's MT instead of MTRTL
     * changed multi threading define: it's MT instead of MTRTL
 
 
   Revision 1.25  2002/07/06 20:31:59  carl
   Revision 1.25  2002/07/06 20:31:59  carl

+ 15 - 10
rtl/inc/generic.inc

@@ -761,7 +761,7 @@ end;
 ****************************************************************************}
 ****************************************************************************}
 
 
 {$ifndef FPC_SYSTEM_HAS_ABS_LONGINT}
 {$ifndef FPC_SYSTEM_HAS_ABS_LONGINT}
-function abs(l:longint):longint;[internconst:in_const_abs];
+function abs(l:longint):longint;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_abs];
 begin
 begin
    if l<0 then
    if l<0 then
      abs:=-l
      abs:=-l
@@ -773,7 +773,7 @@ end;
 
 
 {$ifndef FPC_SYSTEM_HAS_ODD_LONGINT}
 {$ifndef FPC_SYSTEM_HAS_ODD_LONGINT}
 
 
-function odd(l:longint):boolean;[internconst:in_const_odd];
+function odd(l:longint):boolean;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_odd];
 begin
 begin
    odd:=boolean(l and 1);
    odd:=boolean(l and 1);
 end;
 end;
@@ -782,7 +782,7 @@ end;
 
 
 {$ifndef FPC_SYSTEM_HAS_ODD_CARDINAL}
 {$ifndef FPC_SYSTEM_HAS_ODD_CARDINAL}
 
 
-function odd(l:cardinal):boolean;[internconst:in_const_odd];
+function odd(l:cardinal):boolean;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_odd];
 begin
 begin
    odd:=boolean(l and 1);
    odd:=boolean(l and 1);
 end;
 end;
@@ -792,7 +792,7 @@ end;
 
 
 {$ifndef FPC_SYSTEM_HAS_ODD_INT64}
 {$ifndef FPC_SYSTEM_HAS_ODD_INT64}
 
 
-function odd(l:int64):boolean;[internconst:in_const_odd];
+function odd(l:int64):boolean;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_odd];
 begin
 begin
    odd:=boolean(longint(l) and 1);
    odd:=boolean(longint(l) and 1);
 end;
 end;
@@ -801,7 +801,7 @@ end;
 
 
 {$ifndef FPC_SYSTEM_HAS_ODD_QWORD}
 {$ifndef FPC_SYSTEM_HAS_ODD_QWORD}
 
 
-function odd(l:qword):boolean;[internconst:in_const_odd];
+function odd(l:qword):boolean;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_odd];
 begin
 begin
    odd:=boolean(longint(l) and 1);
    odd:=boolean(longint(l) and 1);
 end;
 end;
@@ -810,7 +810,7 @@ end;
 
 
 {$ifndef FPC_SYSTEM_HAS_SQR_LONGINT}
 {$ifndef FPC_SYSTEM_HAS_SQR_LONGINT}
 
 
-function sqr(l:longint):longint;[internconst:in_const_sqr];
+function sqr(l:longint):longint;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_sqr];
 begin
 begin
    sqr:=l*l;
    sqr:=l*l;
 end;
 end;
@@ -820,7 +820,7 @@ end;
 
 
 {$ifndef FPC_SYSTEM_HAS_ABS_INT64}
 {$ifndef FPC_SYSTEM_HAS_ABS_INT64}
 
 
-function abs(l: Int64): Int64;[internconst:in_const_abs];
+function abs(l: Int64): Int64;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_abs];
 begin
 begin
   if l < 0 then
   if l < 0 then
     abs := -l
     abs := -l
@@ -833,7 +833,7 @@ end;
 
 
 {$ifndef FPC_SYSTEM_HAS_SQR_INT64}
 {$ifndef FPC_SYSTEM_HAS_SQR_INT64}
 
 
-function sqr(l: Int64): Int64;[internconst:in_const_sqr];
+function sqr(l: Int64): Int64;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_sqr];
 begin
 begin
   sqr := l*l;
   sqr := l*l;
 end;
 end;
@@ -843,7 +843,7 @@ end;
 
 
 {$ifndef FPC_SYSTEM_HAS_SQR_QWORD}
 {$ifndef FPC_SYSTEM_HAS_SQR_QWORD}
 
 
-function sqr(l: QWord): QWord;[internconst:in_const_sqr];
+function sqr(l: QWord): QWord;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_sqr];
 begin
 begin
   sqr := l*l;
   sqr := l*l;
 end;
 end;
@@ -946,7 +946,12 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.31  2002-07-29 21:28:16  florian
+  Revision 1.32  2002-08-19 19:34:02  peter
+    * SYSTEMINLINE define that will add inline directives for small
+      functions and wrappers. This will be defined automaticly when
+      the compiler defines the HASINLINE directive
+
+  Revision 1.31  2002/07/29 21:28:16  florian
     * several fixes to get further with linux/ppc system unit compilation
     * several fixes to get further with linux/ppc system unit compilation
 
 
   Revision 1.30  2002/07/29 09:23:11  jonas
   Revision 1.30  2002/07/29 09:23:11  jonas

+ 33 - 29
rtl/inc/system.inc

@@ -137,6 +137,17 @@ Procedure Rewrite(var f : TypedFile); [INTERNPROC: In_Rewrite_TypedFile];
   {$define SYSPROCDEFINED}
   {$define SYSPROCDEFINED}
 {$endif iA64}
 {$endif iA64}
 
 
+
+procedure fillchar(var x;count : longint;value : boolean);{$ifdef SYSTEMINLINE}inline;{$endif}
+begin
+  fillchar(x,count,byte(value));
+end;
+
+procedure fillchar(var x;count : longint;value : char);{$ifdef SYSTEMINLINE}inline;{$endif}
+begin
+  fillchar(x,count,byte(value));
+end;
+
 { Include generic pascal only routines which are not defined in the processor
 { Include generic pascal only routines which are not defined in the processor
   specific include file }
   specific include file }
 {$I generic.inc}
 {$I generic.inc}
@@ -157,42 +168,42 @@ Procedure Rewrite(var f : TypedFile); [INTERNPROC: In_Rewrite_TypedFile];
                                Math Routines
                                Math Routines
 ****************************************************************************}
 ****************************************************************************}
 
 
-function Hi(b : byte): byte;
+function Hi(b : byte): byte;{$ifdef SYSTEMINLINE}inline;{$endif}
 begin
 begin
    Hi := b shr 4
    Hi := b shr 4
 end;
 end;
 
 
-function Lo(b : byte): byte;
+function Lo(b : byte): byte;{$ifdef SYSTEMINLINE}inline;{$endif}
 begin
 begin
    Lo := b and $0f
    Lo := b and $0f
 end;
 end;
 
 
-Function swap (X : Word) : Word;[internconst:in_const_swap_word];
+Function swap (X : Word) : Word;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_swap_word];
 Begin
 Begin
   swap:=(X and $ff) shl 8 + (X shr 8)
   swap:=(X and $ff) shl 8 + (X shr 8)
 End;
 End;
 
 
-Function Swap (X : Integer) : Integer;[internconst:in_const_swap_word];
+Function Swap (X : Integer) : Integer;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_swap_word];
 Begin
 Begin
   swap:=(X and $ff) shl 8 + (X shr 8)
   swap:=(X and $ff) shl 8 + (X shr 8)
 End;
 End;
 
 
-Function swap (X : Longint) : Longint;[internconst:in_const_swap_long];
+Function swap (X : Longint) : Longint;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_swap_long];
 Begin
 Begin
   Swap:=(X and $ffff) shl 16 + (X shr 16)
   Swap:=(X and $ffff) shl 16 + (X shr 16)
 End;
 End;
 
 
-Function Swap (X : Cardinal) : Cardinal;[internconst:in_const_swap_long];
+Function Swap (X : Cardinal) : Cardinal;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_swap_long];
 Begin
 Begin
   Swap:=(X and $ffff) shl 16 + (X shr 16)
   Swap:=(X and $ffff) shl 16 + (X shr 16)
 End;
 End;
 
 
-Function Swap (X : QWord) : QWord;
+Function Swap (X : QWord) : QWord;{$ifdef SYSTEMINLINE}inline;{$endif}
 Begin
 Begin
   Swap:=(X and $ffffffff) shl 32 + (X shr 32);
   Swap:=(X and $ffffffff) shl 32 + (X shr 32);
 End;
 End;
 
 
-Function swap (X : Int64) : Int64;
+Function swap (X : Int64) : Int64;{$ifdef SYSTEMINLINE}inline;{$endif}
 Begin
 Begin
   Swap:=(X and $ffffffff) shl 32 + (X shr 32);
   Swap:=(X and $ffffffff) shl 32 + (X shr 32);
 End;
 End;
@@ -343,28 +354,26 @@ begin
 end;
 end;
 
 
 
 
-
-
 {****************************************************************************
 {****************************************************************************
                             Memory Management
                             Memory Management
 ****************************************************************************}
 ****************************************************************************}
 
 
-Function Ptr(sel,off : Longint) : farpointer;[internconst:in_const_ptr];
+Function Ptr(sel,off : Longint) : farpointer;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:in_const_ptr];
 Begin
 Begin
   ptr:=farpointer((sel shl 4)+off);
   ptr:=farpointer((sel shl 4)+off);
 End;
 End;
 
 
-Function CSeg : Word;
+Function CSeg : Word;{$ifdef SYSTEMINLINE}inline;{$endif}
 Begin
 Begin
   Cseg:=0;
   Cseg:=0;
 End;
 End;
 
 
-Function DSeg : Word;
+Function DSeg : Word;{$ifdef SYSTEMINLINE}inline;{$endif}
 Begin
 Begin
   Dseg:=0;
   Dseg:=0;
 End;
 End;
 
 
-Function SSeg : Word;
+Function SSeg : Word;{$ifdef SYSTEMINLINE}inline;{$endif}
 Begin
 Begin
   Sseg:=0;
   Sseg:=0;
 End;
 End;
@@ -427,24 +436,14 @@ begin
    end;
    end;
 end;
 end;
 
 
-Function IOResult:Word;
+
+Function IOResult:Word;{$ifdef SYSTEMINLINE}inline;{$endif}
 Begin
 Begin
   IOResult:=InOutRes;
   IOResult:=InOutRes;
   InOutRes:=0;
   InOutRes:=0;
 End;
 End;
 
 
 
 
-procedure fillchar(var x;count : longint;value : boolean);
-begin
-  fillchar(x,count,byte(value));
-end;
-
-
-procedure fillchar(var x;count : longint;value : char);
-begin
-  fillchar(x,count,byte(value));
-end;
-
 {*****************************************************************************
 {*****************************************************************************
                          Stack check code
                          Stack check code
 *****************************************************************************}
 *****************************************************************************}
@@ -626,13 +625,13 @@ begin
 end;
 end;
 
 
 
 
-Procedure RunError;
+Procedure RunError;{$ifdef SYSTEMINLINE}inline;{$endif}
 Begin
 Begin
   RunError (0);
   RunError (0);
 End;
 End;
 
 
 
 
-Procedure Halt;
+Procedure Halt;{$ifdef SYSTEMINLINE}inline;{$endif}
 Begin
 Begin
   Halt(0);
   Halt(0);
 End;
 End;
@@ -757,7 +756,12 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.32  2002-07-28 20:43:48  florian
+  Revision 1.33  2002-08-19 19:34:02  peter
+    * SYSTEMINLINE define that will add inline directives for small
+      functions and wrappers. This will be defined automaticly when
+      the compiler defines the HASINLINE directive
+
+  Revision 1.32  2002/07/28 20:43:48  florian
     * several fixes for linux/powerpc
     * several fixes for linux/powerpc
     * several fixes to MT
     * several fixes to MT
 
 

+ 42 - 31
rtl/inc/systemh.inc

@@ -22,6 +22,12 @@
 {$I-,Q-,H-,R-,V-}
 {$I-,Q-,H-,R-,V-}
 {$mode objfpc}
 {$mode objfpc}
 
 
+{ Using inlining for small system functions/wrappers }
+{$ifdef HASINLINE}
+  {$inline on}
+  {$define SYSTEMINLINE}
+{$endif}
+
 { don't use FPU registervariables on the i386 }
 { don't use FPU registervariables on the i386 }
 {$ifdef i386}
 {$ifdef i386}
   {$maxfpuregisters 0}
   {$maxfpuregisters 0}
@@ -260,8 +266,8 @@ Var
 ****************************************************************************}
 ****************************************************************************}
 
 
 Procedure Move(const source;var dest;count:Longint);
 Procedure Move(const source;var dest;count:Longint);
-Procedure FillChar(Var x;count:Longint;Value:Boolean);
-Procedure FillChar(Var x;count:Longint;Value:Char);
+Procedure FillChar(Var x;count:Longint;Value:Boolean);{$ifdef SYSTEMINLINE}inline;{$endif}
+Procedure FillChar(Var x;count:Longint;Value:Char);{$ifdef SYSTEMINLINE}inline;{$endif}
 Procedure FillChar(Var x;count:Longint;Value:Byte);
 Procedure FillChar(Var x;count:Longint;Value:Byte);
 procedure FillByte(var x;count:longint;value:byte);
 procedure FillByte(var x;count:longint;value:byte);
 Procedure FillWord(Var x;count:Longint;Value:Word);
 Procedure FillWord(Var x;count:Longint;Value:Word);
@@ -287,37 +293,37 @@ Function  lo(w:Word):byte;
 Function  lo(l:Longint):Word;
 Function  lo(l:Longint):Word;
 Function  lo(l:DWord):Word;
 Function  lo(l:DWord):Word;
 Function  lo(i:Integer):byte;
 Function  lo(i:Integer):byte;
-Function  lo(B: Byte):Byte;
+Function  lo(B: Byte):Byte;{$ifdef SYSTEMINLINE}inline;{$endif}
 Function  hi(w:Word):byte;
 Function  hi(w:Word):byte;
 Function  hi(i:Integer):byte;
 Function  hi(i:Integer):byte;
 Function  hi(l:Longint):Word;
 Function  hi(l:Longint):Word;
-Function  hi(b : Byte) : Byte;
+Function  hi(b : Byte) : Byte;{$ifdef SYSTEMINLINE}inline;{$endif}
 Function  hi(l: DWord): Word;
 Function  hi(l: DWord): Word;
-Function  Swap (X:Word):Word;
-Function  Swap (X:Integer):Integer;
-Function  Swap (X:Cardinal):Cardinal;
-Function  Swap (X:LongInt):LongInt;
 Function  lo(q : QWord) : DWord;
 Function  lo(q : QWord) : DWord;
 Function  lo(i : Int64) : DWord;
 Function  lo(i : Int64) : DWord;
 Function  hi(q : QWord) : DWord;
 Function  hi(q : QWord) : DWord;
 Function  hi(i : Int64) : DWord;
 Function  hi(i : Int64) : DWord;
-Function  Swap (X:QWord):QWord;
-Function  Swap (X:Int64):Int64;
+Function  Swap (X:Word):Word;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function  Swap (X:Integer):Integer;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function  Swap (X:Cardinal):Cardinal;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function  Swap (X:LongInt):LongInt;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function  Swap (X:QWord):QWord;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function  Swap (X:Int64):Int64;{$ifdef SYSTEMINLINE}inline;{$endif}
 
 
 Function  Random(l:cardinal):cardinal;
 Function  Random(l:cardinal):cardinal;
 Function  Random(l:longint):longint;
 Function  Random(l:longint):longint;
 Function  Random: extended;
 Function  Random: extended;
 Procedure Randomize;
 Procedure Randomize;
 
 
-Function abs(l:Longint):Longint;
-Function abs(l:Int64):Int64;
-Function sqr(l:Longint):Longint;
-Function sqr(l:Int64):Int64;
-Function sqr(l:QWord):QWord;
-Function odd(l:Longint):Boolean;
-Function odd(l:Cardinal):Boolean;
-Function odd(l:Int64):Boolean;
-Function odd(l:QWord):Boolean;
+Function abs(l:Longint):Longint;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function abs(l:Int64):Int64;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function sqr(l:Longint):Longint;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function sqr(l:Int64):Int64;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function sqr(l:QWord):QWord;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function odd(l:Longint):Boolean;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function odd(l:Cardinal):Boolean;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function odd(l:Int64):Boolean;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function odd(l:QWord):Boolean;{$ifdef SYSTEMINLINE}inline;{$endif}
 
 
 { float math routines }
 { float math routines }
 {$I mathh.inc}
 {$I mathh.inc}
@@ -326,10 +332,10 @@ Function odd(l:QWord):Boolean;
                          Addr/Pointer Handling
                          Addr/Pointer Handling
 ****************************************************************************}
 ****************************************************************************}
 
 
-Function  ptr(sel,off:Longint):farpointer;
-Function  Cseg:Word;
-Function  Dseg:Word;
-Function  Sseg:Word;
+Function  ptr(sel,off:Longint):farpointer;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function  Cseg:Word;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function  Dseg:Word;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function  Sseg:Word;{$ifdef SYSTEMINLINE}inline;{$endif}
 
 
 {****************************************************************************
 {****************************************************************************
                       PChar and String Handling
                       PChar and String Handling
@@ -504,12 +510,12 @@ Procedure getdir(drivenr:byte;Var dir:ansistring);
 *****************************************************************************}
 *****************************************************************************}
 
 
 { os independent calls to allow backtraces }
 { os independent calls to allow backtraces }
-function get_frame:longint;
-function get_caller_addr(framebp:longint):longint;
-function get_caller_frame(framebp:longint):longint;
+function get_frame:longint;{$ifdef SYSTEMINLINE}inline;{$endif}
+function get_caller_addr(framebp:longint):longint;{$ifdef SYSTEMINLINE}inline;{$endif}
+function get_caller_frame(framebp:longint):longint;{$ifdef SYSTEMINLINE}inline;{$endif}
 
 
-Function IOResult:Word;
-Function Sptr:Longint;
+Function IOResult:Word;{$ifdef SYSTEMINLINE}inline;{$endif}
+Function Sptr:Longint;{$ifdef SYSTEMINLINE}inline;{$endif}
 
 
 
 
 {*****************************************************************************
 {*****************************************************************************
@@ -520,10 +526,10 @@ Function  Paramcount:Longint;
 Function  ParamStr(l:Longint):string;
 Function  ParamStr(l:Longint):string;
 Procedure Dump_Stack(var f : text;bp:Longint);
 Procedure Dump_Stack(var f : text;bp:Longint);
 Procedure RunError(w:Word);
 Procedure RunError(w:Word);
-Procedure RunError;
+Procedure RunError;{$ifdef SYSTEMINLINE}inline;{$endif}
 Procedure halt(errnum:byte);
 Procedure halt(errnum:byte);
 Procedure AddExitProc(Proc:TProcedure);
 Procedure AddExitProc(Proc:TProcedure);
-Procedure halt;
+Procedure halt;{$ifdef SYSTEMINLINE}inline;{$endif}
 
 
 
 
 {*****************************************************************************
 {*****************************************************************************
@@ -581,7 +587,12 @@ const
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.51  2002-08-06 20:53:38  michael
+  Revision 1.52  2002-08-19 19:34:02  peter
+    * SYSTEMINLINE define that will add inline directives for small
+      functions and wrappers. This will be defined automaticly when
+      the compiler defines the HASINLINE directive
+
+  Revision 1.51  2002/08/06 20:53:38  michael
     + Added support for octal strings (using &)
     + Added support for octal strings (using &)
 
 
   Revision 1.50  2002/07/26 22:46:06  florian
   Revision 1.50  2002/07/26 22:46:06  florian