2003-10-31 Zoltan Varga <vargaz@freemail.hu>
authorZoltan Varga <vargaz@gmail.com>
Fri, 31 Oct 2003 13:03:36 +0000 (13:03 -0000)
committerZoltan Varga <vargaz@gmail.com>
Fri, 31 Oct 2003 13:03:36 +0000 (13:03 -0000)
* */tramp.c (mono_create_method_pointer): Rename to
mono_arch_create_method_pointer, move common code to a new function in
interp.c.

* */tramp.c (mono_create_trampoline): Rename to
mono_arch_create_trampoline for consistency.

svn path=/trunk/mono/; revision=19500

mono/arch/ChangeLog
mono/arch/alpha/tramp.c
mono/arch/arm/tramp.c
mono/arch/hppa/tramp.c
mono/arch/ppc/tramp.c
mono/arch/s390/tramp.c
mono/arch/sparc/tramp.c
mono/arch/x86/tramp.c

index b5d71cfea261f6b621e350ddd1133cfd196ff715..655dcbaff24253a9f67b1b26f5a6ef55ace16317 100644 (file)
@@ -1,3 +1,12 @@
+2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
+
+       * */tramp.c (mono_create_method_pointer): Rename to 
+       mono_arch_create_method_pointer, move common code to a new function in
+       interp.c.
+
+       * */tramp.c (mono_create_trampoline): Rename to 
+       mono_arch_create_trampoline for consistency.
+       
 2003-10-13  Bernie Solomon  <bernard@ugsolutions.com>
 
        * x86/tramp.c: restore EDX after memcpy call
index c02a83acd8c4fa0be7ca3be71771f7fddf5a4a2c..ee5e94c28976dc217f4ad5c6141636e77d76cd2a 100644 (file)
@@ -213,7 +213,7 @@ static void calculate_size(MonoMethodSignature *sig, int * INSTRUCTIONS, int * S
 }
 
 MonoPIFunc
-mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
+mono_arch_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
 {
        unsigned char *p;
        unsigned char *buffer;
@@ -352,7 +352,7 @@ mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
 }
 
 void *
