cvsuser 04/12/21 03:55:55
Modified: dynclasses pyclass.pmc pylist.pmc pyproxyclass.pmc
pyproxytype.pmc pytype.pmc
Log:
Tracing
Revision Changes Path
1.18 +6 -1 parrot/dynclasses/pyclass.pmc
Index: pyclass.pmc
===================================================================
RCS file: /cvs/public/parrot/dynclasses/pyclass.pmc,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- pyclass.pmc 21 Dec 2004 00:09:29 -0000 1.17
+++ pyclass.pmc 21 Dec 2004 11:55:55 -0000 1.18
@@ -1,6 +1,6 @@
/*
Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-$Id: pyclass.pmc,v 1.17 2004/12/21 00:09:29 rubys Exp $
+$Id: pyclass.pmc,v 1.18 2004/12/21 11:55:55 rubys Exp $
=head1 NAME
@@ -42,6 +42,11 @@
bp_save = interpreter->ctx.bp;
+ if (Interp_flags_TEST(interpreter, PARROT_TRACE_FLAG)) {
+ PIO_eprintf(interpreter, "# Invoking %Ss on %Ss\n",
+ REG_STR(0), REG_PMC(2)->vtable->whoami);
+ }
+
dest = VTABLE_invoke(interpreter, sub, NULL);
bp_new = interpreter->ctx.bp;
1.14 +2 -1 parrot/dynclasses/pylist.pmc
Index: pylist.pmc
===================================================================
RCS file: /cvs/public/parrot/dynclasses/pylist.pmc,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- pylist.pmc 21 Dec 2004 03:07:44 -0000 1.13
+++ pylist.pmc 21 Dec 2004 11:55:55 -0000 1.14
@@ -1,6 +1,6 @@
/*
Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-$Id: pylist.pmc,v 1.13 2004/12/21 03:07:44 rubys Exp $
+$Id: pylist.pmc,v 1.14 2004/12/21 11:55:55 rubys Exp $
=head1 NAME
@@ -54,6 +54,7 @@
REG_INT(3) = 2;
REG_PMC(5) = temp;
REG_PMC(6) = pivot;
+ REG_STR(0) = VTABLE_name(interpreter, cmpsub);
bp = Parrot_PyClass_runops_fromc(interpreter, cmpsub);
cmp = VTABLE_get_integer(interpreter, BP_REG_PMC(bp,5));
}
1.6 +6 -1 parrot/dynclasses/pyproxyclass.pmc
Index: pyproxyclass.pmc
===================================================================
RCS file: /cvs/public/parrot/dynclasses/pyproxyclass.pmc,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- pyproxyclass.pmc 20 Dec 2004 13:10:18 -0000 1.5
+++ pyproxyclass.pmc 21 Dec 2004 11:55:55 -0000 1.6
@@ -1,6 +1,6 @@
/*
Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-$Id: pyproxyclass.pmc,v 1.5 2004/12/20 13:10:18 rubys Exp $
+$Id: pyproxyclass.pmc,v 1.6 2004/12/21 11:55:55 rubys Exp $
=head1 NAME
@@ -103,6 +103,11 @@
INTERP->ctx.current_object = REG_PMC(2) = REG_PMC(5) =
VTABLE_getprop(INTERP, proxy, PROXY);
+ if (Interp_flags_TEST(interpreter, PARROT_TRACE_FLAG)) {
+ PIO_eprintf(interpreter, "# Invoking %Ss on %Ss via proxy\n",
+ REG_STR(0), REG_PMC(2)->vtable->whoami);
+ }
+
return VTABLE_invoke(INTERP, (PMC*)PMC_struct_val(SELF), next);
}
1.7 +5 -3 parrot/dynclasses/pyproxytype.pmc
Index: pyproxytype.pmc
===================================================================
RCS file: /cvs/public/parrot/dynclasses/pyproxytype.pmc,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- pyproxytype.pmc 21 Dec 2004 00:09:30 -0000 1.6
+++ pyproxytype.pmc 21 Dec 2004 11:55:55 -0000 1.7
@@ -1,6 +1,6 @@
/*
Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-$Id: pyproxytype.pmc,v 1.6 2004/12/21 00:09:30 rubys Exp $
+$Id: pyproxytype.pmc,v 1.7 2004/12/21 11:55:55 rubys Exp $
=head1 NAME
@@ -138,7 +138,8 @@
struct Parrot_Context ctx;
save_context(interpreter, &ctx);
INTERP->ctx.current_object = SELF;
- REG_PMC(5) = SELF;
+ REG_PMC(2) = REG_PMC(5) = SELF;
+ REG_STR(0) = NEW;
bp = Parrot_PyClass_runops_fromc(INTERP, new);
object = BP_REG_PMC(bp,5);
restore_context(interpreter, &ctx);
@@ -159,7 +160,8 @@
struct Parrot_Context ctx;
save_context(interpreter, &ctx);
INTERP->ctx.current_object = proxy;
- REG_PMC(5) = proxy;
+ REG_PMC(2) = REG_PMC(5) = proxy;
+ REG_STR(0) = INIT;
Parrot_PyClass_runops_fromc(INTERP, init);
restore_context(interpreter, &ctx);
}
1.10 +14 -4 parrot/dynclasses/pytype.pmc
Index: pytype.pmc
===================================================================
RCS file: /cvs/public/parrot/dynclasses/pytype.pmc,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- pytype.pmc 21 Dec 2004 00:09:30 -0000 1.9
+++ pytype.pmc 21 Dec 2004 11:55:55 -0000 1.10
@@ -1,6 +1,6 @@
/*
Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-$Id: pytype.pmc,v 1.9 2004/12/21 00:09:30 rubys Exp $
+$Id: pytype.pmc,v 1.10 2004/12/21 11:55:55 rubys Exp $
=head1 NAME
@@ -88,7 +88,15 @@
PMC *parent;
PMC *method = VTABLE_getprop(INTERP, SELF, method_name);
- if (method && VTABLE_defined(INTERP, method)) return method;
+ if (method && VTABLE_defined(INTERP, method)) {
+ if (Interp_flags_TEST(interpreter, PARROT_TRACE_FLAG)) {
+ PIO_eprintf(interpreter, "# Found %Ss method %Ss on %Ss\n",
+ method->vtable->whoami, method_name,
+ VTABLE_name(INTERP, SELF));
+ }
+
+ return method;
+ }
parent = VTABLE_getprop(INTERP, SELF, BASES);
if (parent && VTABLE_defined(INTERP, parent)) {
@@ -157,7 +165,8 @@
struct Parrot_Context ctx;
save_context(interpreter, &ctx);
INTERP->ctx.current_object = SELF;
- REG_PMC(5) = SELF;
+ REG_PMC(2) = REG_PMC(5) = SELF;
+ REG_STR(0) = NEW;
bp = Parrot_PyClass_runops_fromc(INTERP, new);
object = BP_REG_PMC(bp,5);
restore_context(interpreter, &ctx);
@@ -172,7 +181,8 @@
struct Parrot_Context ctx;
save_context(interpreter, &ctx);
INTERP->ctx.current_object = object;
- REG_PMC(5) = object;
+ REG_PMC(2) = REG_PMC(5) = object;
+ REG_STR(0) = INIT;
Parrot_PyClass_runops_fromc(INTERP, init);
restore_context(interpreter, &ctx);
}