develooper Front page | perl.cvs.parrot | Postings from January 2009

[svn:parrot] r35863 - in trunk/src: . pmc

From:
cotto
Date:
January 21, 2009 06:07
Subject:
[svn:parrot] r35863 - in trunk/src: . pmc
Message ID:
20090121140739.1FDA8CB9AE@x12.develooper.com
Author: cotto
Date: Wed Jan 21 06:07:37 2009
New Revision: 35863

Modified:
   trunk/src/global.c
   trunk/src/pmc/boolean.pmc
   trunk/src/pmc/integer.pmc
   trunk/src/pmc/iterator.pmc
   trunk/src/pmc/string.pmc

Log:
[pmc] another batch of PMC_x_val -> VTABLE conversions


Modified: trunk/src/global.c
==============================================================================
--- trunk/src/global.c	(original)
+++ trunk/src/global.c	Wed Jan 21 06:07:37 2009
@@ -780,7 +780,8 @@
         return nsroot;
     /* If we have a String, do a string lookup */
     else if (nsname->vtable->base_type == enum_class_String)
-        return Parrot_make_namespace_keyed_str(interp, nsroot, PMC_str_val(nsname));
+        return Parrot_make_namespace_keyed_str(interp, nsroot,
+                VTABLE_get_string(interp,nsname));
     /* Otherwise, do a PMC lookup */
     else
         return Parrot_make_namespace_keyed(interp, nsroot, nsname);

Modified: trunk/src/pmc/boolean.pmc
==============================================================================
--- trunk/src/pmc/boolean.pmc	(original)
+++ trunk/src/pmc/boolean.pmc	Wed Jan 21 06:07:37 2009
@@ -41,7 +41,7 @@
         PMC * const res = pmc_new(interp, enum_class_Boolean);
 
         if (argcP)
-            PMC_int_val(res) = VTABLE_get_bool(interp, REG_PMC(interp, 5));
+            SELF.set_bool(VTABLE_get_bool(interp, REG_PMC(interp, 5)));
 
         return PMCNULL; /* TODO */
     }
@@ -90,7 +90,7 @@
 */
 
     VTABLE void set_number_native(FLOATVAL value) {
-        PMC_int_val(SELF) = !FLOAT_IS_ZERO(value);
+        SELF.set_bool(!FLOAT_IS_ZERO(value));
     }
 
 /*
@@ -104,7 +104,7 @@
 */
 
     VTABLE void set_string_native(STRING *value) {
-        PMC_int_val(SELF) = string_bool(INTERP, value);
+        SELF.set_bool(string_bool(INTERP, value));
     }
 }
 

Modified: trunk/src/pmc/integer.pmc
==============================================================================
--- trunk/src/pmc/integer.pmc	(original)
+++ trunk/src/pmc/integer.pmc	Wed Jan 21 06:07:37 2009
@@ -93,7 +93,7 @@
 
 
     VTABLE void init() {
-        PMC_int_val(SELF) = 0;
+        SELF.set_integer_native(0);
     }
 
 
@@ -114,7 +114,7 @@
             : pmc_new(INTERP, type);
 
         /* RT #46623 bigint overflow */
-        PMC_int_val(res) = string_to_int(INTERP, rep);
+        VTABLE_set_integer_native(INTERP, res, string_to_int(INTERP, rep));
         return res;
     }
 
@@ -130,7 +130,7 @@
 */
 
     VTABLE void set_pmc(PMC *value) {
-        PMC_int_val(SELF) = VTABLE_get_integer(INTERP, value);
+        SELF.set_integer_native(VTABLE_get_integer(INTERP, value));
     }
 
 
@@ -252,7 +252,7 @@
 */
 
     VTABLE void set_integer_same(PMC *value) {
-        PMC_int_val(SELF) = VTABLE_get_integer(INTERP, value);
+        SELF.set_integer_native(VTABLE_get_integer(INTERP, value));
     }
 
 
