Author: leo
Date: Mon Mar 13 10:22:32 2006
New Revision: 11887

Modified:
   trunk/src/pmc/sub.pmc

Log:
get rid of bogus Sub.clear_fixup
thanks to audreyt for spotting the problem on f-bsd

Modified: trunk/src/pmc/sub.pmc
==============================================================================
--- trunk/src/pmc/sub.pmc       (original)
+++ trunk/src/pmc/sub.pmc       Mon Mar 13 10:22:32 2006
@@ -24,37 +24,6 @@
 #include <assert.h>
 
 static void
-clear_fixup(Interp* interpreter, PMC* self)
-{
-    opcode_t i, ci;
-    struct PackFile_ByteCode *seg;
-    struct PackFile_FixupTable *ft;
-    struct PackFile_ConstTable *ct;
-
-    seg = PMC_sub(self)->seg;
-    if (!seg)
-        return;
-    ft = seg->fixups;
-    if (!ft)
-        return;
-    ct = seg->const_table;
-    if (!ct)
-        return;
-    for (i = 0; i < ft->fixup_count; i++) {
-        switch (ft->fixups[i]->type) {
-            case enum_fixup_sub:
-                ci = ft->fixups[i]->offset;
-                if (ct->constants[ci]->u.key == self) {
-                    ct->constants[ci]->u.key = NULL;
-                    ft->fixups[i]->type = 0;
-                    break;
-                }
-
-        }
-    }
-}
-
-static void
 print_sub_name(Interp* interpreter, PMC* sub)
 {
     Interp *tracer;
@@ -134,7 +103,6 @@
                     n && n->strstart ? (char*)n->strstart : "???");
         }
 #endif
-        clear_fixup(INTERP, SELF);
         mem_sys_free(sub);
         PMC_struct_val(SELF) = NULL;
     }

Reply via email to