cvsuser 05/03/30 06:04:40
Modified: classes closure.pmc eval.pmc sub.pmc
t/pmc mmd.t
Log:
MMD 10 - fix Sub PMC marking
Revision Changes Path
1.24 +2 -1 parrot/classes/closure.pmc
Index: closure.pmc
===================================================================
RCS file: /cvs/public/parrot/classes/closure.pmc,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- closure.pmc 26 Mar 2005 12:07:24 -0000 1.23
+++ closure.pmc 30 Mar 2005 14:04:39 -0000 1.24
@@ -1,6 +1,6 @@
/*
Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-$Id: closure.pmc,v 1.23 2005/03/26 12:07:24 leo Exp $
+$Id: closure.pmc,v 1.24 2005/03/30 14:04:39 leo Exp $
=head1 NAME
@@ -57,6 +57,7 @@
void mark () {
struct Parrot_sub * sub = PMC_sub(SELF);
+ SUPER();
mark_stack(INTERP, sub->pad_stack);
}
1.40 +1 -13 parrot/classes/eval.pmc
Index: eval.pmc
===================================================================
RCS file: /cvs/public/parrot/classes/eval.pmc,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- eval.pmc 26 Mar 2005 12:07:24 -0000 1.39
+++ eval.pmc 30 Mar 2005 14:04:39 -0000 1.40
@@ -1,6 +1,6 @@
/*
Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-$Id: eval.pmc,v 1.39 2005/03/26 12:07:24 leo Exp $
+$Id: eval.pmc,v 1.40 2005/03/30 14:04:39 leo Exp $
=head1 NAME
@@ -61,18 +61,6 @@
sub_data->seg = NULL;
}
- void mark() {
- parrot_sub_t sub_data;
- PObj *name;
-
- sub_data = PMC_sub(SELF);
- if (!sub_data)
- return;
- name = (PObj*)sub_data->name;
- if (name)
- pobject_lives(INTERP, name);
- }
-
void destroy() {
/*
* If the compiled code contained any .sub (or .pcc.sub)
1.74 +2 -2 parrot/classes/sub.pmc
Index: sub.pmc
===================================================================
RCS file: /cvs/public/parrot/classes/sub.pmc,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- sub.pmc 26 Mar 2005 12:07:24 -0000 1.73
+++ sub.pmc 30 Mar 2005 14:04:39 -0000 1.74
@@ -1,6 +1,6 @@
/*
Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-$Id: sub.pmc,v 1.73 2005/03/26 12:07:24 leo Exp $
+$Id: sub.pmc,v 1.74 2005/03/30 14:04:39 leo Exp $
=head1 NAME
@@ -119,7 +119,7 @@
void init () {
PMC_sub(SELF) = new_sub(INTERP);
PMC_pmc_val(SELF) = NULL;
- PObj_active_destroy_SET(SELF);
+ PObj_custom_mark_destroy_SETALL(SELF);
#if 0
if (Interp_flags_TEST(INTERP, PARROT_DEBUG_FLAG))
printf("Address of base segment is %p\n",
1.18 +1 -3 parrot/t/pmc/mmd.t
Index: mmd.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/mmd.t,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- mmd.t 30 Mar 2005 12:54:37 -0000 1.17
+++ mmd.t 30 Mar 2005 14:04:40 -0000 1.18
@@ -1,6 +1,6 @@
#! perl -w
# Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-# $Id: mmd.t,v 1.17 2005/03/30 12:54:37 leo Exp $
+# $Id: mmd.t,v 1.18 2005/03/30 14:04:40 leo Exp $
=head1 NAME
@@ -355,7 +355,6 @@
pir_output_is(<<'CODE', <<'OUT', "MMD on argument count");
.namespace ["main"]
.sub main @MAIN
- sweepoff # TODO
p("ok 1\n")
p("-twice", "ok 2\n")
.end
@@ -386,7 +385,6 @@
pir_output_is(<<'CODE', <<'OUT', "MMD on mative types");
.namespace ["main"]
.sub main @MAIN
- sweepoff # TODO
p("ok 1\n")
p(42)
.end