[svn:parrot] r49406 - trunk/src/runcore

plobsing at svn.parrot.org plobsing at svn.parrot.org
Sat Oct 2 03:48:11 UTC 2010


Author: plobsing
Date: Sat Oct  2 03:48:10 2010
New Revision: 49406
URL: https://trac.parrot.org/parrot/changeset/49406

Log:
fix trace core for dynop_mapping

Modified:
   trunk/src/runcore/trace.c

Modified: trunk/src/runcore/trace.c
==============================================================================
--- trunk/src/runcore/trace.c	Sat Oct  2 02:44:30 2010	(r49405)
+++ trunk/src/runcore/trace.c	Sat Oct  2 03:48:10 2010	(r49406)
@@ -28,6 +28,7 @@
 #include "parrot/context.h"
 #include "pmc/pmc_sub.h"
 #include "pmc/pmc_callcontext.h"
+#include "parrot/oplib/core_ops.h"
 
 /* HEADERIZER HFILE: include/parrot/runcore_trace.h */
 
@@ -298,6 +299,7 @@
     ASSERT_ARGS(trace_op_dump)
     Interp    * const debugger = debugger_or_interp(interp);
     op_info_t * const info     = interp->code->op_info_table[*pc];
+    op_lib_t  *       core_ops = PARROT_GET_CORE_OPLIB(interp);
     PMC *sig                   = PMCNULL;
     INTVAL n                   = info->op_count;
     INTVAL s                   = 1;
@@ -309,10 +311,10 @@
 
 #define ARGS_COLUMN 40
 
-    if (*pc == PARROT_OP_set_args_pc
-    ||  *pc == PARROT_OP_get_results_pc
-    ||  *pc == PARROT_OP_get_params_pc
-    ||  *pc == PARROT_OP_set_returns_pc) {
+    if (OPCODE_IS(interp, interp->code, *pc, core_ops, PARROT_OP_set_args_pc)
+    ||  OPCODE_IS(interp, interp->code, *pc, core_ops, PARROT_OP_get_results_pc)
+    ||  OPCODE_IS(interp, interp->code, *pc, core_ops, PARROT_OP_get_params_pc)
+    ||  OPCODE_IS(interp, interp->code, *pc, core_ops, PARROT_OP_set_returns_pc)) {
         sig = interp->code->const_table->pmc.constants[pc[1]];
 
         if (!sig)
@@ -333,7 +335,7 @@
             if (i < info->op_count)
                 type = info->types[i - 1];
             else {
-                if (!sig)
+                if (PMC_IS_NULL(sig))
                     Parrot_ex_throw_from_c_args(interp, NULL, 1,
                         "NULL sig PMC detected in trace_op_dump");
 


More information about the parrot-commits mailing list