Changeset 1578 in svn


Ignore:
Timestamp:
2014-11-13T09:06:20Z (4 years ago)
Author:
Xuefer
Message:

cacher: fix more var caching leaks

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/devel/run

    r1553 r1578  
    332332        esac
    333333
    334         "${cmd[@]}" -v || true
     334        #"${cmd[@]}" -v || true
    335335    esac
    336336
  • trunk/processor/foot.m4

    r1576 r1578  
    142142    }
    143143#endif
    144     zval_ptr_dtor(&dst);
    145144    if (dst_ptr) {
     145        zval_ptr_dtor(dst_ptr);
    146146        xc_restore_zval_ptr(&processor, dst_ptr, &src->value TSRMLS_CC);
    147         Z_ADDREF(**dst_ptr);
    148147    }
    149148    else {
     149        zval_dtor(dst);
    150150        xc_restore_zval(&processor, dst, src->value TSRMLS_CC);
    151         Z_ADDREF(*dst);
    152151    }
    153152    if (processor.handle_reference) {
  • trunk/processor/processor.m4

    r1577 r1578  
    284284                        IFCOPY(`
    285285                            DST()[0] = *ppzv;
    286                             IFSTORE(`Z_ADDREF(**DST());')
     286                            IFSTORE(`
     287                                Z_ADDREF(**DST());
     288                                TRACE("add refcount to %d", Z_REFCOUNT(**DST()));
     289                            ')
    287290                            /* *DST() is updated */
    288                             dnl fprintf(stderr, "*DST() is set to %p, PROCESSOR_TYPE is_shm %d\n", (void *) DST()[0], xc_is_shm(DST()[0]));
     291                            TRACE("*DST() is set to %p, PROCESSOR_TYPE is_shm %d", (void *) DST()[0], xc_is_shm(DST()[0]));
    289292                        ')
    290293                        IFCALCSTORE(`processor->have_references = 1;')
     
    315318            ')
    316319            IFCOPY(`
    317                 dnl fprintf(stderr, "copy from %p to %p\n", SRC()[0], DST()[0]);
     320                TRACE("copy from %p to %p", SRC()[0], DST()[0]);
    318321            ')
    319322            IFDPRINT(`INDENT()`'fprintf(stderr, "[%p] ", (void *) SRC()[0]);')
    320323            STRUCT_P_EX(zval, DST()[0], SRC()[0], `[0]', `', ` ')
    321324            dnl set refcount here instead of struct zval?
    322             IFSTORE(`Z_SET_REFCOUNT(**DST(), 1);')
     325            IFSTORE(`
     326                Z_SET_REFCOUNT(**DST(), 1);
     327                TRACE("set refcount to %d", Z_REFCOUNT(**DST()));
     328            ')
    323329            RELOCATE_EX(zval, DST()[0])
    324330        } while (0);
Note: See TracChangeset for help on using the changeset viewer.