~dexter/parrot-pkg/maverick

« back to all changes in this revision

Viewing changes to src/pmc/imageiofreeze.pmc

  • Committer: Piotr Roszatycki
  • Date: 2011-01-11 14:34:28 UTC
  • mfrom: (1.1.13 upstream)
  • Revision ID: piotr.roszatycki@gmail.com-20110111143428-s7pa7qz38m61o4tw
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
Copyright (C) 2010, Parrot Foundation.
3
 
$Id: imageiofreeze.pmc 49141 2010-09-19 01:18:18Z plobsing $
4
3
 
5
4
=head1 NAME
6
5
 
381
380
    VTABLE void push_string(STRING *v) {
382
381
        if (PObj_flag_TEST(private1, SELF)) {
383
382
            /* store a reference to constant table entry of string */
384
 
            PMC                 * const v_pmc = key_new_string(interp, v);
385
383
            PackFile_ConstTable * const table = PARROT_IMAGEIOFREEZE(SELF)->pf_ct;
386
384
            const int idx =
387
 
                PackFile_ConstTable_rlookup(INTERP, table, v_pmc, PFC_STRING);
 
385
                PackFile_ConstTable_rlookup_str(INTERP, table, v);
388
386
 
389
387
            if (idx >= 0) {
390
388
                STATICSELF.push_integer(idx);
453
451
 
454
452
            PARROT_ASSERT(v);
455
453
 
456
 
            /* workaround to keep ParrotInterpreter PBC hack working */
457
 
            if (v->vtable->base_type == enum_class_ParrotInterpreter)
458
 
                PObj_flag_CLEAR(private1, SELF);
459
 
 
460
454
            SELF.push_integer(
461
455
                    PObj_is_object_TEST(v)
462
456
                    ? (INTVAL) enum_class_Object
522
516
 * Local variables:
523
517
 *   c-file-style: "parrot"
524
518
 * End:
525
 
 * vim: expandtab shiftwidth=4:
 
519
 * vim: expandtab shiftwidth=4 cinoptions='\:2=2' :
526
520
 */