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

chromatic at svn.parrot.org chromatic at svn.parrot.org
Tue Aug 3 18:57:52 UTC 2010


Author: chromatic
Date: Tue Aug  3 18:57:52 2010
New Revision: 48294
URL: https://trac.parrot.org/parrot/changeset/48294

Log:
[PMC] Tidied ImageIO PMC; no functional changes.

Modified:
   trunk/src/pmc/imageio.pmc

Modified: trunk/src/pmc/imageio.pmc
==============================================================================
--- trunk/src/pmc/imageio.pmc	Tue Aug  3 18:57:49 2010	(r48293)
+++ trunk/src/pmc/imageio.pmc	Tue Aug  3 18:57:52 2010	(r48294)
@@ -132,16 +132,18 @@
     return (opcode_t *)(buf + pos);
 }
 
+
 PARROT_INLINE
 static void
 SET_VISIT_CURSOR(ARGMOD(PMC *pmc), ARGIN(const char *cursor))
 {
     ASSERT_ARGS(SET_VISIT_CURSOR)
 
-    const char *bufstart  = (char *)Buffer_bufstart(PARROT_IMAGEIO(pmc)->buffer);
+    const char *bufstart = (char *)Buffer_bufstart(PARROT_IMAGEIO(pmc)->buffer);
     PARROT_IMAGEIO(pmc)->pos = (cursor - bufstart);
 }
 
+
 PARROT_INLINE
 static void
 INC_VISIT_CURSOR(ARGMOD(PMC *pmc), UINTVAL inc)
@@ -151,11 +153,10 @@
     PARROT_IMAGEIO(pmc)->pos += inc;
 }
 
+
 #define BYTECODE_SHIFT_OK(pmc) PARROT_ASSERT( \
     PARROT_IMAGEIO(pmc)->pos <= PARROT_IMAGEIO(pmc)->input_length)
 
-
-
 static void
 create_buffer(PARROT_INTERP, ARGIN_NULLOK(PMC *pmc), ARGMOD(PMC *info))
 {
@@ -166,11 +167,11 @@
     if (!PMC_IS_NULL(pmc)) {
         STRING * const array = CONST_STRING(interp, "array");
         STRING * const hash  = CONST_STRING(interp, "hash");
-        INTVAL  items = 1;
+        INTVAL         items = 1;
 
-        if (VTABLE_does(interp, pmc, array) || VTABLE_does(interp, pmc, hash)) {
+        if (VTABLE_does(interp, pmc, array) || VTABLE_does(interp, pmc, hash))
             items += VTABLE_elements(interp, pmc);
-        }
+
         len = items * FREEZE_BYTES_PER_ITEM;
     }
     else
@@ -180,7 +181,9 @@
         Parrot_gc_new_bufferlike_header(interp, sizeof (Buffer));
     Parrot_gc_allocate_buffer_storage_aligned(interp,
         PARROT_IMAGEIO(info)->buffer, len);
-    SET_VISIT_CURSOR(info, (char *)Buffer_bufstart(PARROT_IMAGEIO(info)->buffer));
+
+    SET_VISIT_CURSOR(info,
+        (char *)Buffer_bufstart(PARROT_IMAGEIO(info)->buffer));
 }
 
 
@@ -205,8 +208,10 @@
     /* grow by factor 1.5 or such */
     if (need_free <= 16) {
         size_t new_size = (size_t) (Buffer_buflen(buf) * 1.5);
+
         if (new_size < Buffer_buflen(buf) - need_free + 512)
             new_size = Buffer_buflen(buf) - need_free + 512;
+
         Parrot_gc_reallocate_buffer_storage(interp, buf, new_size);
         PARROT_ASSERT(Buffer_buflen(buf) - used - len >= 15);
     }
@@ -214,9 +219,9 @@
 #ifndef DISABLE_GC_DEBUG
     Parrot_gc_compact_memory_pool(interp);
 #endif
-
 }
 
+
 PARROT_WARN_UNUSED_RESULT
 PARROT_INLINE
 static INTVAL
@@ -227,6 +232,7 @@
     return PARROT_IMAGEIO(io)->pos < PARROT_IMAGEIO(io)->input_length;
 }
 
+
 PARROT_WARN_UNUSED_RESULT
 PARROT_CAN_RETURN_NULL
 PARROT_INLINE
@@ -238,6 +244,7 @@
     return VTABLE_get_pmc_keyed_int(interp, PARROT_IMAGEIO(io)->todo, id - 1);
 }
 
+
 PARROT_WARN_UNUSED_RESULT
 PARROT_CAN_RETURN_NULL
 PARROT_INLINE
