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;
}