X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FCCall.h;h=3040c174916550e3b18bde611dea064c9175fa84;hb=abf2d89bfe6bcf075791000f7a54901f9f1f37be;hp=97ff9df6499f911dd0fc23913914e2da60713965;hpb=7f309f1c021e7583f724cce599ce2dd3c439361b;p=ghc-hetmet.git diff --git a/ghc/includes/CCall.h b/ghc/includes/CCall.h index 97ff9df..3040c17 100644 --- a/ghc/includes/CCall.h +++ b/ghc/includes/CCall.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: CCall.h,v 1.3 1999/02/05 16:02:19 simonm Exp $ + * $Id: CCall.h,v 1.4 2000/01/13 14:34:00 hwloidl Exp $ * * (c) The GHC Team, 1998-1999 * @@ -55,6 +55,9 @@ #define STGCALL5(f,a,b,c,d,e) \ CALLER_SAVE_ALL (void) f(a,b,c,d,e); CALLER_RESTORE_ALL +#define STGCALL6(f,a,b,c,d,e,z) \ + CALLER_SAVE_ALL (void) f(a,b,c,d,e,z); CALLER_RESTORE_ALL + #define RET_STGCALL0(t,f) \ ({ t _r; CALLER_SAVE_ALL _r = f(); CALLER_RESTORE_ALL; _r; }) @@ -74,6 +77,9 @@ #define RET_STGCALL5(t,f,a,b,c,d,e) \ ({ t _r; CALLER_SAVE_ALL _r = f(a,b,c,d,e); CALLER_RESTORE_ALL; _r; }) +#define RET_STGCALL6(t,f,a,b,c,d,e,z) \ + ({ t _r; CALLER_SAVE_ALL _r = f(a,b,c,d,e,z); CALLER_RESTORE_ALL; _r; }) + /* * A PRIM_STGCALL is used when we have arranged to save the R, @@ -101,6 +107,9 @@ #define PRIM_STGCALL5(f,a,b,c,d,e) \ CALLER_SAVE_SYSTEM (void) f(a,b,c,d,e); CALLER_RESTORE_SYSTEM +#define PRIM_STGCALL6(f,a,b,c,d,e,z) \ + CALLER_SAVE_SYSTEM (void) f(a,b,c,d,e,z); CALLER_RESTORE_SYSTEM + #define RET_PRIM_STGCALL0(t,f) \ ({ t _r; CALLER_SAVE_SYSTEM _r = f(); CALLER_RESTORE_SYSTEM; _r; }) @@ -120,6 +129,9 @@ #define RET_PRIM_STGCALL5(t,f,a,b,c,d,e) \ ({ t _r; CALLER_SAVE_SYSTEM _r = f(a,b,c,d,e); CALLER_RESTORE_SYSTEM; _r; }) +#define RET_PRIM_STGCALL6(t,f,a,b,c,d,e,z) \ + ({ t _r; CALLER_SAVE_SYSTEM _r = f(a,b,c,d,e,z); CALLER_RESTORE_SYSTEM; _r; }) + /* ToDo: ccalls that might garbage collect - do we need to return to * the scheduler to perform these? Similarly, ccalls that might want * to call Haskell right back, or start a new thread or something.