@@ -1342,7 +1342,7 @@
     VTABLE void freeze(visit_info *info) {
         IMAGE_IO * const io = info->image_io;
         SUPER(info);
-        VTABLE_push_integer(INTERP, io, PMC_int_val(SELF));
+        VTABLE_push_integer(INTERP, io, SELF.get_integer());
     }
 
 
@@ -1359,7 +1359,7 @@
         IMAGE_IO * const io = info->image_io;
         SUPER(info);
         if (info->extra_flags == EXTRA_IS_NULL)
-            PMC_int_val(SELF) = VTABLE_shift_integer(INTERP, io);
+            SELF.set_integer_native(VTABLE_shift_integer(INTERP, io));
     }
 }
 

Modified: trunk/src/pmc/iterator.pmc
==============================================================================
--- trunk/src/pmc/iterator.pmc	(original)
+++ trunk/src/pmc/iterator.pmc	Wed Jan 21 06:07:37 2009
@@ -125,8 +125,8 @@
              pobject_lives(INTERP, (PObj *)PMC_struct_val(SELF));
 
         /* the aggregate */
-        if (PMC_pmc_val(SELF))
-             pobject_lives(INTERP, (PObj *)PMC_pmc_val(SELF));
+        if (SELF.get_pmc() != PMCNULL)
+             pobject_lives(INTERP, (PObj *)SELF.get_pmc());
     }
 
 /*
@@ -143,7 +143,7 @@
         STRING     *name    = CONST_STRING(interp, "set_key");
         PMC * const key     = (PMC *)PMC_struct_val(SELF);
         PMC * const res     = pmc_new_init(INTERP, SELF->vtable->base_type,
-                                           PMC_pmc_val(SELF));
+                                           SELF.get_pmc());
         Parrot_PCCINVOKE(interp, res, name, "P->", VTABLE_clone(interp, key));
         return res;
     }
@@ -187,7 +187,7 @@
 */
 
     VTABLE INTVAL get_integer_keyed(PMC *key) {
-        return VTABLE_get_integer_keyed(INTERP, PMC_pmc_val(SELF), key);
+        return VTABLE_get_integer_keyed(INTERP, SELF.get_pmc(), key);
     }
 
 /*
@@ -202,7 +202,7 @@
 
     VTABLE INTVAL get_integer_keyed_int(INTVAL idx) {
         PMC * const key = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg = PMC_pmc_val(SELF);
+        PMC * const agg = SELF.get_pmc();
         return VTABLE_get_integer_keyed_int(INTERP, agg, PMC_int_val(key) +idx);
     }
 
@@ -215,7 +215,7 @@
 */
 
     VTABLE FLOATVAL get_number_keyed(PMC *key) {
-        return VTABLE_get_number_keyed(INTERP, PMC_pmc_val(SELF), key);
+        return VTABLE_get_number_keyed(INTERP, SELF.get_pmc(), key);
     }
 
 /*
@@ -230,7 +230,7 @@
 
     VTABLE FLOATVAL get_number_keyed_int(INTVAL idx) {
         PMC * const key = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg = PMC_pmc_val(SELF);
+        PMC * const agg = SELF.get_pmc();
         return VTABLE_get_number_keyed_int(INTERP, agg, PMC_int_val(key) + idx);
     }
 
@@ -245,7 +245,7 @@
 */
 
     VTABLE STRING *get_string_keyed(PMC *key) {
-        return VTABLE_get_string_keyed(INTERP, PMC_pmc_val(SELF), key);
+        return VTABLE_get_string_keyed(INTERP, SELF.get_pmc(), key);
     }
 
 /*
@@ -260,7 +260,7 @@
 
     VTABLE STRING *get_string_keyed_int(INTVAL idx) {
         PMC * const key = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg = PMC_pmc_val(SELF);
+        PMC * const agg = SELF.get_pmc();
         return VTABLE_get_string_keyed_int(INTERP, agg, PMC_int_val(key) + idx);
     }
 
@@ -290,11 +290,24 @@
 */
 
     VTABLE INTVAL elements() {
-        return VTABLE_elements(INTERP, PMC_pmc_val(SELF));
+        return VTABLE_elements(INTERP, SELF.get_pmc());
     }
 
 /*
 
+=item C<PMC *get_pmc()>
+
+Returns this Interator's aggregate.
+
+=cut
+
+*/
+
+    VTABLE PMC *get_pmc() {
+        return PMC_pmc_val(SELF) ? PMC_pmc_val(SELF) : PMCNULL;
+    }
+
+/*
 =item C<PMC *get_pmc_keyed(PMC *key)>
 
 Returns the element for C<*key>.
@@ -304,7 +317,7 @@
 */
 
     VTABLE PMC *get_pmc_keyed(PMC *key) {
-        return VTABLE_get_pmc_keyed(INTERP, PMC_pmc_val(SELF), key);
+        return VTABLE_get_pmc_keyed(INTERP, SELF.get_pmc(), key);
     }
 
 /*
@@ -319,7 +332,7 @@
 
     VTABLE PMC *get_pmc_keyed_int(INTVAL idx) {
         PMC * const key = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg = PMC_pmc_val(SELF);
+        PMC * const agg = SELF.get_pmc();
         return VTABLE_get_pmc_keyed_int(INTERP, agg, PMC_int_val(key) + idx);
     }
 
@@ -344,7 +357,7 @@
                     "Illegal set_integer on iterator");
 
         /* reset iterator on aggregate */
