2
0
Эх сурвалжийг харах

* some small portability fixes

carl 23 жил өмнө
parent
commit
11a60a8a1e

+ 4 - 34
compiler/i386/cgcpu.pas

@@ -98,7 +98,6 @@ unit cgcpu;
         procedure a_op64_const_ref(list : taasmoutput;op:TOpCG;valuelosrc,valuehisrc:AWord;const ref : treference);override;
 
         procedure g_concatcopy(list : taasmoutput;const source,dest : treference;len : aword; delsource,loadref : boolean);override;
-        procedure g_maybe_loadself(list : taasmoutput); override;
 
         procedure g_push_exception(list : taasmoutput;const exceptbuf:treference;l:AWord; exceptlabel:TAsmLabel);override;
         procedure g_pop_exception(list : taasmoutput;endexceptlabel:tasmlabel);override;
@@ -1315,38 +1314,6 @@ unit cgcpu;
       end;
 
 
-    procedure tcg386.g_maybe_loadself(list : taasmoutput);
-      var
-         hp : treference;
-         p : pprocinfo;
-         i : longint;
-      begin
-         if assigned(procinfo^._class) then
-           begin
-              list.concat(Tairegalloc.Alloc(R_ESI));
-              if lexlevel>normal_function_level then
-                begin
-                   reference_reset_base(hp,procinfo^.framepointer,procinfo^.framepointer_offset);
-                   a_load_ref_reg(list,OS_ADDR,hp,R_ESI);
-                   p:=procinfo^.parent;
-                   for i:=3 to lexlevel-1 do
-                     begin
-                        reference_reset_base(hp,R_ESI,p^.framepointer_offset);
-                        a_load_ref_reg(list,OS_ADDR,hp,R_ESI);
-                        p:=p^.parent;
-                     end;
-                   reference_reset_base(hp,R_ESI,p^.selfpointer_offset);
-                   a_load_ref_reg(list,OS_ADDR,hp,R_ESI);
-                end
-              else
-                begin
-                   reference_reset_base(hp,procinfo^.framepointer,procinfo^.selfpointer_offset);
-                   a_load_ref_reg(list,OS_ADDR,hp,R_ESI);
-                end;
-           end;
-      end;
-
-
     procedure tcg386.g_push_exception(list : taasmoutput;const exceptbuf:treference;l:AWord; exceptlabel:TAsmLabel);
       var
         tempaddr,tempbuf : treference;
@@ -1771,7 +1738,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.15  2002-05-12 16:53:16  peter
+  Revision 1.16  2002-05-12 19:59:05  carl
+  * some small portability fixes
+
+  Revision 1.15  2002/05/12 16:53:16  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function

+ 6 - 3
compiler/ncgutil.pas

@@ -641,7 +641,7 @@ implementation
                end;
              floatdef :
                begin
-                 cg.a_loadfpu_ref_reg(list,cgsize,href,R_ST);
+                 cg.a_loadfpu_ref_reg(list,cgsize,href,fpuresultreg);
                end;
              else
                begin
@@ -681,7 +681,7 @@ implementation
                end;
              floatdef :
                begin
-                 cg.a_loadfpu_reg_ref(list,cgsize,R_ST,href);
+                 cg.a_loadfpu_reg_ref(list,cgsize,fpuresultreg,href);
                end;
              else
                begin
@@ -1248,7 +1248,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.11  2002-05-12 16:53:07  peter
+  Revision 1.12  2002-05-12 19:58:36  carl
+  * some small portability fixes
+
+  Revision 1.11  2002/05/12 16:53:07  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function