Changeset 1461 in svn for trunk/processor/processor.m4


Ignore:
Timestamp:
2013-11-09T08:38:23+01:00 (21 months ago)
Author:
Xuefer
Message:

relocate: update dst/src to compile

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/processor/processor.m4

    r1447 r1461  
    2626#endif
    2727DEF_STRUCT_P_FUNC(`zend_uint', , `dnl {{{
    28     IFCOPY(`dst[0] = src[0];')
     28    IFCOPY(`DST()[0] = SRC()[0];')
    2929    IFDPRINT(`
    3030        INDENT()
    31         fprintf(stderr, "%u\n", src[0]);
    32     ')
    33     DONE_SIZE(sizeof(src[0]))
     31        fprintf(stderr, "%u\n", SRC()[0]);
     32    ')
     33    DONE_SIZE(sizeof(SRC()[0]))
    3434')
    3535dnl }}}
    3636#ifndef ZEND_ENGINE_2
    3737DEF_STRUCT_P_FUNC(`int', , `dnl {{{
    38     IFCOPY(`*dst = *src;')
     38    IFCOPY(`*DST() = *SRC();')
    3939    IFDPRINT(`
    4040        INDENT()
    41         fprintf(stderr, "%d\n", src[0]);
    42     ')
    43     DONE_SIZE(sizeof(src[0]))
     41        fprintf(stderr, "%d\n", SRC()[0]);
     42    ')
     43    DONE_SIZE(sizeof(SRC()[0]))
    4444')
    4545dnl }}}
     
    7272DEF_STRUCT_P_FUNC(`zval', , `dnl {{{
    7373    IFDASM(`do {
    74         zval_dtor(dst);
    75         *dst = *src;
    76         zval_copy_ctor(dst);
    77         Z_SET_REFCOUNT(*dst, 1);
     74        zval_dtor(DST());
     75        *DST() = *SRC();
     76        zval_copy_ctor(DST());
     77        Z_SET_REFCOUNT(*DST(), 1);
    7878        DONE(value)
    7979        DONE(type)
     
    9191dnl {{{ zvalue_value
    9292        DISABLECHECK(`
    93         switch ((Z_TYPE_P(src) & IS_CONSTANT_TYPE_MASK)) {
     93        switch ((Z_TYPE_P(SRC()) & IS_CONSTANT_TYPE_MASK)) {
    9494            case IS_LONG:
    9595            case IS_RESOURCE:
     
    131131
    132132            case IS_OBJECT:
    133                 IFNOTMEMCPY(`IFCOPY(`memcpy(dst, src, sizeof(src[0]));')')
     133                IFNOTMEMCPY(`IFCOPY(`memcpy(DST(), SRC(), sizeof(SRC()[0]));')')
    134134                dnl STRUCT(value.obj)
    135135#ifndef ZEND_ENGINE_2
     
    165165    IFDASM(`
    166166        pushdefFUNC_NAME(`zval')
    167         FUNC_NAME (dasm, dst, src[0] TSRMLS_CC);
     167        FUNC_NAME (dasm, DST(), SRC()[0] TSRMLS_CC);
    168168        popdef(`FUNC_NAME')
    169169    ', `
     
    172172                if (processor->reference) {
    173173                    zval_ptr *ppzv;
    174                     if (zend_hash_find(&processor->zvalptrs, (char *) &src[0], sizeof(src[0]), (void **) &ppzv) == SUCCESS) {
     174                    if (zend_hash_find(&processor->zvalptrs, (char *) &SRC()[0], sizeof(SRC()[0]), (void **) &ppzv) == SUCCESS) {
    175175                        IFCOPY(`
    176                             dst[0] = *ppzv;
    177                             /* *dst is updated */
    178                             dnl fprintf(stderr, "*dst is set to %p, PROCESSOR_TYPE is_shm %d\n", dst[0], xc_is_shm(dst[0]));
     176                            DST()[0] = *ppzv;
     177                            /* *DST() is updated */
     178                            dnl fprintf(stderr, "*DST() is set to %p, PROCESSOR_TYPE is_shm %d\n", DST()[0], xc_is_shm(DST()[0]));
    179179                        ')
    180180                        IFCALCSTORE(`processor->have_references = 1;')
    181                         IFSTORE(`assert(xc_is_shm(dst[0]));')
    182                         IFRESTORE(`assert(!xc_is_shm(dst[0]));')
     181                        IFSTORE(`assert(xc_is_shm(DST()[0]));')
     182                        IFRESTORE(`assert(!xc_is_shm(DST()[0]));')
    183183                        break;
    184184                    }
     
    186186            ')
    187187           
    188             ALLOC(dst[0], zval)
     188            ALLOC(DST()[0], zval)
    189189            IFCALCCOPY(`
    190190                if (processor->reference) {
     
    193193                        zval_ptr pzv = (zval_ptr)-1;
    194194                    ', `
    195                         zval_ptr pzv = dst[0];
     195                        zval_ptr pzv = DST()[0];
    196196                        FIXPOINTER_EX(zval, pzv)
    197197                    ')
    198                     if (zend_hash_add(&processor->zvalptrs, (char *) &src[0], sizeof(src[0]), (void *) &pzv, sizeof(pzv), NULL) == SUCCESS) { /* first add, go on */
    199                         dnl fprintf(stderr, "mark[%p] = %p\n", src[0], pzv);
     198                    if (zend_hash_add(&processor->zvalptrs, (char *) &SRC()[0], sizeof(SRC()[0]), (void *) &pzv, sizeof(pzv), NULL) == SUCCESS) { /* first add, go on */
     199                        dnl fprintf(stderr, "mark[%p] = %p\n", SRC()[0], pzv);
    200200                    }
    201201                    else {
     
    205205            ')
    206206            IFCOPY(`
    207                 dnl fprintf(stderr, "copy from %p to %p\n", src[0], dst[0]);
     207                dnl fprintf(stderr, "copy from %p to %p\n", SRC()[0], DST()[0]);
    208208            ')
    209             IFDPRINT(`INDENT()`'fprintf(stderr, "[%p] ", (void *) src[0]);')
    210             STRUCT_P_EX(zval, dst[0], src[0], `[0]', `', ` ')
    211             FIXPOINTER_EX(zval, dst[0])
     209            IFDPRINT(`INDENT()`'fprintf(stderr, "[%p] ", (void *) SRC()[0]);')
     210            STRUCT_P_EX(zval, DST()[0], SRC()[0], `[0]', `', ` ')
     211            FIXPOINTER_EX(zval, DST()[0])
    212212        } while (0);
    213213    ')
     
    216216dnl }}}
    217217DEF_STRUCT_P_FUNC(`zval_ptr_nullable', , `dnl {{{
    218     if (src[0]) {
     218    if (SRC()[0]) {
    219219        pushdef(`DASM_STRUCT_DIRECT')
    220         STRUCT_P_EX(zval_ptr, dst, src, `', `', ` ')
     220        STRUCT_P_EX(zval_ptr, DST(), SRC(), `', `', ` ')
    221221        popdef(`DASM_STRUCT_DIRECT')
    222222    }
    223223    else {
    224         IFCOPY(`COPYNULL_EX(dst[0], src)')
     224        IFCOPY(`COPYNULL_EX(DST()[0], SRC())')
    225225    }
    226226    DONE_SIZE(sizeof(zval_ptr_nullable))
     
    264264    case ZEND_INTERNAL_FUNCTION:
    265265    case ZEND_OVERLOADED_FUNCTION:
    266         IFNOTMEMCPY(`IFCOPY(`memcpy(dst, src, sizeof(src[0]));')')
     266        IFNOTMEMCPY(`IFCOPY(`memcpy(DST(), SRC(), sizeof(SRC()[0]));')')
    267267        break;
    268268
     
    277277    }
    278278    ')
    279     DONE_SIZE(sizeof(src[0]))
     279    DONE_SIZE(sizeof(SRC()[0]))
    280280')
    281281dnl }}}
     
    330330    IFDASM(`
    331331        pushdefFUNC_NAME(`zend_trait_alias')
    332         FUNC_NAME (dasm, dst, src[0] TSRMLS_CC);
     332        FUNC_NAME (dasm, DST(), SRC()[0] TSRMLS_CC);
    333333        popdef(`FUNC_NAME')
    334334    ', `
    335         ALLOC(dst[0], zend_trait_alias)
    336         STRUCT_P_EX(zend_trait_alias, dst[0], src[0], `[0]', `', ` ')
    337         FIXPOINTER_EX(zend_trait_alias, dst[0])
     335        ALLOC(DST()[0], zend_trait_alias)
     336        STRUCT_P_EX(zend_trait_alias, DST()[0], SRC()[0], `[0]', `', ` ')
     337        FIXPOINTER_EX(zend_trait_alias, DST()[0])
    338338    ')
    339339    DONE_SIZE(sizeof(zend_trait_alias))
     
    343343    IFDASM(`
    344344        pushdefFUNC_NAME(`zend_trait_precedence')
    345         FUNC_NAME (dasm, dst, src[0] TSRMLS_CC);
     345        FUNC_NAME (dasm, DST(), SRC()[0] TSRMLS_CC);
    346346        popdef(`FUNC_NAME')
    347347    ', `
    348         ALLOC(dst[0], zend_trait_precedence)
    349         STRUCT_P_EX(zend_trait_precedence, dst[0], src[0], `[0]', `', ` ')
    350         FIXPOINTER_EX(zend_trait_precedence, dst[0])
     348        ALLOC(DST()[0], zend_trait_precedence)
     349        STRUCT_P_EX(zend_trait_precedence, DST()[0], SRC()[0], `[0]', `', ` ')
     350        FIXPOINTER_EX(zend_trait_precedence, DST()[0])
    351351    ')
    352352    DONE_SIZE(sizeof(zend_trait_precedence))
     
    356356DEF_STRUCT_P_FUNC(`zend_class_entry', , `dnl {{{
    357357    IFCALCCOPY(`
    358         processor->active_class_entry_src = src;
    359         IFCOPY(`processor->active_class_entry_dst = dst;')
     358        processor->active_class_entry_src = SRC();
     359        IFCOPY(`processor->active_class_entry_dst = DST();')
    360360    ')
    361361    PROCESS(char, type)
     
    498498    PROCESS_CTEXTPOINTER(handle_property_set)
    499499#endif
    500     dnl must do after SETNULL(constructor) and dst->parent
     500    dnl must do after SETNULL(constructor) and DST()->parent
    501501    STRUCT(HashTable, function_table, HashTable_zend_function)
    502502    IFRESTORE(`DST(`function_table.pDestructor') = ZEND_FUNCTION_DTOR;')
     
    536536                    *zv = dasm->active_op_array_src->literals[SRC(`$1.constant')].constant;
    537537                    zval_copy_ctor(zv);
    538                     add_assoc_zval_ex(dst, XCACHE_STRS("$1.constant"), zv);
     538                    add_assoc_zval_ex(DST(), XCACHE_STRS("$1.constant"), zv);
    539539                }
    540540                ', `
     
    626626    switch (SRC(`opcode')) {
    627627    case ZEND_BIND_TRAITS:
    628         ((zend_op *) src)->op2_type = IS_UNUSED;
     628        ((zend_op *) SRC())->op2_type = IS_UNUSED;
    629629        break;
    630630    }
     
    714714DEF_STRUCT_P_FUNC(`zend_op_array', , `dnl {{{
    715715    IFCOPY(`
    716         processor->active_op_array_dst = dst;
    717         processor->active_op_array_src = src;
     716        processor->active_op_array_dst = DST();
     717        processor->active_op_array_src = SRC();
    718718    ')
    719719    IFDASM(`
    720         dasm->active_op_array_src = src;
     720        dasm->active_op_array_src = SRC();
    721721    ')
    722722    {
     
    731731    zend_bool need_early_binding = processor->php_src->have_early_binding;
    732732#endif
    733     zend_bool shallow_copy = !processor->readonly_protection && !(src == processor->php_src->op_array && need_early_binding);
     733    zend_bool shallow_copy = !processor->readonly_protection && !(SRC() == processor->php_src->op_array && need_early_binding);
    734734    if (shallow_copy) {
    735735        zend_bool gc_arg_info = 0;
     
    739739#endif
    740740        /* really fast shallow copy */
    741         memcpy(dst, src, sizeof(src[0]));
     741        memcpy(DST(), SRC(), sizeof(SRC()[0]));
    742742        DST(`refcount') = &XG(op_array_dummy_refcount_holder);
    743743        XG(op_array_dummy_refcount_holder) = ((zend_uint) -1) / 2;
     
    867867                add_next_index_long(zv, SRC(`arg_types[i + 1]'));
    868868            }
    869             add_assoc_zval_ex(dst, ZEND_STRS("arg_types"), zv);
     869            add_assoc_zval_ex(DST(), ZEND_STRS("arg_types"), zv);
    870870        } while (0);')
    871871        DONE(arg_types)
     
    987987#endif
    988988    } while (0);
    989     IFRESTORE(`xc_fix_op_array_info(processor->entry_php_src, processor->php_src, dst, shallow_copy, op_array_info TSRMLS_CC);')
     989    IFRESTORE(`xc_fix_op_array_info(processor->entry_php_src, processor->php_src, DST(), shallow_copy, op_array_info TSRMLS_CC);')
    990990
    991991#ifdef ZEND_ENGINE_2
     
    10241024    IFCOPY(`
    10251025        if (SRC(`scope')) {
    1026             xc_fix_method(processor, dst TSRMLS_CC);
     1026            xc_fix_method(processor, DST() TSRMLS_CC);
    10271027        }
    10281028    ')
     
    10311031    IFRESTORE(`
    10321032        if (xc_have_op_array_ctor) {
    1033             zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) xc_zend_extension_op_array_ctor_handler, dst TSRMLS_CC);
     1033            zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) xc_zend_extension_op_array_ctor_handler, DST() TSRMLS_CC);
    10341034        }
    10351035    ')
     
    11501150DEF_STRUCT_P_FUNC(`xc_entry_data_php_t', , `dnl {{{
    11511151    IFCOPY(`
    1152         processor->php_dst = dst;
    1153         processor->php_src = src;
     1152        processor->php_dst = DST();
     1153        processor->php_src = SRC();
    11541154    ')
    11551155
Note: See TracChangeset for help on using the changeset viewer.