perl.cvs.parrot
[Top] [All Lists]

[svn:parrot] r35718 - trunk/languages/WMLScript/pmc

Subject: [svn:parrot] r35718 - trunk/languages/WMLScript/pmc
From:
Date: Sun, 18 Jan 2009 06:13:43 -0800 PST
Newsgroups: perl.cvs.parrot

Author: fperrad
Date: Sun Jan 18 06:13:42 2009
New Revision: 35718

Modified:
   trunk/languages/WMLScript/pmc/wmlsfloat.pmc
   trunk/languages/WMLScript/pmc/wmlsstring.pmc

Log:
[WMLScript]
make WmlsFloat use ATTRs, remove most remaining uses of PMC_num_val
(see r35666)

Modified: trunk/languages/WMLScript/pmc/wmlsfloat.pmc
==============================================================================
--- trunk/languages/WMLScript/pmc/wmlsfloat.pmc (original)
+++ trunk/languages/WMLScript/pmc/wmlsfloat.pmc Sun Jan 18 06:13:42 2009
@@ -50,6 +50,8 @@
     group wmls_group
     hll wmlscript maps Float {
 
+    ATTR FLOATVAL fv;
+
 /* Class initialization. Caches constant strings that will be used later.
 */
     void class_init() {
@@ -103,7 +105,7 @@
 
 */
     VTABLE void set_integer_native(INTVAL value) {
-        PMC_num_val(SELF) = (FLOATVAL)value;
+        SET_ATTR_fv(INTERP, SELF, (FLOATVAL)value);
     }
 
 /*
@@ -116,8 +118,9 @@
 
 */
     VTABLE PMC* neg(PMC* dest) {
+        FLOATVAL result = - SELF.get_number();
         dest = pmc_new(INTERP, dynpmc_WmlsFloat);
-        PMC_num_val(dest) = - SELF.get_number();
+        VTABLE_set_number_native(INTERP, dest, result);
         return dest;
     }
 

Modified: trunk/languages/WMLScript/pmc/wmlsstring.pmc
==============================================================================
--- trunk/languages/WMLScript/pmc/wmlsstring.pmc        (original)
+++ trunk/languages/WMLScript/pmc/wmlsstring.pmc        Sun Jan 18 06:13:42 2009
@@ -160,8 +160,9 @@
             return dest;
         }
         if (trans->vtable->base_type == dynpmc_WmlsFloat) {
+            FLOATVAL result = - VTABLE_get_number(INTERP, trans);
             dest = pmc_new(INTERP, dynpmc_WmlsFloat);
-            PMC_num_val(dest) = - VTABLE_get_number(INTERP, trans);
+            VTABLE_set_number_native(INTERP, dest, result);
             return dest;
         }
         return pmc_new(INTERP, dynpmc_WmlsInvalid);
@@ -1539,7 +1540,7 @@
             if (fabs(d) < 1.17549435e-38)
                 d = 0.0;
 
-            PMC_num_val(retval) = d;
+            VTABLE_set_number_native(INTERP, retval, d);
         }
         else
             retval = pmc_new(INTERP, dynpmc_WmlsInvalid);

<Prev in Thread] Current Thread [Next in Thread>
  • [svn:parrot] r35718 - trunk/languages/WMLScript/pmc, fperrad <=