@@ -260,13 +267,15 @@
         break;
       case enum_PackID_normal:
         {
-            PMC * const todo    = PARROT_IMAGEIO(info)->todo;
+            PMC * const  todo = PARROT_IMAGEIO(info)->todo;
             const INTVAL type = VTABLE_shift_integer(interp, info);
 
-            PARROT_ASSERT(id - 1 == VTABLE_elements(interp, PARROT_IMAGEIO(info)->todo));
+            PARROT_ASSERT(id - 1
+                 == VTABLE_elements(interp, PARROT_IMAGEIO(info)->todo));
 
             if (type <= 0 || type > interp->n_vtable_max)
-                Parrot_ex_throw_from_c_args(interp, NULL, 1, "Unknown PMC type to thaw %d", type);
+                Parrot_ex_throw_from_c_args(interp, NULL, 1,
+                    "Unknown PMC type to thaw %d", type);
 
             /* workaround to keep ParrotInterpreter PBC hack working */
             if (type == enum_class_ParrotInterpreter)
@@ -278,13 +287,15 @@
         }
         break;
       default:
-        Parrot_ex_throw_from_c_args(interp, NULL, 1, "Unknown PMC id args thaw %d", packid_flags);
+        Parrot_ex_throw_from_c_args(interp, NULL, 1,
+            "Unknown PMC id args thaw %d", packid_flags);
         break;
     }
 
     return pmc;
 }
 
+
 static void
 visit_todo_list_freeze(PARROT_INTERP, ARGIN_NULLOK(PMC* pmc), ARGMOD(PMC* info))
 {
@@ -300,10 +311,12 @@
         packid_type = enum_PackID_seen;
     }
     else {
-        Hash * const hash = (Hash *)VTABLE_get_pointer(interp, PARROT_IMAGEIO(info)->seen);
+        Hash * const hash = (Hash *)VTABLE_get_pointer(interp,
+            PARROT_IMAGEIO(info)->seen);
         HashBucket * const b = parrot_hash_get_bucket(interp, hash, pmc);
+
         if (b) {
-            id = (UINTVAL) b->value;
+            id = (UINTVAL)b->value;
             packid_type = enum_PackID_seen;
         }
         else {
@@ -316,7 +329,8 @@
     VTABLE_push_integer(interp, info, PackID_new(id, packid_type));
 
     if (packid_type == enum_PackID_normal) {
-        Hash * const hash = (Hash *)VTABLE_get_pointer(interp, PARROT_IMAGEIO(info)->seen);
+        Hash * const hash = (Hash *)VTABLE_get_pointer(interp,
+            PARROT_IMAGEIO(info)->seen);
 
         PARROT_ASSERT(pmc);
 
@@ -325,16 +339,19 @@
             PObj_flag_CLEAR(private1, info);
 
         VTABLE_push_integer(interp, info,
-                PObj_is_object_TEST(pmc) ? (INTVAL) enum_class_Object : pmc->vtable->base_type);
+            PObj_is_object_TEST(pmc)
+                ? (INTVAL) enum_class_Object
+                : pmc->vtable->base_type);
 
         parrot_hash_put(interp, hash, pmc, (void *)id);
         VTABLE_push_pmc(interp, PARROT_IMAGEIO(info)->todo, pmc);
     }
 }
 
