[svn:parrot] r37195 - trunk/src

cotto at svn.parrot.org cotto at svn.parrot.org
Sun Mar 8 03:44:06 UTC 2009


Author: cotto
Date: Sun Mar  8 03:44:04 2009
New Revision: 37195
URL: https://trac.parrot.org/parrot/changeset/37195

Log:
[PMC] change more direct internals access to VTABLE functions

Modified:
   trunk/src/thread.c

Modified: trunk/src/thread.c
==============================================================================
--- trunk/src/thread.c	Sun Mar  8 03:34:03 2009	(r37194)
+++ trunk/src/thread.c	Sun Mar  8 03:44:04 2009	(r37195)
@@ -499,7 +499,7 @@
     PMC             *sub_arg;
     PMC * const      self    = (PMC*) arg;
     PMC             *ret_val = NULL;
-    Parrot_Interp    interp  = (Parrot_Interp)PMC_data(self);
+    Parrot_Interp    interp  = (Parrot_Interp)VTABLE_get_pointer(interp, self);
 
     Parrot_block_GC_mark(interp);
     Parrot_block_GC_sweep(interp);
@@ -732,7 +732,8 @@
     ASSERT_ARGS(pt_thread_run)
     PMC *old_dest_interp;
     PMC *parent;
-    Interp * const interpreter = (Parrot_Interp)PMC_data(dest_interp);
+    Interp * const interpreter = (Parrot_Interp)VTABLE_get_pointer(interp,
+            dest_interp);
 
     Parrot_block_GC_sweep(interpreter);
     Parrot_block_GC_mark(interpreter);
@@ -751,8 +752,8 @@
     dest_interp     = pmc_new_noinit(interpreter, enum_class_ParrotThread);
 
     /* so it's not accidentally deleted */
-    PMC_data(old_dest_interp) = NULL;
-    PMC_data(dest_interp)     = interpreter;
+    VTABLE_set_pointer(interp, old_dest_interp, NULL);
+    VTABLE_set_pointer(interp, dest_interp, interpreter);
 
     VTABLE_set_pmc_keyed_int(interpreter, interpreter->iglobals,
         (INTVAL) IGLOBALS_INTERPRETER, dest_interp);
@@ -764,7 +765,9 @@
      * TODO check if thread flags are consistent
      */
     if (interp->flags & PARROT_THR_COPY_INTERP)
-        clone_interpreter(interpreter, (Parrot_Interp)PMC_data(parent), PARROT_CLONE_DEFAULT);
+        clone_interpreter(interpreter,
+                (Parrot_Interp)VTABLE_get_pointer(interp, parent),
+                PARROT_CLONE_DEFAULT);
     /*
      * TODO thread pools
      */


More information about the parrot-commits mailing list