[svn:parrot] r49300 - trunk/src/ops

fperrad at svn.parrot.org fperrad at svn.parrot.org
Fri Sep 24 22:15:30 UTC 2010


Author: fperrad
Date: Fri Sep 24 22:15:29 2010
New Revision: 49300
URL: https://trac.parrot.org/parrot/changeset/49300

Log:
fix LuaThread after r49012.

LuaThread vtable init throws an exception, an instantiation must be done by vtable init_pmc.
So refactor not_p_p with clone instead of init/new.

Modified:
   trunk/src/ops/cmp.ops
   trunk/src/ops/core_ops.c

Modified: trunk/src/ops/cmp.ops
==============================================================================
--- trunk/src/ops/cmp.ops	Fri Sep 24 17:05:28 2010	(r49299)
+++ trunk/src/ops/cmp.ops	Fri Sep 24 22:15:29 2010	(r49300)
@@ -960,7 +960,7 @@
 inline op not(out PMC, invar PMC) :base_core {
     const INTVAL a = ! VTABLE_get_bool(interp, $2);
     if (PMC_IS_NULL($1))
-        $1 = Parrot_pmc_new(interp, VTABLE_type(interp, $2));
+        $1 = VTABLE_clone(interp, $2);
     VTABLE_set_bool(interp, $1, a);
 }
 

Modified: trunk/src/ops/core_ops.c
==============================================================================
--- trunk/src/ops/core_ops.c	Fri Sep 24 17:05:28 2010	(r49299)
+++ trunk/src/ops/core_ops.c	Fri Sep 24 22:15:29 2010	(r49300)
@@ -6,7 +6,7 @@
  * .ops files). by ops2c.nqp.
  *
  * Any changes made here will be lost!  To regenerate this file after making
- * changes to any ops, use the bootstap-ops makefile target.
+ * changes to any ops, use the bootstrap-ops makefile target.
  *
  */
 
@@ -18244,7 +18244,7 @@
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     const INTVAL a = ! VTABLE_get_bool(interp, PREG(2));
     if (PMC_IS_NULL(PREG(1)))
-        PREG(1) = Parrot_pmc_new(interp, VTABLE_type(interp, PREG(2)));
+        PREG(1) = VTABLE_clone(interp, PREG(2));
     VTABLE_set_bool(interp, PREG(1), a);
 
 return (opcode_t *)cur_opcode + 3;}
@@ -26098,7 +26098,7 @@
   1083,             /* op_count */
   core_op_info_table,       /* op_info_table */
   core_op_func_table,       /* op_func_table */
-  get_op          /* op_code() */ 
+  get_op          /* op_code() */
 };
 
 /*


More information about the parrot-commits mailing list