-        agg = PMC_pmc_val(SELF);
+        agg = SELF.get_pmc();
 
         if (agg->vtable->base_type == enum_class_Slice) {
             /* it's an xrange serving as its own aggregate */
@@ -372,7 +385,7 @@
 
     VTABLE INTVAL pop_integer() {
         PMC * const key      = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg      = PMC_pmc_val(SELF);
+        PMC * const agg      = SELF.get_pmc();
         const INTVAL ret     = VTABLE_get_integer_keyed(INTERP, agg, key);
         PMC_struct_val(SELF) =
             VTABLE_nextkey_keyed(INTERP, key, agg, ITERATE_GET_PREV);
@@ -390,7 +403,7 @@
 
     VTABLE FLOATVAL pop_float() {
         PMC * const key      = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg      = PMC_pmc_val(SELF);
+        PMC * const agg      = SELF.get_pmc();
         const FLOATVAL ret   = VTABLE_get_number_keyed(INTERP, agg, key);
         PMC_struct_val(SELF) =
             VTABLE_nextkey_keyed(INTERP, key, agg, ITERATE_GET_PREV);
@@ -408,7 +421,7 @@
 
     VTABLE STRING *pop_string() {
         PMC * const key      = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg      = PMC_pmc_val(SELF);
+        PMC * const agg      = SELF.get_pmc();
         STRING * const ret   = VTABLE_get_string_keyed(INTERP, agg, key);
         PMC_struct_val(SELF) =
             VTABLE_nextkey_keyed(INTERP, key, agg, ITERATE_GET_PREV);
@@ -428,7 +441,7 @@
 
     VTABLE PMC *pop_pmc() {
         PMC * const key      = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg      = PMC_pmc_val(SELF);
+        PMC * const agg      = SELF.get_pmc();
         PMC * const ret      = VTABLE_get_pmc_keyed(INTERP, agg, key);
         PMC_struct_val(SELF) =
             VTABLE_nextkey_keyed(INTERP, key, agg, ITERATE_GET_PREV);
@@ -449,7 +462,7 @@
 
     VTABLE INTVAL shift_integer() {
         PMC * const key      = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg      = PMC_pmc_val(SELF);
+        PMC * const agg      = SELF.get_pmc();
         const INTVAL ret     = VTABLE_get_integer_keyed(INTERP, agg, key);
         PMC_struct_val(SELF) =
             VTABLE_nextkey_keyed(INTERP, key, agg, ITERATE_GET_NEXT);
@@ -497,7 +510,7 @@
             REG_INT(interp, 3) =
             REG_INT(interp, 4) = 0;
 
-        agg        = PMC_pmc_val(SELF);
+        agg = SELF.get_pmc();
 
         if (agg->vtable->base_type == enum_class_IntList) {
             const INTVAL ires  = SELF.shift_integer();
@@ -523,7 +536,7 @@
 
     VTABLE FLOATVAL shift_float() {
         PMC * const key      = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg      = PMC_pmc_val(SELF);
+        PMC * const agg      = SELF.get_pmc();
         const FLOATVAL ret   = VTABLE_get_number_keyed(INTERP, agg, key);
         PMC_struct_val(SELF) =
             VTABLE_nextkey_keyed(INTERP, key, agg, ITERATE_GET_NEXT);
@@ -541,7 +554,7 @@
 
     VTABLE STRING *shift_string() {
         PMC * const key      = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg      = PMC_pmc_val(SELF);
+        PMC * const agg      = SELF.get_pmc();
         STRING * const ret   = VTABLE_get_string_keyed(INTERP, agg, key);
         PMC_struct_val(SELF) =
             VTABLE_nextkey_keyed(INTERP, key, agg, ITERATE_GET_NEXT);
@@ -561,7 +574,7 @@
 
     VTABLE PMC *shift_pmc() {
         PMC * const key = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg = PMC_pmc_val(SELF);
+        PMC * const agg = SELF.get_pmc();
         PMC        *ret;
 
         if (PMC_int_val(key) == -1)
@@ -587,7 +600,7 @@
 */
 
     VTABLE INTVAL exists_keyed(PMC *key) {
-        return VTABLE_exists_keyed(INTERP, PMC_pmc_val(SELF), key);
+        return VTABLE_exists_keyed(INTERP, SELF.get_pmc(), key);
     }
 
 /*
@@ -602,7 +615,7 @@
 
     VTABLE INTVAL exists_keyed_int(INTVAL idx) {
         PMC * const key = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg = PMC_pmc_val(SELF);
+        PMC * const agg = SELF.get_pmc();
         return VTABLE_exists_keyed_int(INTERP, agg, PMC_int_val(key) + idx);
     }
 
@@ -617,7 +630,7 @@
 */
 
     VTABLE INTVAL defined() {
-        return (INTVAL)(PMC_pmc_val(SELF) != 0);
+        return (INTVAL)(SELF.get_pmc() != PMCNULL);
     }
 
 /*
@@ -629,7 +642,7 @@
 */
 
     VTABLE INTVAL defined_keyed(PMC *key) {
-        return VTABLE_defined_keyed(INTERP, PMC_pmc_val(SELF), key);
+        return VTABLE_defined_keyed(INTERP, SELF.get_pmc(), key);
     }
 
 /*
@@ -644,7 +657,7 @@
 
     VTABLE INTVAL defined_keyed_int(INTVAL idx) {
         PMC * const key = (PMC *)PMC_struct_val(SELF);
-        PMC * const agg = PMC_pmc_val(SELF);
+        PMC * const agg = SELF.get_pmc();
         return VTABLE_defined_keyed_int(INTERP, agg, PMC_int_val(key) + idx);
     }
 

Modified: trunk/src/pmc/string.pmc
==============================================================================
--- trunk/src/pmc/string.pmc	(original)
+++ trunk/src/pmc/string.pmc	Wed Jan 21 06:07:37 2009
@@ -89,7 +89,7 @@
     VTABLE PMC *clone() {
         PMC * const dest = pmc_new_noinit(INTERP, SELF->vtable->base_type);
         PObj_custom_mark_SET(dest);
-        PMC_str_val(dest) = string_copy(INTERP, SELF.get_string());
+        VTABLE_set_string_native(INTERP, dest, string_copy(INTERP, SELF.get_string()));
         return dest;
     }
 
@@ -235,7 +235,7 @@
 */
 
     VTABLE void assign_string_native(STRING *value) {
-        PMC_str_val(SELF) = string_set(INTERP, PMC_str_val(SELF), value);
+        PMC_str_val(SELF) = string_set(INTERP, SELF.get_string(), value);
     }
 
 /*



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About