From a873f5a4a588b80c8d5d3e5846d58a3dd2cf7bfe Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 18 Jul 1999 10:41:59 +0000 Subject: [PATCH] * fix of my previous commit nevertheless it doesn't work completly --- compiler/cgai386.pas | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/compiler/cgai386.pas b/compiler/cgai386.pas index 42e9a468b7..aa0531bb50 100644 --- a/compiler/cgai386.pas +++ b/compiler/cgai386.pas @@ -2380,17 +2380,17 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister); begin getlabel(again); getlabel(ok); + emitlab(again); exprasmlist^.concat(new(pai386, op_const_reg(A_CMP,S_L,winstackpagesize,R_EDI))); - emitjmp(C_NC,ok); - emitlab(again); + emitjmp(C_C,ok); exprasmlist^.concat(new(pai386, op_const_reg(A_SUB,S_L,winstackpagesize-4,R_ESP))); exprasmlist^.concat(new(pai386, op_reg(A_PUSH,S_L,R_EAX))); exprasmlist^.concat(new(pai386, op_const_reg(A_SUB,S_L,winstackpagesize,R_EDI))); - emitjmp(C_NC,again); + emitjmp(C_None,again); emitlab(ok); exprasmlist^.concat(new(pai386, @@ -2414,10 +2414,10 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister); begin exprasmlist^.concat(new(pai386, op_reg_reg(A_SUB,S_L,R_EDI,R_ESP))); + { load destination } + exprasmlist^.concat(new(pai386, + op_reg_reg(A_MOV,S_L,R_ESP,R_EDI))); end; - { load destination } - exprasmlist^.concat(new(pai386, - op_reg_reg(A_MOV,S_L,R_ESP,R_EDI))); { don't destroy the registers! } exprasmlist^.concat(new(pai386, @@ -3110,7 +3110,10 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister); end. { $Log$ - Revision 1.15 1999-07-18 10:19:44 florian + Revision 1.16 1999-07-18 10:41:59 florian + * fix of my previous commit nevertheless it doesn't work completly + + Revision 1.15 1999/07/18 10:19:44 florian * made it compilable with Dlephi 4 again + fixed problem with large stack allocations on win32