[svn:parrot] r38042 - in trunk: config/gen/makefiles include/parrot src/jit/i386 src/jit/ppc t/tools/ops2pm/samples

cotto at svn.parrot.org cotto at svn.parrot.org
Sat Apr 11 00:12:01 UTC 2009


Author: cotto
Date: Sat Apr 11 00:11:58 2009
New Revision: 38042
URL: https://trac.parrot.org/parrot/changeset/38042

Log:
[PMC] get rid of PMC_int_val, the last of the PMC UnionVal macros

Modified:
   trunk/config/gen/makefiles/root.in
   trunk/include/parrot/oo.h
   trunk/include/parrot/pobj.h
   trunk/src/jit/i386/jit_defs.c
   trunk/src/jit/ppc/jit_emit.h
   trunk/t/tools/ops2pm/samples/pic_ops.original

Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in	Fri Apr 10 23:10:20 2009	(r38041)
+++ trunk/config/gen/makefiles/root.in	Sat Apr 11 00:11:58 2009	(r38042)
@@ -1060,7 +1060,7 @@
 $(SRC_DIR)/exec_cpu$(O) : $(GENERAL_H_FILES) @TEMP_exec_h@ $(SRC_DIR)/jit_emit.h
 
 $(SRC_DIR)/jit_defs$(O) : $(GENERAL_H_FILES) @TEMP_exec_h@ $(SRC_DIR)/jit_emit.h \
-	$(SRC_DIR)/pmc/pmc_fixedintegerarray.h $(SRC_DIR)/pmc/pmc_unmanagedstruct.h
+	$(SRC_DIR)/pmc/pmc_fixedintegerarray.h $(SRC_DIR)/pmc/pmc_unmanagedstruct.h $(SRC_DIR)/pmc/pmc_pointer.h
 
 $(INC_DIR)/extend_vtable.h $(SRC_DIR)/extend_vtable.c $(SRC_DIR)/vtable.h : src/vtable.tbl $(BUILD_TOOLS_DIR)/vtable_extend.pl lib/Parrot/Vtable.pm
 	$(PERL) $(BUILD_TOOLS_DIR)/vtable_extend.pl

Modified: trunk/include/parrot/oo.h
==============================================================================
--- trunk/include/parrot/oo.h	Fri Apr 10 23:10:20 2009	(r38041)
+++ trunk/include/parrot/oo.h	Sat Apr 11 00:11:58 2009	(r38042)
@@ -38,13 +38,6 @@
         GC_WRITE_BARRIER(interp, (o), ((PMC **)(x))[y], (z)); \
         ((PMC **)(x))[(y)] = (z); \
     } while (0)
-#define set_attrib_flags(x) do { \
-        PObj_active_destroy_SET(x); \
-    } while (0)
-#define set_attrib_array_size(o, y) do { \
-    PMC_data(o) = mem_sys_allocate_zeroed((sizeof (PMC *)*(y))); \
-    PMC_int_val(o) = (y); \
-} while (0)
 
 /*
  * class macros

Modified: trunk/include/parrot/pobj.h
==============================================================================
--- trunk/include/parrot/pobj.h	Fri Apr 10 23:10:20 2009	(r38041)
+++ trunk/include/parrot/pobj.h	Sat Apr 11 00:11:58 2009	(r38042)
@@ -55,7 +55,6 @@
 
 #define PObj_bufstart(pmc)    (pmc)->cache._b._bufstart
 #define PObj_buflen(pmc)      (pmc)->cache._b._buflen
-#define PMC_int_val(pmc)      (pmc)->cache._i._int_val
 
 /* See src/gc/resources.c. the basic idea is that buffer memory is
    set up as follows:

Modified: trunk/src/jit/i386/jit_defs.c
==============================================================================
--- trunk/src/jit/i386/jit_defs.c	Fri Apr 10 23:10:20 2009	(r38041)
+++ trunk/src/jit/i386/jit_defs.c	Sat Apr 11 00:11:58 2009	(r38042)
@@ -12,6 +12,7 @@
 #include "parrot/oplib/ops.h"
 #include "pmc/pmc_fixedintegerarray.h"
 #include "pmc/pmc_unmanagedstruct.h"
+#include "pmc/pmc_pointer.h"
 #include "jit.h"
 #include "jit_emit.h"
 
@@ -2295,13 +2296,6 @@
                 mem_free_executable(jit_info.native_ptr, JIT_ALLOC_SIZE);
                 return NULL;
                 break;
-                /* This might be right. Or not... */
-                /* we need the offset of PMC_int_val */
-                emitm_call_cfunc(pc, get_nci_P);
-                emitm_lea_m_r(interp, pc, emit_EAX, emit_EAX, 0, 1,
-                              (size_t) &PMC_int_val((PMC *) 0));
-                emitm_movl_r_m(interp, pc, emit_EAX, emit_EBP, 0, 1, args_offset);
-                break;
             default:
                 Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_JIT_ERROR,
                     "Unknown arg Signature %c\n", *sig);

Modified: trunk/src/jit/ppc/jit_emit.h
==============================================================================
--- trunk/src/jit/ppc/jit_emit.h	Fri Apr 10 23:10:20 2009	(r38041)
+++ trunk/src/jit/ppc/jit_emit.h	Sat Apr 11 00:11:58 2009	(r38042)
@@ -880,7 +880,7 @@
 {
     PMC    *sig_pmc  = CONTEXT(interp)->constants[CUR_OPCODE[1]]->u.key;
     INTVAL *sig_bits = PMC_data_typed(sig_pmc, INTVAL *);
-    INTVAL  n        = PMC_int_val(sig_pmc);
+    INTVAL  n        = VTABLE_get_integer(interp, sig_pmc);
     INTVAL  i;
 
     jit_info->n_args = n;

Modified: trunk/t/tools/ops2pm/samples/pic_ops.original
==============================================================================
--- trunk/t/tools/ops2pm/samples/pic_ops.original	Fri Apr 10 23:10:20 2009	(r38041)
+++ trunk/t/tools/ops2pm/samples/pic_ops.original	Sat Apr 11 00:11:58 2009	(r38042)
@@ -90,14 +90,14 @@
     rt = VTABLE_type(interp, right);
     lr_types = (lt << 16) | rt;
     if (lru->u.type == lr_types) {
-        INTVAL a = lt == enum_class_Integer ? PMC_int_val(left) :
+        INTVAL a = lt == enum_class_Integer ? VTABLE_get_integer(interp, left) :
             VTABLE_get_integer(interp, left);
-        INTVAL b = rt == enum_class_Integer ? PMC_int_val(right) :
+        INTVAL b = rt == enum_class_Integer ? VTABLE_get_integer(interp, right) :
             VTABLE_get_integer(interp, right);
         INTVAL c = a - b;
         if ((c^a) >= 0 || (c^~b) >= 0) {
             if (lt == enum_class_Integer)
-                PMC_int_val(left) = c;
+                VTABLE_get_integer(interp, left) = c;
             else
                 VTABLE_set_integer_native(interp, left, c);
         }
@@ -196,7 +196,7 @@
     cc = PMC_cont(ccont);
     if (!cc->address) {
         interp->current_returns = CUR_OPCODE;
-        n = PMC_int_val(mic->m.sig);
+        n = VTABLE_get_integer(interp, mic->m.sig);
         goto OFFSET(n + 2);
     }
     caller_ctx = cc->to_ctx;


More information about the parrot-commits mailing list