Changeset 716 for trunk/xcache.c


Ignore:
Timestamp:
2011-04-09T09:07:48+02:00 (3 years ago)
Author:
moo
Message:

PHP 6: initial catch up with php 6 literals and trait

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/xcache.c

    r713 r716  
    11541154    xc_entry_data_php_t *php = (xc_entry_data_php_t *) data; 
    11551155 
    1156     class_name = opline->op1.u.constant.value.str.val; 
    1157     class_len  = opline->op1.u.constant.value.str.len; 
     1156    class_name = Z_OP_CONSTANT(opline->op1).value.str.val; 
     1157    class_len  = Z_OP_CONSTANT(opline->op1).value.str.len; 
    11581158    if (zend_hash_find(CG(class_table), class_name, class_len, (void **) &cest) == FAILURE) { 
    11591159        assert(0); 
     
    11961196 
    11971197#define XCACHE_CHECK_OP(type, op) \ 
    1198     if (zend_binary_strcmp(Z_STRVAL(opline->op.u.constant), Z_STRLEN(opline->op.u.constant), xce->type##path, xce->type##path_len) == 0) { \ 
     1198    if (zend_binary_strcmp(Z_STRVAL(Z_OP_CONSTANT(opline->op)), Z_STRLEN(Z_OP_CONSTANT(opline->op)), xce->type##path, xce->type##path_len) == 0) { \ 
    11991199        usage->type##path_used = 1; \ 
    12001200        oplineinfo |= xcache_##op##_is_##type; \ 
     
    12021202 
    12031203#define XCACHE_U_CHECK_OP(type, op) \ 
    1204     if (zend_u_##binary_strcmp(Z_USTRVAL(opline->op.u.constant), Z_USTRLEN(opline->op.u.constant), xce->u##type##path, xce->u##type##path_len) == 0) { \ 
     1204    if (zend_u_##binary_strcmp(Z_USTRVAL(Z_OP_CONSTANT(opline->op)), Z_USTRLEN(Z_OP_CONSTANT(opline->op)), xce->u##type##path, xce->u##type##path_len) == 0) { \ 
    12051205        usage->u##type##path_used = 1; \ 
    12061206        oplineinfo |= xcache_##op##_is_##type; \ 
     
    12101210        zend_op *opline = &op_array->opcodes[oplineno]; 
    12111211        int oplineinfo = 0; 
    1212         if (opline->op1.op_type == IS_CONST) { 
    1213             if (Z_TYPE(opline->op1.u.constant) == IS_STRING) { 
     1212        if (Z_OP_TYPE(opline->op1) == IS_CONST) { 
     1213            if (Z_TYPE(Z_OP_CONSTANT(opline->op1)) == IS_STRING) { 
    12141214                XCACHE_CHECK_OP(file, op1) 
    12151215                else XCACHE_CHECK_OP(dir, op1) 
     
    12171217 
    12181218#ifdef IS_UNICODE 
    1219             else if (Z_TYPE(opline->op1.u.constant) == IS_UNICODE) { 
     1219            else if (Z_TYPE(Z_OP_CONSTANT(opline->op1)) == IS_UNICODE) { 
    12201220                XCACHE_U_CHECK_OP(file, op1) 
    12211221                else XCACHE_U_CHECK_OP(dir, op1) 
     
    12231223#endif 
    12241224        } 
    1225         if (opline->op2.op_type == IS_CONST) { 
    1226             if (Z_TYPE(opline->op2.u.constant) == IS_STRING) { 
     1225        if (Z_OP_TYPE(opline->op2) == IS_CONST) { 
     1226            if (Z_TYPE(Z_OP_CONSTANT(opline->op2)) == IS_STRING) { 
    12271227                XCACHE_CHECK_OP(file, op2) 
    12281228                else XCACHE_CHECK_OP(dir, op2) 
     
    12301230 
    12311231#ifdef IS_UNICODE 
    1232             else if (Z_TYPE(opline->op2.u.constant) == IS_UNICODE) { 
     1232            else if (Z_TYPE(Z_OP_CONSTANT(opline->op2)) == IS_UNICODE) { 
    12331233                XCACHE_U_CHECK_OP(file, op2) 
    12341234                else XCACHE_U_CHECK_OP(dir, op2) 
     
    12591259        zend_op *opline = &op_array->opcodes[oplineno]; 
    12601260        if ((oplineinfo & xcache_op1_is_file)) { 
    1261             assert(opline->op1.op_type == IS_CONST); 
     1261            assert(Z_OP_TYPE(opline->op1) == IS_CONST); 
    12621262            if (copy) { 
    1263                 efree(Z_STRVAL(opline->op1.u.constant)); 
    1264             } 
    1265             if (Z_TYPE(opline->op1.u.constant) == IS_STRING) { 
     1263                efree(Z_STRVAL(Z_OP_CONSTANT(opline->op1))); 
     1264            } 
     1265            if (Z_TYPE(Z_OP_CONSTANT(opline->op1)) == IS_STRING) { 
    12661266                assert(xce->filepath); 
    1267                 ZVAL_STRINGL(&opline->op1.u.constant, xce->filepath, xce->filepath_len, copy); 
     1267                ZVAL_STRINGL(&Z_OP_CONSTANT(opline->op1), xce->filepath, xce->filepath_len, copy); 
    12681268                TRACE("fixing op1 to %s", xce->filepath); 
    12691269            } 
    12701270#ifdef IS_UNICODE 
    1271             else if (Z_TYPE(opline->op1.u.constant) == IS_UNICODE) { 
     1271            else if (Z_TYPE(Z_OP_CONSTANT(opline->op1)) == IS_UNICODE) { 
    12721272                assert(xce->ufilepath); 
    1273                 ZVAL_UNICODEL(&opline->op1.u.constant, xce->ufilepath, xce->ufilepath_len, copy); 
     1273                ZVAL_UNICODEL(&Z_OP_CONSTANT(opline->op1), xce->ufilepath, xce->ufilepath_len, copy); 
    12741274            } 
    12751275#endif 
     
    12791279        } 
    12801280        else if ((oplineinfo & xcache_op1_is_dir)) { 
    1281             assert(opline->op1.op_type == IS_CONST); 
     1281            assert(Z_OP_TYPE(opline->op1) == IS_CONST); 
    12821282            if (copy) { 
    1283                 efree(Z_STRVAL(opline->op1.u.constant)); 
    1284             } 
    1285             if (Z_TYPE(opline->op1.u.constant) == IS_STRING) { 
     1283                efree(Z_STRVAL(Z_OP_CONSTANT(opline->op1))); 
     1284            } 
     1285            if (Z_TYPE(Z_OP_CONSTANT(opline->op1)) == IS_STRING) { 
    12861286                assert(xce->dirpath); 
    12871287                TRACE("fixing op1 to %s", xce->dirpath); 
    1288                 ZVAL_STRINGL(&opline->op1.u.constant, xce->dirpath, xce->dirpath_len, copy); 
     1288                ZVAL_STRINGL(&Z_OP_CONSTANT(opline->op1), xce->dirpath, xce->dirpath_len, copy); 
    12891289            } 
    12901290#ifdef IS_UNICODE 
    1291             else if (Z_TYPE(opline->op1.u.constant) == IS_UNICODE) { 
     1291            else if (Z_TYPE(Z_OP_CONSTANT(opline->op1)) == IS_UNICODE) { 
    12921292                assert(!xce->udirpath); 
    1293                 ZVAL_UNICODEL(&opline->op1.u.constant, xce->udirpath, xce->udirpath_len, copy); 
     1293                ZVAL_UNICODEL(&Z_OP_CONSTANT(opline->op1), xce->udirpath, xce->udirpath_len, copy); 
    12941294            } 
    12951295#endif 
     
    13001300 
    13011301        if ((oplineinfo & xcache_op2_is_file)) { 
    1302             assert(opline->op2.op_type == IS_CONST); 
     1302            assert(Z_OP_TYPE(opline->op2) == IS_CONST); 
    13031303            if (copy) { 
    1304                 efree(Z_STRVAL(opline->op2.u.constant)); 
    1305             } 
    1306             if (Z_TYPE(opline->op2.u.constant) == IS_STRING) { 
     1304                efree(Z_STRVAL(Z_OP_CONSTANT(opline->op2))); 
     1305            } 
     1306            if (Z_TYPE(Z_OP_CONSTANT(opline->op2)) == IS_STRING) { 
    13071307                assert(xce->filepath); 
    13081308                TRACE("fixing op2 to %s", xce->filepath); 
    1309                 ZVAL_STRINGL(&opline->op2.u.constant, xce->filepath, xce->filepath_len, copy); 
     1309                ZVAL_STRINGL(&Z_OP_CONSTANT(opline->op2), xce->filepath, xce->filepath_len, copy); 
    13101310            } 
    13111311#ifdef IS_UNICODE 
    1312             else if (Z_TYPE(opline->op2.u.constant) == IS_UNICODE) { 
     1312            else if (Z_TYPE(Z_OP_CONSTANT(opline->op2)) == IS_UNICODE) { 
    13131313                assert(xce->ufilepath); 
    1314                 ZVAL_UNICODEL(&opline->op2.u.constant, xce->ufilepath, xce->ufilepath_len, copy); 
     1314                ZVAL_UNICODEL(&Z_OP_CONSTANT(opline->op2), xce->ufilepath, xce->ufilepath_len, copy); 
    13151315            } 
    13161316#endif 
     
    13201320        } 
    13211321        else if ((oplineinfo & xcache_op2_is_dir)) { 
    1322             assert(opline->op2.op_type == IS_CONST); 
     1322            assert(Z_OP_TYPE(opline->op2) == IS_CONST); 
    13231323            if (copy) { 
    1324                 efree(Z_STRVAL(opline->op2.u.constant)); 
    1325             } 
    1326             if (Z_TYPE(opline->op2.u.constant) == IS_STRING) { 
     1324                efree(Z_STRVAL(Z_OP_CONSTANT(opline->op2))); 
     1325            } 
     1326            if (Z_TYPE(Z_OP_CONSTANT(opline->op2)) == IS_STRING) { 
    13271327                assert(!xce->dirpath); 
    13281328                TRACE("fixing op2 to %s", xce->dirpath); 
    1329                 ZVAL_STRINGL(&opline->op2.u.constant, xce->dirpath, xce->dirpath_len, copy); 
     1329                ZVAL_STRINGL(&Z_OP_CONSTANT(opline->op2), xce->dirpath, xce->dirpath_len, copy); 
    13301330            } 
    13311331#ifdef IS_UNICODE 
    1332             else if (Z_TYPE(opline->op2.u.constant) == IS_UNICODE) { 
     1332            else if (Z_TYPE(Z_OP_CONSTANT(opline->op2)) == IS_UNICODE) { 
    13331333                assert(!xce->udirpath); 
    1334                 ZVAL_UNICODEL(&opline->op2.u.constant, xce->udirpath, xce->udirpath_len, copy); 
     1334                ZVAL_UNICODEL(&Z_OP_CONSTANT(opline->op2), xce->udirpath, xce->udirpath_len, copy); 
    13351335            } 
    13361336#endif 
     
    30553055} 
    30563056/* }}} */ 
    3057 static function_entry xcache_functions[] = /* {{{ */ 
     3057static zend_function_entry xcache_functions[] = /* {{{ */ 
    30583058{ 
    30593059    PHP_FE(xcache_count,             NULL) 
Note: See TracChangeset for help on using the changeset viewer.