Changeset 721 in svn
- Timestamp:
- 2011-04-09T11:05:07Z (9 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/processor/hashtable.m4
r534 r721 65 65 66 66 efree(buf); 67 return; /* no check size */68 67 ', ` 69 68 dnl }}} -
trunk/processor/processor.m4
r716 r721 85 85 #endif 86 86 } while(0); 87 return;88 87 ', ` 89 88 dnl IFDASM else … … 323 322 #endif 324 323 324 #ifdef ZEND_ENGINE_2 325 STRUCT(HashTable, properties_info, HashTable_zend_property_info) 326 #endif 327 325 328 #ifdef ZEND_ENGINE_2_4 326 329 DISPATCH(int, default_properties_count) … … 334 337 DONE(builtin_functions) 335 338 STRUCT(HashTable, default_properties, HashTable_zval_ptr) 336 # ifdef ZEND_ENGINE_2 337 STRUCT(HashTable, properties_info, HashTable_zend_property_info) 338 # ifdef ZEND_ENGINE_2_1 339 # ifdef ZEND_ENGINE_2_1 339 340 STRUCT(HashTable, default_static_members, HashTable_zval_ptr) 340 341 IFCOPY(`dst->static_members = &dst->default_static_members;') 341 342 DONE(static_members) 342 # else343 # elif defined(ZEND_ENGINE_2) 343 344 STRUCT_P(HashTable, static_members, HashTable_zval_ptr) 344 # endif345 345 # endif 346 346 #endif /* ZEND_ENGINE_2_4 */ … … 486 486 undefine(`UNION_znode_op') 487 487 define(`UNION_znode_op', `dnl {{{ 488 assert(src->$1_type == IS_CONST || 489 src->$1_type == IS_VAR || 490 src->$1_type == IS_CV || 491 src->$1_type == IS_TMP_VAR || 492 src->$1_type == IS_UNUSED); 488 switch ((src->$1_type & ~EXT_TYPE_UNUSED)) { 489 case IS_CONST: 490 case IS_VAR: 491 case IS_CV: 492 case IS_TMP_VAR: 493 case IS_UNUSED: 494 break; 495 496 default: 497 assert(0); 498 } 499 493 500 dnl dirty dispatch 494 501 DISABLECHECK(` 495 switch ( src->$1_type) {502 switch ((src->$1_type & ~EXT_TYPE_UNUSED)) { 496 503 case IS_CONST: 497 504 dnl TODO: fix me, use literals … … 659 666 #endif 660 667 IFRESTORE(`dst->filename = processor->entry_src->filepath;') 668 #ifndef ZEND_ENGINE_2_4 661 669 if (op_array_info->oplineinfo_cnt) { 662 670 gc_opcodes = 1; 663 671 COPY_N_EX(last, zend_op, opcodes) 664 672 } 673 #endif 665 674 if (gc_arg_info || gc_opcodes) { 666 675 xc_gc_op_array_t gc_op_array; … … 889 898 #endif 890 899 DEF_STRUCT_P_FUNC(`xc_op_array_info_t', , `dnl {{{ 900 #ifdef ZEND_ENGINE_2_4 901 DISPATCH(zend_uint, literalinfo_cnt) 902 DISPATCH_ARRAY(literalinfo_cnt, int, literalinfos) 903 #else 891 904 DISPATCH(zend_uint, oplineinfo_cnt) 892 905 DISPATCH_ARRAY(oplineinfo_cnt, int, oplineinfos) 906 #endif 893 907 ') 894 908 dnl }}} -
trunk/xcache.c
r716 r721 1177 1177 1178 1178 /* {{{ Constant Usage */ 1179 #define xcache_op1_is_file 1 1180 #define xcache_op1_is_dir 2 1181 #define xcache_op2_is_file 4 1182 #define xcache_op2_is_dir 8 1179 #ifdef ZEND_ENGINE_2_4 1180 #else 1181 # define xcache_op1_is_file 1 1182 # define xcache_op1_is_dir 2 1183 # define xcache_op2_is_file 4 1184 # define xcache_op2_is_dir 8 1185 #endif 1183 1186 typedef struct { 1184 1187 zend_bool filepath_used; … … 1190 1193 static void xc_collect_op_array_info(xc_entry_t *xce, xc_entry_data_php_t *php, xc_const_usage_t *usage, xc_op_array_info_t *op_array_info, zend_op_array *op_array TSRMLS_DC) /* {{{ */ 1191 1194 { 1195 #ifdef ZEND_ENGINE_2_4 1192 1196 int oplineno; 1197 #else 1198 int oplineno; 1199 #endif 1193 1200 xc_vector_t vector_int; 1194 1201 1195 1202 xc_vector_init(int, &vector_int); 1196 1203 1204 #ifdef ZEND_ENGINE_2_4 1205 #else 1197 1206 #define XCACHE_CHECK_OP(type, op) \ 1198 1207 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) { \ … … 1244 1253 op_array_info->oplineinfo_cnt = vector_int.cnt; 1245 1254 op_array_info->oplineinfos = xc_vector_detach(int, &vector_int); 1255 #endif 1246 1256 xc_vector_free(int, &vector_int); 1247 1257 } … … 1249 1259 void xc_fix_op_array_info(const xc_entry_t *xce, const xc_entry_data_php_t *php, zend_op_array *op_array, int copy, const xc_op_array_info_t *op_array_info TSRMLS_DC) /* {{{ */ 1250 1260 { 1261 #ifdef ZEND_ENGINE_2_4 1262 #else 1251 1263 int i; 1252 if (!op_array_info->oplineinfo_cnt) { 1253 return; 1254 } 1255 1264 #endif 1265 1266 #ifdef ZEND_ENGINE_2_4 1267 #else 1256 1268 for (i = 0; i < op_array_info->oplineinfo_cnt; i += 2) { 1257 1269 int oplineno = op_array_info->oplineinfos[i]; … … 1340 1352 } 1341 1353 } 1354 #endif 1342 1355 } 1343 1356 /* }}} */ 1344 1357 static void xc_free_op_array_info(xc_op_array_info_t *op_array_info TSRMLS_DC) /* {{{ */ 1345 1358 { 1359 #ifdef ZEND_ENGINE_2_4 1360 if (op_array_info->literalinfos) { 1361 efree(op_array_info->literalinfos); 1362 } 1363 #else 1346 1364 if (op_array_info->oplineinfos) { 1347 1365 efree(op_array_info->oplineinfos); 1348 1366 } 1367 #endif 1349 1368 } 1350 1369 /* }}} */ -
trunk/xcache.h
r716 r721 259 259 /* {{{ xc_op_array_info_t */ 260 260 typedef struct { 261 #ifdef ZEND_ENGINE_2_4 262 zend_uint literalinfo_cnt; 263 int *literalinfos; 264 #else 261 265 zend_uint oplineinfo_cnt; 262 266 int *oplineinfos; 267 #endif 263 268 } xc_op_array_info_t; 264 269 /* }}} */
Note: See TracChangeset
for help on using the changeset viewer.