-mono_create_method_pointer (MonoMethod *method)
+mono_arch_create_method_pointer (MonoMethod *method)
 {
        g_error ("Unsupported arch");
        return NULL;
index 12793c8bb4925638c9dd284d70470204826b562a..8bebf1bd0dd5dac948df2fe16017f58195e6fcc9 100644 (file)
@@ -97,7 +97,7 @@ void* alloc_code_buff (int num_instr)
 /*
  * Refer to ARM Procedure Call Standard (APCS) for more info.
  */
-MonoPIFunc mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
+MonoPIFunc mono_arch_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
 {
        MonoType* param;
        MonoPIFunc code_buff;
@@ -435,7 +435,7 @@ enum_retvalue:
  * Still need to figure out how to handle the exception stuff
  * across the managed/unmanaged boundary.
  */
-void* mono_create_method_pointer (MonoMethod* method)
+void* mono_arch_create_method_pointer (MonoMethod* method)
 {
        MonoMethodSignature* sig;
        guchar* p, * p_method, * p_stackval_from_data, * p_exec;
@@ -444,20 +444,6 @@ void* mono_create_method_pointer (MonoMethod* method)
        int areg, reg_args, shift, pos;
        MonoJitInfo *ji;
 
-       /*
-        * If it is a static P/Invoke method just
-        * just return the pointer to the implementation
-        */
-       if (method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL && method->addr) {
-               ji = g_new0(MonoJitInfo, 1);
-               ji->method = method;
-               ji->code_size = 1;
-               ji->code_start = method->addr;
-
-               mono_jit_info_table_add(mono_root_domain, ji);
-               return method->addr;
-       }
-
        code_buff = alloc_code_buff(128);
        p = (guchar*)code_buff;
 
index 8302a148b509494c06c5866ed43c727acbccdc86..0604eb68efffb1d3125db5e2f507ae6550e3e273 100644 (file)
@@ -295,7 +295,7 @@ static void flush_cache(void *address, int length)
  */
 
 MonoPIFunc
-mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
+mono_arch_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
 {
        int pc, save_pc;
        int param;
@@ -677,7 +677,7 @@ generate:
 }
 
 void *
-mono_create_method_pointer (MonoMethod *method)
+mono_arch_create_method_pointer (MonoMethod *method)
 {
        MonoMethodSignature *sig = method->signature;
        MonoJitInfo *ji;
@@ -706,20 +706,6 @@ mono_create_method_pointer (MonoMethod *method)
                        fprintf(stderr, "%d: %d\n", i, sig->params[i]->type);
        }
 
-       /*
-        * If it is a static P/Invoke method, we can just return the pointer
-        * to the method implementation.
-        */
-       if (method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL && method->addr) {
-               ji = g_new0 (MonoJitInfo, 1);
-               ji->method = method;
-               ji->code_size = 1;
-               ji->code_start = method->addr;
-
-               mono_jit_info_table_add (mono_root_domain, ji);
-               return method->addr;
-       }
-
        // the extra stackval is for the return val if necessary
        // the 64 is for outgoing parameters and the 16 is the frame marker.
        // the other 16 is space for struct return vals < 16 bytes
index 529d1b41e0c1fd04bfabfc69e23dc09d52c50b5e..124eabfe6f305cac99a5222a8826e4564a268e90 100644 (file)
@@ -591,7 +591,7 @@ emit_epilog (guint8 *p, MonoMethodSignature *sig, guint stack_size)
 }
 
 MonoPIFunc
-mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
+mono_arch_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
 {
        guint8 *p, *code_buffer;
        guint stack_size, code_size;
@@ -650,7 +650,7 @@ mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
  * across the managed/unmanaged boundary.
  */
 void *
-mono_create_method_pointer (MonoMethod *method)
+mono_arch_create_method_pointer (MonoMethod *method)
 {
        MonoMethodSignature *sig;
        MonoJitInfo *ji;
@@ -660,20 +660,6 @@ mono_create_method_pointer (MonoMethod *method)
        gint *vtbuf;
        guint32 simpletype;
 
-       /*
-        * If it is a static P/Invoke method, we can just return the pointer
-        * to the method implementation.
-        */
-       if (method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL && method->addr) {
-               ji = g_new0 (MonoJitInfo, 1);
-               ji->method = method;
-               ji->code_size = 1;
-               ji->code_start = method->addr;
-
-               mono_jit_info_table_add (mono_root_domain, ji);
-               return method->addr;
-       }
-
        code_size = 1024;
        stack_size = 1024;
        stack_param = 0;
index d8ecbb51c133a9a37f557155f4d870019ef81173..c5ebbf984e8f55b2479db6363d5ae75a0d709649 100644 (file)
@@ -796,7 +796,7 @@ mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
 \f
 /*------------------------------------------------------------------*/
 /*                                                                  */
-/* Name                - mono_create_method_pointer                        */
+/* Name                - mono_arch_create_method_pointer                           */
 /*                                                                  */
 /* Function    - Returns a pointer to a native function that can   */
 /*               be used to call the specified method.             */
@@ -811,7 +811,7 @@ mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
 /*                                                                 */
 /* Logic:                                                          */
 /* ------                                                          */
-/*  mono_create_method_pointer (MonoMethod *method)                */
+/*  mono_arch_create_method_pointer (MonoMethod *method)                   */
 /*     create the unmanaged->managed wrapper                       */
 /*     register it with mono_jit_info_table_add()                  */
 /*                                                                 */
@@ -848,7 +848,7 @@ mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
 /*------------------------------------------------------------------*/
 
 void *
-mono_create_method_pointer (MonoMethod *method)
+mono_arch_create_method_pointer (MonoMethod *method)
 {
        MonoMethodSignature *sig;
        MonoJitInfo *ji;
index 7dae8e908f04bb0805db41e958587f87433f8c70..0bf55c1cd8460f69b0f1b9fb8e0930adcc56d5b1 100644 (file)
@@ -698,7 +698,7 @@ emit_call_and_store_retval (guint32 *p, MonoMethodSignature *sig,
 }
 
 MonoPIFunc
-mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
+mono_arch_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
 {
        guint32 *p, *code_buffer;
        guint stack_size, code_size, i;
@@ -744,7 +744,7 @@ mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
 #define MINV_POS (MINIMAL_STACK_SIZE * SLOT_SIZE + BIAS)
 
 void *
-mono_create_method_pointer (MonoMethod *method)
+mono_arch_create_method_pointer (MonoMethod *method)
 {
        MonoMethodSignature *sig;
        MonoJitInfo *ji;
@@ -755,16 +755,6 @@ mono_create_method_pointer (MonoMethod *method)
        gint *vtbuf;
        gint32 simpletype;
 
-       if (method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL && method->addr) {
-               ji = g_new0 (MonoJitInfo, 1);
-               ji->method = method;
-               ji->code_size = 1;
-               ji->code_start = method->addr;
-
-               mono_jit_info_table_add (mono_root_domain, ji);
-               return method->addr;
-       }
-
        code_size = 1024; /* these should be calculated... */
        stack_size = 1024;
        stack_param = 0;
index 4c71bc65855c51d5e4f821a0e91bddd30379859d..3b2e7c9c10d2eb5dbd9829ac0266cb8b9f772189 100644 (file)
@@ -32,7 +32,7 @@
 #define ARG_SIZE       sizeof (stackval)
 
 MonoPIFunc
-mono_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
+mono_arch_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
 {
        unsigned char *p, *code_buffer;
        guint32 stack_size = 0, code_size = 50;
@@ -339,7 +339,7 @@ enum_marshal:
  * across the managed/unmanaged boundary.
  */
 void *
-mono_create_method_pointer (MonoMethod *method)
+mono_arch_create_method_pointer (MonoMethod *method)
 {
        MonoMethodSignature *sig;
        MonoJitInfo *ji;
@@ -349,20 +349,6 @@ mono_create_method_pointer (MonoMethod *method)
        int i, size, align, cpos;
        int *vtbuf;
 
-       /*
-        * If it is a static P/Invoke method, we can just return the pointer
-        * to the method implementation.
-        */
-       if (method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL && method->addr) {
-               ji = g_new0 (MonoJitInfo, 1);
-               ji->method = method;
-               ji->code_size = 1;
-               ji->code_start = method->addr;
-
-               mono_jit_info_table_add (mono_root_domain, ji);
-               return method->addr;
-       }
-
        sig = method->signature;
 
        code_buffer = p = alloca (512); /* FIXME: check for overflows... */