[svn:parrot] r41722 - branches/pcc_reapply/src/call

bacek at svn.parrot.org bacek at svn.parrot.org
Mon Oct 5 00:55:36 UTC 2009


Author: bacek
Date: Mon Oct  5 00:55:31 2009
New Revision: 41722
URL: https://trac.parrot.org/parrot/changeset/41722

Log:
"Fix" fetching caller_ctx in clone_key_arg.

I don't quite understand why do we have 2 levels of caller_ctx here...

Modified:
   branches/pcc_reapply/src/call/args.c

Modified: branches/pcc_reapply/src/call/args.c
==============================================================================
--- branches/pcc_reapply/src/call/args.c	Sun Oct  4 23:28:39 2009	(r41721)
+++ branches/pcc_reapply/src/call/args.c	Mon Oct  5 00:55:31 2009	(r41722)
@@ -2283,7 +2283,11 @@
             Regs_ni bp;
             Regs_ps bp_ps;
             PMC *res;
-            PMC *caller_ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
+            /* XXX We are 2 levels below original Key Context. Why? */
+            /* Next line intentionally left too long to bring attention */
+            PMC *caller_ctx = Parrot_pcc_get_caller_ctx(interp, Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp)));
+
+            PARROT_ASSERT(!PMC_IS_NULL(caller_ctx) || !"Need caller_ctx to clone Key");
 
             /* clone sets key values according to refered register items */
             bp    = *Parrot_pcc_get_regs_ni(interp, CURRENT_CONTEXT(interp));


More information about the parrot-commits mailing list