Pārlūkot izejas kodu

* 1.1 does not need to load esi

peter 22 gadi atpakaļ
vecāks
revīzija
0460035f53
1 mainītis faili ar 21 papildinājumiem un 1 dzēšanām
  1. 21 1
      rtl/inc/objects.pp

+ 21 - 1
rtl/inc/objects.pp

@@ -716,6 +716,13 @@ end ['EAX'];
     move.l (a6),d0
 end ['D0'];
 {$endif}
+{$ifdef sparc}
+{$define FPC_PreviousFramePointer_Implemented}
+    { we have first our own frame }
+    ld [%fp],%i0
+    ld [%io],%i0
+end;
+{$endif}
 {$ifdef powerpc}
 {$define FPC_PreviousFramePointer_Implemented}
     {$warning FIX ME !!!! }
@@ -732,6 +739,7 @@ end;
 function CallPointerConstructor(Ctor: pointer; Obj: pointer; VMT: pointer; Param1: pointer): pointer;
 {$undef FPC_CallPointerConstructor_Implemented}
 begin
+{$ifdef VER1_0}
   asm
 {$ifdef i386}
 {$define FPC_CallPointerConstructor_Implemented}
@@ -742,6 +750,10 @@ begin
         move.l Obj, a5
 {$endif}
   end;
+{$else}
+{ 1.1 does not esi to be loaded }
+{$define FPC_CallPointerConstructor_Implemented}
+{$endif}  
   CallPointerConstructor := PointerConstructor(Ctor)(VMT, Obj, Param1)
 end;
 {$ifdef powerpc}
@@ -757,6 +769,7 @@ end;
 function CallPointerMethod(Method: pointer; Obj: pointer; Param1: pointer): pointer;
 {$undef FPC_CallPointerMethod_Implemented}
 begin
+{$ifdef VER1_0}
   asm
 {$ifdef i386}
 {$define FPC_CallPointerMethod_Implemented}
@@ -772,6 +785,10 @@ begin
   so self should be in a register anyways }
 {$endif}
   end;
+{$else}  
+{ 1.1 does not esi to be loaded }
+{$define FPC_CallPointerMethod_Implemented}
+{$endif}  
   CallPointerMethod := PointerMethod(Method)(Obj, Param1)
 end;
 {$ifndef FPC_CallPointerMethod_Implemented}
@@ -2910,7 +2927,10 @@ END;
 END.
 {
   $Log$
-  Revision 1.19  2003-06-05 14:45:56  peter
+  Revision 1.20  2003-07-08 21:21:33  peter
+    * 1.1 does not need to load esi
+
+  Revision 1.19  2003/06/05 14:45:56  peter
     * use Windows THandle
 
   Revision 1.18  2003/01/05 16:27:05  hajny