Author: zoltan
Date: 2005-06-16 06:38:57 -0400 (Thu, 16 Jun 2005)
New Revision: 46082

Modified:
   trunk/mono/mono/mini/ChangeLog
   trunk/mono/mono/mini/aot.c
   trunk/mono/mono/mini/mini.c
Log:
2005-06-16  Zoltan Varga  <[EMAIL PROTECTED]>

        * aot.c (mono_compile_assembly): Mark the "methods" symbol as a 
function so
        it gets proper disassembly.
        (emit_method_info): Remove some dead code.

        * mini.c (mini_method_compile): Allways allocate the GOT var in
        mono_method_to_ir for emulating opcodes.


Modified: trunk/mono/mono/mini/ChangeLog
===================================================================
--- trunk/mono/mono/mini/ChangeLog      2005-06-16 10:29:41 UTC (rev 46081)
+++ trunk/mono/mono/mini/ChangeLog      2005-06-16 10:38:57 UTC (rev 46082)
@@ -1,3 +1,12 @@
+2005-06-16  Zoltan Varga  <[EMAIL PROTECTED]>
+
+       * aot.c (mono_compile_assembly): Mark the "methods" symbol as a 
function so
+       it gets proper disassembly.
+       (emit_method_info): Remove some dead code.
+
+       * mini.c (mini_method_compile): Allways allocate the GOT var in
+       mono_method_to_ir for emulating opcodes.
+
 2005-06-13  Zoltan Varga  <[EMAIL PROTECTED]>
 
        * mini.c (mono_jit_free_method): Remove the method from the JitInfo 
table

Modified: trunk/mono/mono/mini/aot.c
===================================================================
--- trunk/mono/mono/mini/aot.c  2005-06-16 10:29:41 UTC (rev 46081)
+++ trunk/mono/mono/mini/aot.c  2005-06-16 10:38:57 UTC (rev 46082)
@@ -1717,12 +1717,7 @@
                        guint32 icall_index;
 
                        icall_index = GPOINTER_TO_UINT (g_hash_table_lookup 
(acfg->icall_hash, patch_info->data.name));
-                       if (!icall_index) {
-                               icall_index = g_hash_table_size 
(acfg->icall_hash) + 1;
-                               g_hash_table_insert (acfg->icall_hash, 
(gpointer)patch_info->data.name,
-                                                                        
GUINT_TO_POINTER (icall_index));
-                               g_ptr_array_add (acfg->icall_table, 
(gpointer)patch_info->data.name);
-                       }
+                       g_assert (icall_index);
                        encode_value (icall_index - 1, p, &p);
                        break;
                }
@@ -2106,7 +2101,7 @@
        /* Emit code */
        symbol = g_strdup_printf ("methods");
        emit_section_change (tmpfp, ".text", 0);
-       emit_global (tmpfp, symbol, FALSE);
+       emit_global (tmpfp, symbol, TRUE);
        emit_alignment (tmpfp, 8);
        emit_label (tmpfp, symbol);
 

Modified: trunk/mono/mono/mini/mini.c
===================================================================
--- trunk/mono/mono/mini/mini.c 2005-06-16 10:29:41 UTC (rev 46081)
+++ trunk/mono/mono/mini/mini.c 2005-06-16 10:38:57 UTC (rev 46082)
@@ -4395,6 +4395,7 @@
                        if (mono_find_jit_opcode_emulation (ins->opcode)) {
                                --sp;
                                *sp++ = emit_tree (cfg, bblock, ins, ip + 1);
+                               mono_get_got_var (cfg);
                        }
                        ip++;
                        break;
@@ -4416,6 +4417,7 @@
                        if (mono_find_jit_opcode_emulation (ins->opcode)) {
                                --sp;
                                *sp++ = emit_tree (cfg, bblock, ins, ip + 1);
+                               mono_get_got_var (cfg);
                        }
                        ip++;                   
                        break;
@@ -5765,6 +5767,7 @@
                        if (mono_find_jit_opcode_emulation (ins->opcode)) {
                                --sp;
                                *sp++ = emit_tree (cfg, bblock, ins, ip + 1);
+                               mono_get_got_var (cfg);
                        }
                        ip++;
                        break;
@@ -9114,8 +9117,7 @@
        if (cfg->got_var) {
                GList *regs;
 
-               /* The decompose pass may create calls which need the got var */
-               mono_emit_load_got_addr (cfg);
+               g_assert (cfg->got_var_allocated);
 
                /* 
                 * Allways allocate the GOT var to a register, because keeping 
it

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to