[svn:parrot] r47723 - trunk/src/pmc

bacek at svn.parrot.org bacek at svn.parrot.org
Sun Jun 20 08:51:52 UTC 2010


Author: bacek
Date: Sun Jun 20 08:51:52 2010
New Revision: 47723
URL: https://trac.parrot.org/parrot/changeset/47723

Log:
Small helper functions for Packfile PMCs

Modified:
   trunk/src/pmc/packfilerawsegment.pmc

Modified: trunk/src/pmc/packfilerawsegment.pmc
==============================================================================
--- trunk/src/pmc/packfilerawsegment.pmc	Sun Jun 20 08:51:14 2010	(r47722)
+++ trunk/src/pmc/packfilerawsegment.pmc	Sun Jun 20 08:51:52 2010	(r47723)
@@ -147,6 +147,15 @@
                 PARROT_PACKFILERAWSEGMENT(SELF)->opcodes);
     }
 
+    VTABLE INTVAL get_integer() {
+        return VTABLE_elements(INTERP,
+                PARROT_PACKFILERAWSEGMENT(SELF)->opcodes);
+    }
+
+    VTABLE FLOATVAL get_number() {
+        return VTABLE_elements(INTERP,
+                PARROT_PACKFILERAWSEGMENT(SELF)->opcodes);
+    }
 
 /*
 
@@ -177,6 +186,13 @@
             PARROT_PACKFILERAWSEGMENT(SELF)->opcodes, key, value);
     }
 
+    VTABLE void set_pmc_keyed(PMC *key, PMC *value) {
+        SELF.set_integer_keyed_int(
+            VTABLE_get_integer(INTERP, key),
+            VTABLE_get_integer(INTERP, value)
+        );
+    }
+
 /*
 
 =item C<void push_integer(INTVAL value)>
@@ -191,6 +207,12 @@
             PARROT_PACKFILERAWSEGMENT(SELF)->opcodes, value);
     }
 
+    VTABLE void push_pmc(PMC *value)  {
+        VTABLE_push_integer(INTERP,
+            PARROT_PACKFILERAWSEGMENT(SELF)->opcodes,
+                VTABLE_get_integer(INTERP, value));
+    }
+
 /*
 
 =item C<METHOD type()>


More information about the parrot-commits mailing list