XCache is a fast, stable PHP opcode cacher that has been proven and is now running on production servers under high load. https://xcache.lighttpd.net/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.5 KiB

  1. dnl === program start ========================================
  2. divert(0)
  3. ifdef(`XCACHE_ENABLE_TEST', `
  4. m4_errprint(`AUTOCHECK INFO: runtime autocheck Enabled (debug build)')
  5. ', `
  6. m4_errprint(`AUTOCHECK INFO: runtime autocheck Disabled (optimized build)')
  7. ')
  8. #include <string.h>
  9. #include <stdio.h>
  10. #include "php.h"
  11. #include "zend_extensions.h"
  12. #include "zend_compile.h"
  13. #include "zend_API.h"
  14. #include "zend_ini.h"
  15. EXPORT(`#include <stddef.h>')
  16. EXPORT(`#include "xcache.h"')
  17. EXPORT(`#include "mod_cacher/xc_cache.h"')
  18. EXPORT(`#include "xcache/xc_shm.h"')
  19. EXPORT(`#include "xcache/xc_allocator.h"')
  20. #include "xc_processor.h"
  21. #include "xcache/xc_const_string.h"
  22. #include "xcache/xc_utils.h"
  23. #include "util/xc_align.h"
  24. #include "util/xc_trace.h"
  25. #include "util/xc_util.h"
  26. #include "xcache_globals.h"
  27. #if defined(HARDENING_PATCH_HASH_PROTECT) && HARDENING_PATCH_HASH_PROTECT
  28. extern unsigned int zend_hash_canary;
  29. #endif
  30. dnl
  31. #ifdef DEBUG_SIZE
  32. static int xc_totalsize = 0;
  33. #endif
  34. #include "processor/debug.h"
  35. #include "processor/types.h"
  36. include(__dir__`/types.m4')
  37. /* {{{ call op_array ctor handler */
  38. extern zend_bool xc_have_op_array_ctor;
  39. static void xc_zend_extension_op_array_ctor_handler(zend_extension *extension, zend_op_array *op_array TSRMLS_DC)
  40. {
  41. if (extension->op_array_ctor) {
  42. extension->op_array_ctor(op_array);
  43. }
  44. }
  45. /* }}} */
  46. #include "processor/processor-t.h"
  47. #include "processor/string-helper.h"
  48. include(__dir__`/string-helper.m4')
  49. include(__dir__`/class-helper.m4')
  50. #include "processor/var-helper.h"
  51. include(__dir__`/var-helper.m4')