cinvoke-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cinvoke-svn] r87 - in trunk/cinvoke/lib: . arch


From: will
Subject: [cinvoke-svn] r87 - in trunk/cinvoke/lib: . arch
Date: 12 Jul 2006 20:23:16 -0400

Author: will
Date: 2006-07-12 20:23:15 -0400 (Wed, 12 Jul 2006)
New Revision: 87

Modified:
   trunk/cinvoke/lib/arch/cl_x86_win.c
   trunk/cinvoke/lib/arch/empty_empty_empty.c
   trunk/cinvoke/lib/arch/gcc_ppc_osx.c
   trunk/cinvoke/lib/arch/gcc_x64_unix.c
   trunk/cinvoke/lib/arch/gcc_x86_unix.c
   trunk/cinvoke/lib/cinvoke-arch.h
   trunk/cinvoke/lib/cinvoke.c
Log:
pass more args to callback stub maker


Modified: trunk/cinvoke/lib/arch/cl_x86_win.c
===================================================================
--- trunk/cinvoke/lib/arch/cl_x86_win.c 2006-07-12 04:55:28 UTC (rev 86)
+++ trunk/cinvoke/lib/arch/cl_x86_win.c 2006-07-13 00:23:15 UTC (rev 87)
@@ -90,7 +90,7 @@
 const static int LEN = 4096;
 
 char *arch_callback_stub(void *functionp, void *param,
-       short stacksize, cinv_callconv_t cc) {
+       short stacksize, cinv_callconv_t cc, cinv_type_t types[], int 
numparams) {
        int codesize;
        const char *code;
        char *ret;

Modified: trunk/cinvoke/lib/arch/empty_empty_empty.c
===================================================================
--- trunk/cinvoke/lib/arch/empty_empty_empty.c  2006-07-12 04:55:28 UTC (rev 86)
+++ trunk/cinvoke/lib/arch/empty_empty_empty.c  2006-07-13 00:23:15 UTC (rev 87)
@@ -89,7 +89,7 @@
 //const static int LEN = 4096;
 
 char *arch_callback_stub(void *functionp, void *param,
-       short stacksize, cinv_callconv_t cc) {
+       short stacksize, cinv_callconv_t cc, cinv_type_t types[], int 
numparams) {
        // TODO: this function returns a chunk of executable memory
        // which contains a compiled function.  This compiled function
        // performs one task: call the function pointed to by functionp,

Modified: trunk/cinvoke/lib/arch/gcc_ppc_osx.c
===================================================================
--- trunk/cinvoke/lib/arch/gcc_ppc_osx.c        2006-07-12 04:55:28 UTC (rev 86)
+++ trunk/cinvoke/lib/arch/gcc_ppc_osx.c        2006-07-13 00:23:15 UTC (rev 87)
@@ -83,7 +83,7 @@
 const static int LEN = 4096;
 
 char *arch_callback_stub(void *functionp, void *param,
-       short stacksize, cinv_callconv_t cc) {
+       short stacksize, cinv_callconv_t cc, cinv_type_t types[], int 
numparams) {
        char *ret = mmap(0, LEN, PROT_EXEC|PROT_READ|PROT_WRITE,
                MAP_ANON|MAP_PRIVATE, -1, 0);
        if (ret == MAP_FAILED)

Modified: trunk/cinvoke/lib/arch/gcc_x64_unix.c
===================================================================
--- trunk/cinvoke/lib/arch/gcc_x64_unix.c       2006-07-12 04:55:28 UTC (rev 86)
+++ trunk/cinvoke/lib/arch/gcc_x64_unix.c       2006-07-13 00:23:15 UTC (rev 87)
@@ -81,7 +81,7 @@
 const static int LEN = 4096;
 
 char *arch_callback_stub(void *functionp, void *param,
-       short stacksize, cinv_callconv_t cc) {
+       short stacksize, cinv_callconv_t cc, cinv_type_t types[], int 
numparams) {
        char *ret = mmap(0, LEN, PROT_EXEC|PROT_READ|PROT_WRITE,
                MAP_ANON|MAP_PRIVATE, -1, 0);
        if (ret == MAP_FAILED)

Modified: trunk/cinvoke/lib/arch/gcc_x86_unix.c
===================================================================
--- trunk/cinvoke/lib/arch/gcc_x86_unix.c       2006-07-12 04:55:28 UTC (rev 86)
+++ trunk/cinvoke/lib/arch/gcc_x86_unix.c       2006-07-13 00:23:15 UTC (rev 87)
@@ -81,7 +81,7 @@
 const static int LEN = 4096;
 
 char *arch_callback_stub(void *functionp, void *param,
-       short stacksize, cinv_callconv_t cc) {
+       short stacksize, cinv_callconv_t cc, cinv_type_t types[], int 
numparams) {
        char *ret = mmap(0, LEN, PROT_EXEC|PROT_READ|PROT_WRITE,
                MAP_ANON|MAP_PRIVATE, -1, 0);
        if (ret == MAP_FAILED)

Modified: trunk/cinvoke/lib/cinvoke-arch.h
===================================================================
--- trunk/cinvoke/lib/cinvoke-arch.h    2006-07-12 04:55:28 UTC (rev 86)
+++ trunk/cinvoke/lib/cinvoke-arch.h    2006-07-13 00:23:15 UTC (rev 87)
@@ -97,7 +97,8 @@
        ArchLibrary *library, const char *name, void **entrypoint_out);
 cinv_status_t arch_library_delete(CInvContext *context, ArchLibrary *library);
 
-char *arch_callback_stub(void *functionp, void *param, short stacksize, 
cinv_callconv_t cc);
+char *arch_callback_stub(void *functionp, void *param, short stacksize,
+                                                cinv_callconv_t cc, 
cinv_type_t types[], int numparams);
 void arch_free_stub(char *stub);
 
 int arch_is_register_parm(cinv_callconv_t callingconvention, int index,

Modified: trunk/cinvoke/lib/cinvoke.c
===================================================================
--- trunk/cinvoke/lib/cinvoke.c 2006-07-12 04:55:28 UTC (rev 86)
+++ trunk/cinvoke/lib/cinvoke.c 2006-07-13 00:23:15 UTC (rev 87)
@@ -519,7 +519,8 @@
                context_set_nomem(context);
                return NULL;
        }
-       ret->stub = arch_callback_stub(cinv_cbthunk, ret, prototype->stacksize, 
prototype->callconv);
+       ret->stub = arch_callback_stub(cinv_cbthunk, ret, prototype->stacksize,
+               prototype->callconv, prototype->parmtypes, prototype->numparms);
        if (!ret->stub) {
                free(ret);
                context_set_nomem(context);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]