Browse Source

* fixes of Jonas applied

florian 27 years ago
parent
commit
bef30e693c
2 changed files with 16 additions and 9 deletions
  1. 6 2
      compiler/aopt386.pas
  2. 10 7
      compiler/cgi386.pas

+ 6 - 2
compiler/aopt386.pas

@@ -1441,7 +1441,8 @@ End;
                            hp1 := Pai(p^.next);
                            While Assigned(hp1) And
                                  (Pai(hp1)^.typ In [ait_instruction]+SkipInstr) And
-                                 (Pai386(hp1)^._operator <> A_PUSH) Do
+                                  Not((Pai(hp1)^.typ = ait_instruction) And
+                                      (Pai386(hp1)^._operator in [A_CALL,A_PUSH])) do
                              hp1 := Pai(hp1^.next);
                            If Assigned(hp1) And
                                (Pai(hp1)^.typ = ait_instruction) And
@@ -1614,7 +1615,10 @@ end;
 End.
 {
   $Log$
-  Revision 1.6  1998-04-21 11:30:14  peter
+  Revision 1.7  1998-04-23 21:52:08  florian
+    * fixes of Jonas applied
+
+  Revision 1.6  1998/04/21 11:30:14  peter
     * fixed $ifdef regalloc
 
   Revision 1.5  1998/04/16 16:53:56  jonas

+ 10 - 7
compiler/cgi386.pas

@@ -4127,12 +4127,12 @@ implementation
                    p^.location.reference.index)));
               end;
             LOC_MEM,LOC_REFERENCE :
-                            begin
-                               del_reference(p^.left^.location.reference);
-                               p^.location.reference.index:=getregister32;
-                               exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,newreference(p^.left^.location.reference),
-                                 p^.location.reference.index)));
-                            end;
+              begin
+                 del_reference(p^.left^.location.reference);
+                 p^.location.reference.index:=getregister32;
+                 exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,newreference(p^.left^.location.reference),
+                   p^.location.reference.index)));
+              end;
          end;
       end;
 
@@ -5875,7 +5875,10 @@ do_jmp:
 end.
 {
   $Log$
-  Revision 1.15  1998-04-22 21:06:49  florian
+  Revision 1.16  1998-04-23 21:52:08  florian
+    * fixes of Jonas applied
+
+  Revision 1.15  1998/04/22 21:06:49  florian
     * last fixes before the release:
       - veryyyy slow firstcall fixed