[svn:parrot] r43127 - branches/context_unify3/src/pmc

chromatic at svn.parrot.org chromatic at svn.parrot.org
Thu Dec 17 08:31:33 UTC 2009


Author: chromatic
Date: Thu Dec 17 08:31:32 2009
New Revision: 43127
URL: https://trac.parrot.org/parrot/changeset/43127

Log:
[PMC] Added a specific invoke() VTABLE entry for Null PMC to pop the context
created to call it; this makes t/op/debuginfo.t pass and reports the right line
number for the backtrace caused by the exception thrown from invoking a Null
PMC.

Modified:
   branches/context_unify3/src/pmc/null.pmc

Modified: branches/context_unify3/src/pmc/null.pmc
==============================================================================
--- branches/context_unify3/src/pmc/null.pmc	Thu Dec 17 08:31:28 2009	(r43126)
+++ branches/context_unify3/src/pmc/null.pmc	Thu Dec 17 08:31:32 2009	(r43127)
@@ -1,5 +1,5 @@
 /*
-Copyright (C) 2001-2007, Parrot Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
 $Id$
 
 =head1 NAME
@@ -57,6 +57,25 @@
         return 0;
     }
 
+
+/*
+
+=item C<opcode_t *invoke(void *next)>
+
+Throws an exception.
+
+=cut
+
+*/
+
+    VTABLE opcode_t *invoke(void *next) {
+        UNUSED(pmc)
+        UNUSED(next)
+
+        Parrot_pop_context(interp);
+        null_pmc_access(interp, PARROT_VTABLE_SLOT_INVOKE);
+    }
+
 /*
 
 =item C<INTVAL is_same(PMC *value)>


More information about the parrot-commits mailing list