Ignore:
Timestamp:
2013-06-25T09:08:09+02:00 (14 months ago)
Author:
moo
Message:

optimizer: fix debug build

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/mod_optimizer/xc_optimizer.c

    r1250 r1276  
    2828#   undef Z_OP_CONSTANT 
    2929/* Z_OP_CONSTANT is used before pass_two is applied */ 
    30 #   define Z_OP_CONSTANT(op) op_array->literals[op.constant].constant 
     30#   define Z_OP_CONSTANT(op) op_array->literals[(op).constant].constant 
    3131#endif 
    3232 
     
    222222/* }}} */ 
    223223#ifdef XCACHE_DEBUG 
    224 static void op_snprint(char *buf, int size, zend_uchar op_type, znode_op *op) /* {{{ */ 
     224static void op_snprint(zend_op_array *op_array, char *buf, int size, zend_uchar op_type, znode_op *op) /* {{{ */ 
    225225{ 
    226226    switch (op_type) { 
     
    231231            TSRMLS_FETCH(); 
    232232 
    233             /* TODO: update for PHP 6 */ 
    234             php_start_ob_buffer(NULL, 0, 1 TSRMLS_CC); 
     233            php_output_start_default(TSRMLS_C); 
    235234            php_var_export(&zv, 1 TSRMLS_CC); 
    236  
    237             php_ob_get_buffer(&result TSRMLS_CC);  
    238             php_end_ob_buffer(0, 0 TSRMLS_CC); 
     235            php_output_get_contents(&result TSRMLS_CC);  
     236            php_output_end(TSRMLS_C); 
     237 
    239238            snprintf(buf, size, Z_STRVAL(result)); 
    240239            zval_dtor(&result); 
     
    261260 
    262261    default: 
    263         snprintf(buf, size, "%d %d", op->op_type, Z_OP(*op).var); 
    264     } 
    265 } 
    266 /* }}} */ 
    267 static void op_print(int line, zend_op *first, zend_op *end) /* {{{ */ 
     262        snprintf(buf, size, "%d %d", op_type, Z_OP(*op).var); 
     263    } 
     264} 
     265/* }}} */ 
     266static void op_print(zend_op_array *op_array, int line, zend_op *first, zend_op *end) /* {{{ */ 
    268267{ 
    269268    zend_op *opline; 
     
    272271        char buf_1[20]; 
    273272        char buf_2[20]; 
    274         op_snprint(buf_r, sizeof(buf_r), Z_OP_TYPE(opline->result), &opline->result); 
    275         op_snprint(buf_1, sizeof(buf_1), Z_OP_TYPE(opline->op1),    &opline->op1); 
    276         op_snprint(buf_2, sizeof(buf_2), Z_OP_TYPE(opline->op2),    &opline->op2); 
     273        op_snprint(op_array, buf_r, sizeof(buf_r), Z_OP_TYPE(opline->result), &opline->result); 
     274        op_snprint(op_array, buf_1, sizeof(buf_1), Z_OP_TYPE(opline->op1),    &opline->op1); 
     275        op_snprint(op_array, buf_2, sizeof(buf_2), Z_OP_TYPE(opline->op2),    &opline->op2); 
    277276        fprintf(stderr, 
    278                 "%3d %3d" 
     277                "%3d %3lu" 
    279278                " %-25s%-5s%-20s%-20s%5lu\r\n" 
    280                 , opline->lineno, opline - first + line 
     279                , opline->lineno, (long) (opline - first + line) 
    281280                , xc_get_opcode(opline->opcode), buf_r, buf_1, buf_2, opline->extended_value); 
    282281    } 
     
    322321/* }}} */ 
    323322#ifdef XCACHE_DEBUG 
    324 static void bb_print(bb_t *bb, zend_op *opcodes) /* {{{ */ 
    325 { 
    326     int line = bb->opcodes - opcodes; 
     323static void bb_print(bb_t *bb, zend_op_array *op_array) /* {{{ */ 
     324{ 
     325    int line = bb->opcodes - op_array->opcodes; 
    327326    op_flowinfo_t fi; 
    328327    zend_op *last = bb->opcodes + bb->count - 1; 
     
    344343            , fi.jmpout_op1, fi.jmpout_op2, fi.jmpout_ext, bb->fall, catchbbid, xc_get_opcode(last->opcode) 
    345344            ); 
    346     op_print(line, bb->opcodes, last + 1); 
     345    op_print(op_array, line, bb->opcodes, last + 1); 
    347346} 
    348347/* }}} */ 
     
    370369/* }}} */ 
    371370#ifdef XCACHE_DEBUG 
    372 static void bbs_print(bbs_t *bbs, zend_op *opcodes) /* {{{ */ 
     371static void bbs_print(bbs_t *bbs, zend_op_array *op_array) /* {{{ */ 
    373372{ 
    374373    int i; 
    375374    for (i = 0; i < xc_stack_count(bbs); i ++) { 
    376         bb_print(bbs_get(bbs, i), opcodes); 
     375        bb_print(bbs_get(bbs, i), op_array); 
    377376    } 
    378377} 
     
    590589    xc_dprint_zend_op_array(op_array, 0 TSRMLS_CC); 
    591590#   endif 
    592     op_print(0, op_array->opcodes, op_array->opcodes + op_array->last); 
     591    op_print(op_array, 0, op_array->opcodes, op_array->opcodes + op_array->last); 
    593592#endif 
    594593 
     
    598597            int i; 
    599598#ifdef XCACHE_DEBUG 
    600             bbs_print(&bbs, op_array->opcodes); 
     599            bbs_print(&bbs, op_array); 
    601600#endif 
    602601            /* TODO: calc opnum after basic block move */ 
     
    615614    xc_dprint_zend_op_array(op_array, 0 TSRMLS_CC); 
    616615#   endif 
    617     op_print(0, op_array->opcodes, op_array->opcodes + op_array->last); 
     616    op_print(op_array, 0, op_array->opcodes, op_array->opcodes + op_array->last); 
    618617#endif 
    619618    return 0; 
Note: See TracChangeset for help on using the changeset viewer.