- Timestamp:
- 2006-05-26T02:30:20Z (12 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/config.m4
r26 r27 30 30 XCACHE_MODULES="cacher" 31 31 XCACHE_OPTION([optimizer], [optimizer ], [XCACHE_OPTIMIZER], [(N/A)]) 32 XCACHE_OPTION([coverage ], [coverage ], [XCACHE_COVERAGE],[Enable code coverage dumper, NOT for production server])32 XCACHE_OPTION([coverager], [coverager ], [XCACHE_COVERAGER], [Enable code coverage dumper, NOT for production server]) 33 33 XCACHE_OPTION([assembler], [assembler ], [XCACHE_ASSEMBLER], [(N/A)]) 34 34 XCACHE_OPTION([disassembler], [disassembler], [XCACHE_DISASSEMBLER], [Enable opcode to php variable dumper, NOT for production server]) -
trunk/config.w32
r26 r27 17 17 // {{{ add sources on enabled 18 18 ARG_ENABLE("xcache-optimizer", "(N/A)", "no"); 19 ARG_ENABLE("xcache-coverage ","Enable code coverage dumper, NOT for production server", "no");19 ARG_ENABLE("xcache-coverager", "Enable code coverage dumper, NOT for production server", "no"); 20 20 ARG_ENABLE("xcache-assembler", "(N/A)", "no"); 21 21 ARG_ENABLE("xcache-disassembler", "Enable opcode to php variable dumper, NOT for production server", "no"); … … 25 25 var XCACHE_MODULES = "cacher"; 26 26 var options = ["optimizer", 27 "coverage ",27 "coverager", 28 28 "assembler", "disassembler", 29 29 "encoder", "decoder"]; -
trunk/coverager.c
r17 r27 11 11 #include "stack.h" 12 12 #include "xcache_globals.h" 13 #include "coverage .h"13 #include "coverager.h" 14 14 #include "utils.h" 15 typedef HashTable *coverage _t;15 typedef HashTable *coverager_t; 16 16 #define PCOV_HEADER_MAGIC 0x564f4350 17 17 … … 23 23 static void xc_destroy_coverage(void *pDest) /* {{{ */ 24 24 { 25 coverage _t cov = *(coverage_t*) pDest;25 coverager_t cov = *(coverager_t*) pDest; 26 26 #ifdef DEBUG 27 27 fprintf(stderr, "destroy %p\n", cov); … … 65 65 } 66 66 /* }}} */ 67 static void xc_coverage _save_cov(char *srcfile, char *outfilename, coverage_t cov TSRMLS_DC) /* {{{ */67 static void xc_coverager_save_cov(char *srcfile, char *outfilename, coverager_t cov TSRMLS_DC) /* {{{ */ 68 68 { 69 69 long *buf = NULL, *p; … … 193 193 } 194 194 /* }}} */ 195 void xc_coverage _request_init(TSRMLS_D) /* {{{ */195 void xc_coverager_request_init(TSRMLS_D) /* {{{ */ 196 196 { 197 197 if (XG(coveragedumper)) { … … 201 201 } 202 202 /* }}} */ 203 void xc_coverage _request_shutdown(TSRMLS_D) /* {{{ */204 { 205 coverage _t *pcov;203 void xc_coverager_request_shutdown(TSRMLS_D) /* {{{ */ 204 { 205 coverager_t *pcov; 206 206 zstr s; 207 207 char *outfilename; … … 231 231 fprintf(stderr, "outfilename %s\n", outfilename); 232 232 #endif 233 xc_coverage _save_cov(ZSTR_S(s), outfilename, *pcov TSRMLS_CC);233 xc_coverager_save_cov(ZSTR_S(s), outfilename, *pcov TSRMLS_CC); 234 234 zend_hash_move_forward(XG(coverages)); 235 235 } … … 243 243 244 244 /* helper func to store hits into coverages */ 245 static coverage _t xc_coverage_get(char *filename TSRMLS_DC) /* {{{ */245 static coverager_t xc_coverager_get(char *filename TSRMLS_DC) /* {{{ */ 246 246 { 247 247 int len = strlen(filename) + 1; 248 coverage _t cov, *pcov;248 coverager_t cov, *pcov; 249 249 250 250 if (zend_hash_find(XG(coverages), filename, len, (void **) &pcov) == SUCCESS) { … … 265 265 } 266 266 /* }}} */ 267 static void xc_coverage _add_hits(HashTable *cov, long line, long hits TSRMLS_DC) /* {{{ */267 static void xc_coverager_add_hits(HashTable *cov, long line, long hits TSRMLS_DC) /* {{{ */ 268 268 { 269 269 long *poldhits; … … 285 285 /* }}} */ 286 286 287 static int xc_coverage _get_op_array_size_no_tail(zend_op_array *op_array) /* {{{ */287 static int xc_coverager_get_op_array_size_no_tail(zend_op_array *op_array) /* {{{ */ 288 288 { 289 289 zend_uint size; … … 309 309 310 310 /* prefill */ 311 static int xc_coverage _init_op_array(zend_op_array *op_array TSRMLS_DC) /* {{{ */311 static int xc_coverager_init_op_array(zend_op_array *op_array TSRMLS_DC) /* {{{ */ 312 312 { 313 313 zend_uint size; 314 coverage _t cov;314 coverager_t cov; 315 315 zend_uint i; 316 316 … … 319 319 } 320 320 321 size = xc_coverage _get_op_array_size_no_tail(op_array);322 cov = xc_coverage _get(op_array->filename TSRMLS_CC);321 size = xc_coverager_get_op_array_size_no_tail(op_array); 322 cov = xc_coverager_get(op_array->filename TSRMLS_CC); 323 323 for (i = 0; i < size; i ++) { 324 324 switch (op_array->opcodes[i].opcode) { … … 328 328 case ZEND_EXT_FCALL_END: 329 329 #endif 330 xc_coverage _add_hits(cov, op_array->opcodes[i].lineno, -1 TSRMLS_CC);330 xc_coverager_add_hits(cov, op_array->opcodes[i].lineno, -1 TSRMLS_CC); 331 331 break; 332 332 } … … 335 335 } 336 336 /* }}} */ 337 static void xc_coverage _init_compile_result(zend_op_array *op_array TSRMLS_DC) /* {{{ */337 static void xc_coverager_init_compile_result(zend_op_array *op_array TSRMLS_DC) /* {{{ */ 338 338 { 339 339 xc_compile_result_t cr; 340 340 341 341 xc_compile_result_init_cur(&cr, op_array TSRMLS_CC); 342 xc_apply_op_array(&cr, (apply_func_t) xc_coverage _init_op_array TSRMLS_CC);342 xc_apply_op_array(&cr, (apply_func_t) xc_coverager_init_op_array TSRMLS_CC); 343 343 xc_compile_result_free(&cr); 344 344 } … … 350 350 op_array = origin_compile_file(h, type TSRMLS_CC); 351 351 if (XG(coveragedumper) && XG(coverages)) { 352 xc_coverage _init_compile_result(op_array TSRMLS_CC);352 xc_coverager_init_compile_result(op_array TSRMLS_CC); 353 353 } 354 354 return op_array; … … 357 357 358 358 /* hits */ 359 void xc_coverage _handle_ext_stmt(zend_op_array *op_array, zend_uchar op) /* {{{ */359 void xc_coverager_handle_ext_stmt(zend_op_array *op_array, zend_uchar op) /* {{{ */ 360 360 { 361 361 TSRMLS_FETCH(); 362 362 363 363 if (XG(coveragedumper) && XG(coverages)) { 364 int size = xc_coverage _get_op_array_size_no_tail(op_array);364 int size = xc_coverager_get_op_array_size_no_tail(op_array); 365 365 int oplineno = (*EG(opline_ptr)) - op_array->opcodes; 366 366 if (oplineno < size) { 367 xc_coverage _add_hits(xc_coverage_get(op_array->filename TSRMLS_CC), (*EG(opline_ptr))->lineno, 1 TSRMLS_CC);367 xc_coverager_add_hits(xc_coverager_get(op_array->filename TSRMLS_CC), (*EG(opline_ptr))->lineno, 1 TSRMLS_CC); 368 368 } 369 369 } … … 372 372 373 373 /* init/destroy */ 374 int xc_coverage _init(int module_number TSRMLS_DC) /* {{{ */374 int xc_coverager_init(int module_number TSRMLS_DC) /* {{{ */ 375 375 { 376 376 if (xc_coveragedump_dir) { … … 390 390 } 391 391 /* }}} */ 392 void xc_coverage _destroy() /* {{{ */392 void xc_coverager_destroy() /* {{{ */ 393 393 { 394 394 if (origin_compile_file == xc_compile_file_for_coverage) { … … 403 403 404 404 /* user api */ 405 PHP_FUNCTION(xcache_coverage _decode) /* {{{ */405 PHP_FUNCTION(xcache_coverager_decode) /* {{{ */ 406 406 { 407 407 char *str; … … 422 422 if (*p++ != PCOV_HEADER_MAGIC) { 423 423 #ifdef DEBUG 424 fprintf(stderr, "wrong magic in xcache_coverage _decode");424 fprintf(stderr, "wrong magic in xcache_coverager_decode"); 425 425 #endif 426 426 return; -
trunk/coverager.h
r17 r27 4 4 extern char *xc_coveragedump_dir; 5 5 6 void xc_coverage _handle_ext_stmt(zend_op_array *op_array, zend_uchar op);7 int xc_coverage _init(int module_number TSRMLS_DC);8 void xc_coverage _destroy();9 void xc_coverage _request_init(TSRMLS_D);10 void xc_coverage _request_shutdown(TSRMLS_D);11 PHP_FUNCTION(xcache_coverage _decode);6 void xc_coverager_handle_ext_stmt(zend_op_array *op_array, zend_uchar op); 7 int xc_coverager_init(int module_number TSRMLS_DC); 8 void xc_coverager_destroy(); 9 void xc_coverager_request_init(TSRMLS_D); 10 void xc_coverager_request_shutdown(TSRMLS_D); 11 PHP_FUNCTION(xcache_coverager_decode); -
trunk/xcache.c
r26 r27 17 17 #include "xcache.h" 18 18 #include "optimizer.h" 19 #include "coverage .h"19 #include "coverager.h" 20 20 #include "disassembler.h" 21 21 #include "align.h" … … 1016 1016 #endif 1017 1017 } 1018 #ifdef HAVE_XCACHE_COVERAGE 1019 xc_coverage _request_init(TSRMLS_C);1018 #ifdef HAVE_XCACHE_COVERAGER 1019 xc_coverager_request_init(TSRMLS_C); 1020 1020 #endif 1021 1021 } … … 1024 1024 { 1025 1025 xc_entry_unholds(TSRMLS_C); 1026 #ifdef HAVE_XCACHE_COVERAGE 1027 xc_coverage _request_shutdown(TSRMLS_C);1026 #ifdef HAVE_XCACHE_COVERAGER 1027 xc_coverager_request_shutdown(TSRMLS_C); 1028 1028 #endif 1029 1029 } … … 1621 1621 PHP_FE(xcache_decode_string, NULL) 1622 1622 #endif 1623 #ifdef HAVE_XCACHE_COVERAGE 1624 PHP_FE(xcache_coverage _decode,NULL)1623 #ifdef HAVE_XCACHE_COVERAGER 1624 PHP_FE(xcache_coverager_decode, NULL) 1625 1625 #endif 1626 1626 PHP_FE(xcache_get_special_value, NULL) … … 1735 1735 STD_PHP_INI_BOOLEAN("xcache.optimizer", "0", PHP_INI_ALL, OnUpdateBool, optimizer, zend_xcache_globals, xcache_globals) 1736 1736 #endif 1737 #ifdef HAVE_XCACHE_COVERAGE 1737 #ifdef HAVE_XCACHE_COVERAGER 1738 1738 PHP_INI_ENTRY1 ("xcache.coveragedump_directory", "", PHP_INI_SYSTEM, xc_OnUpdateString, &xc_coveragedump_dir) 1739 1739 STD_PHP_INI_BOOLEAN("xcache.coveragedumper" , "1", PHP_INI_ALL, OnUpdateBool, coveragedumper, zend_xcache_globals, xcache_globals) … … 1836 1836 } 1837 1837 1838 #ifdef HAVE_XCACHE_COVERAGE 1839 xc_coverage _init(module_number TSRMLS_CC);1838 #ifdef HAVE_XCACHE_COVERAGER 1839 xc_coverager_init(module_number TSRMLS_CC); 1840 1840 #endif 1841 1841 … … 1858 1858 } 1859 1859 1860 #ifdef HAVE_XCACHE_COVERAGE 1861 xc_coverage _destroy();1860 #ifdef HAVE_XCACHE_COVERAGER 1861 xc_coverager_destroy(); 1862 1862 #endif 1863 1863 … … 1947 1947 ZEND_DLEXPORT void xcache_statement_handler(zend_op_array *op_array) /* {{{ */ 1948 1948 { 1949 #ifdef HAVE_XCACHE_COVERAGE 1950 xc_coverage _handle_ext_stmt(op_array, ZEND_EXT_STMT);1949 #ifdef HAVE_XCACHE_COVERAGER 1950 xc_coverager_handle_ext_stmt(op_array, ZEND_EXT_STMT); 1951 1951 #endif 1952 1952 } … … 1955 1955 { 1956 1956 #if 0 1957 xc_coverage _handle_ext_stmt(op_array, ZEND_EXT_FCALL_BEGIN);1957 xc_coverager_handle_ext_stmt(op_array, ZEND_EXT_FCALL_BEGIN); 1958 1958 #endif 1959 1959 } … … 1962 1962 { 1963 1963 #if 0 1964 xc_coverage _handle_ext_stmt(op_array, ZEND_EXT_FCALL_END);1964 xc_coverager_handle_ext_stmt(op_array, ZEND_EXT_FCALL_END); 1965 1965 #endif 1966 1966 }
Note: See TracChangeset
for help on using the changeset viewer.