+
 pmclass ImageIO auto_attrs {
     ATTR Buffer              *buffer;      /* buffer to store the image */
-    ATTR size_t               pos;         /* current read/write position in buffer */
+    ATTR size_t               pos;         /* current read/write buf position */
     ATTR size_t               input_length;
     ATTR INTVAL               what;
     ATTR PMC                 *seen;        /* seen hash */
@@ -363,15 +380,17 @@
 
 */
     VTABLE void init() {
-        PARROT_IMAGEIO(SELF)->todo   = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
-        PARROT_IMAGEIO(SELF)->seen   = PMCNULL;
-        PARROT_IMAGEIO(SELF)->pf     = PackFile_new(INTERP, 0);
+        PARROT_IMAGEIO(SELF)->seen = PMCNULL;
+        PARROT_IMAGEIO(SELF)->pf   = PackFile_new(INTERP, 0);
+        PARROT_IMAGEIO(SELF)->todo =
+            Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
 
         PObj_flag_CLEAR(private1, SELF);
 
         PObj_custom_mark_destroy_SETALL(SELF);
     }
 
+
 /*
 
 =item C<void init_pmc(PMC *pmc)>
@@ -382,13 +401,13 @@
 
 */
     VTABLE void init_pmc(PMC *pmc) {
-        PARROT_IMAGEIO(SELF)->buffer = NULL;
-        PARROT_IMAGEIO(SELF)->todo   = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
         PARROT_IMAGEIO(SELF)->seen   = PMCNULL;
-        PARROT_IMAGEIO(SELF)->id     = 0;
         PARROT_IMAGEIO(SELF)->pf     = PackFile_new(INTERP, 0);
+        PARROT_IMAGEIO(SELF)->pf_ct  =
+            (PackFile_ConstTable *)VTABLE_get_pointer(INTERP, pmc);
+        PARROT_IMAGEIO(SELF)->todo   =
+            Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
 
-        PARROT_IMAGEIO(SELF)->pf_ct  = (PackFile_ConstTable *)VTABLE_get_pointer(INTERP, pmc);
         PObj_flag_SET(private1, SELF);
 
         PObj_custom_mark_destroy_SETALL(SELF);
@@ -409,6 +428,7 @@
         PARROT_IMAGEIO(SELF)->pf = NULL;
     }
 
+
 /*
 
 =item C<void mark()>
@@ -426,6 +446,7 @@
         Parrot_gc_mark_PMC_alive(INTERP, PARROT_IMAGEIO(SELF)->seen);
     }
 
+
 /*
 
 =item C<STRING *get_string()>
@@ -442,6 +463,7 @@
                                           PARROT_IMAGEIO(SELF)->pos);
     }
 
+
 /*
 
 =item C<VTABLE PMC *get_pmc()>
@@ -453,9 +475,11 @@
 */
 
     VTABLE PMC *get_pmc() {
-        return VTABLE_get_pmc_keyed_int(INTERP, (PARROT_IMAGEIO(SELF))->todo, 0);
+        return VTABLE_get_pmc_keyed_int(INTERP,
+            (PARROT_IMAGEIO(SELF))->todo, 0);
     }
 
+
 /*
 
 =item C<VTABLE PMC *get_iter()>
@@ -474,7 +498,7 @@
 
 =item C<VTABLE INTVAL get_integer()>
 
-Returns the flags describing the visit action
+Returns the flags describing the visit action.
 
 =cut
 
@@ -484,6 +508,7 @@
         return PARROT_IMAGEIO(SELF)->what;
     }
 
+
 /*
 
 =item C<VTABLE void push_integer(INTVAL v)>
@@ -495,9 +520,10 @@
 */
 
     VTABLE void push_integer(INTVAL v) {
-        const size_t len = PF_size_integer() * sizeof (opcode_t);
+        const const size_t len = PF_size_integer() * sizeof (opcode_t);
         ensure_buffer_size(INTERP, SELF, len);
-        SET_VISIT_CURSOR(SELF, (char *)PF_store_integer(GET_VISIT_CURSOR(SELF), v));
+        SET_VISIT_CURSOR(SELF,
+            (char *)PF_store_integer(GET_VISIT_CURSOR(SELF), v));
     }
 
 
@@ -511,11 +537,11 @@
 
 */
 
-    VTABLE void push_float(FLOATVAL v)
-    {
-        size_t len = PF_size_number() * sizeof (opcode_t);
+    VTABLE void push_float(FLOATVAL v) {
+        const size_t len = PF_size_number() * sizeof (opcode_t);
         ensure_buffer_size(INTERP, SELF, len);
-        SET_VISIT_CURSOR(SELF, (char *)PF_store_number(GET_VISIT_CURSOR(SELF), &v));
+        SET_VISIT_CURSOR(SELF,
+            (char *)PF_store_number(GET_VISIT_CURSOR(SELF), &v));
     }
 
 
@@ -532,33 +558,35 @@
     VTABLE void push_string(STRING *v) {
         if (PObj_flag_TEST(private1, SELF)) {
             /* store a reference to constant table entry of string */
-            PMC *v_pmc = key_new_string(interp, v);
+            PMC                 *v_pmc = key_new_string(interp, v);
             PackFile_ConstTable *table = PARROT_IMAGEIO(SELF)->pf_ct;
-            int idx = PackFile_ConstTable_rlookup(INTERP, table, v_pmc, PFC_STRING);
+            int                  idx   =
+                PackFile_ConstTable_rlookup(INTERP, table, v_pmc, PFC_STRING);
 
             if (idx >= 0) {
                 STATICSELF.push_integer(idx);
                 return;
             }
 
-            /* XXX
-             * handle cases where the PMC has changed after Parrot_freeze_strings was called
-             * eg: :immediate subs
-             */
+            /* XXX handle cases where the PMC has changed after
+             * Parrot_freeze_strings was called eg: :immediate subs */
             STATICSELF.push_integer(-1);
+
             /* TODO
              * should really be:
-             * PANIC(INTERP, "string not previously in constant table when freezing to packfile");
-             */
+             * PANIC(INTERP, "string not previously in constant table "
+             *               "when freezing to packfile"); */
         }
 
         {
             const size_t len = PF_size_string(v) * sizeof (opcode_t);
             ensure_buffer_size(INTERP, SELF, len);
-            SET_VISIT_CURSOR(SELF, (char *)PF_store_string(GET_VISIT_CURSOR(SELF), v));
+            SET_VISIT_CURSOR(SELF,
+                (char *)PF_store_string(GET_VISIT_CURSOR(SELF), v));
         }
     }
 
+
 /*
 
 =item C<VTABLE void push_pmc(PMC *v)>
@@ -626,7 +654,7 @@
 
     VTABLE FLOATVAL shift_float() {
         const opcode_t *pos = GET_VISIT_CURSOR(SELF);
-        FLOATVAL  f   = PF_fetch_number(PARROT_IMAGEIO(SELF)->pf, &pos);
+        FLOATVAL        f   = PF_fetch_number(PARROT_IMAGEIO(SELF)->pf, &pos);
         SET_VISIT_CURSOR(SELF, (char *)pos);
         BYTECODE_SHIFT_OK(SELF);
         return f;
@@ -645,10 +673,11 @@
 
     VTABLE STRING *shift_string() {
         if (PObj_flag_TEST(private1, SELF)) {
-            PackFile_ConstTable *table = PARROT_IMAGEIO(SELF)->pf_ct;
-            INTVAL i                   = STATICSELF.shift_integer();
+            const INTVAL i = STATICSELF.shift_integer();
 
             if (i >= 0) {
+                PackFile_ConstTable *table = PARROT_IMAGEIO(SELF)->pf_ct;
+
                 if (!table->constants[i].type)
                     Parrot_ex_throw_from_c_args(interp, NULL,
                             EXCEPTION_MALFORMED_PACKFILE,
@@ -664,13 +693,15 @@
 
         {
             const opcode_t *pos = GET_VISIT_CURSOR(SELF);
-            STRING   *s   = PF_fetch_string(INTERP, PARROT_IMAGEIO(SELF)->pf, &pos);
+            STRING         *s   = PF_fetch_string(INTERP,
+                                    PARROT_IMAGEIO(SELF)->pf, &pos);
             SET_VISIT_CURSOR(SELF, (char *)pos);
             BYTECODE_SHIFT_OK(SELF);
             return s;
         }
     }
 
+
 /*
 
 =item C<static PMC *shift_pmc()>
@@ -687,9 +718,11 @@
 
     VTABLE void set_pmc(PMC *p)
     {
-        const UINTVAL header_length = GROW_TO_16_BYTE_BOUNDARY(PACKFILE_HEADER_BYTES);
+        const UINTVAL header_length =
+            GROW_TO_16_BYTE_BOUNDARY(PACKFILE_HEADER_BYTES);
+
+        PARROT_IMAGEIO(SELF)->what  = VISIT_FREEZE_NORMAL;
 
-        PARROT_IMAGEIO(SELF)->what = VISIT_FREEZE_NORMAL;
         create_buffer(INTERP, p, SELF);
         ensure_buffer_size(INTERP, SELF, header_length);
         mem_sys_memcopy(GET_VISIT_CURSOR(SELF),
@@ -706,15 +739,17 @@
 
     VTABLE void set_string_native(STRING *image) {
         PMC          *unused;
-        const UINTVAL header_length = GROW_TO_16_BYTE_BOUNDARY(PACKFILE_HEADER_BYTES);
-        int unpacked_length;
+        int           unpacked_length;
+        const UINTVAL header_length =
+             GROW_TO_16_BYTE_BOUNDARY(PACKFILE_HEADER_BYTES);
 
         PARROT_IMAGEIO(SELF)->what   = VISIT_THAW_NORMAL;
         PARROT_IMAGEIO(SELF)->buffer = (Buffer *)image;
 
         PARROT_ASSERT(image->_bufstart == image->strstart);
 
-        SET_VISIT_CURSOR(SELF, (char *)Buffer_bufstart(PARROT_IMAGEIO(SELF)->buffer));
+        SET_VISIT_CURSOR(SELF,
+            (char *)Buffer_bufstart(PARROT_IMAGEIO(SELF)->buffer));
         PARROT_IMAGEIO(SELF)->input_length = image->strlen;
 
         PARROT_IMAGEIO(SELF)->pf->options |= PFOPT_PMC_FREEZE_ONLY;
@@ -736,6 +771,7 @@
         Parrot_visit_loop_thawfinish(INTERP, SELF);
     }
 
+
 /*
 
 =back


More information about the parrot-commits mailing list