22#ifndef ZEND_ACCELERATOR_H
23#define ZEND_ACCELERATOR_H
29#define ACCELERATOR_PRODUCT_NAME "Zend OPcache"
37#define ACCELERATOR_API_NO 8
42#include "zend_config.h"
44# include <sys/resource.h>
61# define PHPAPI __declspec(dllimport)
69# define ZEND_EXT_API __declspec(dllexport)
70# elif defined(__GNUC__) && __GNUC__ >= 4
71# define ZEND_EXT_API __attribute__ ((visibility("default")))
80# define MAXPATHLEN PHP_WIN32_IOUTIL_MAXPATHLEN
85# define MAXPATHLEN 4096
87# include <sys/param.h>
95#if defined(ZEND_WIN32)
96# define ENABLE_FILE_CACHE_FALLBACK 1
98# define ENABLE_FILE_CACHE_FALLBACK 0
183#if ENABLE_FILE_CACHE_FALLBACK
184 bool file_cache_fallback;
186#ifdef HAVE_HUGE_CODE_PAGES
187 bool huge_code_pages;
243#define ZEND_STRING_TABLE_POS_MAX UINT32_MAX
244#define ZEND_STRING_TABLE_POS_ALIGNMENT 8
290extern char accel_uname_id[32];
294#if ENABLE_FILE_CACHE_FALLBACK
295extern bool fallback_process;
299#define ZCSG(element) (accel_shared_globals->element)
302# define ZCG(v) ZEND_TSRMG(accel_globals_id, zend_accel_globals *, v)
303extern int accel_globals_id;
304# ifdef COMPILE_DL_OPCACHE
308# define ZCG(v) (accel_globals.v)
331#define IS_ACCEL_INTERNED(str) \
332 ((char*)(str) >= (char*)ZCSG(interned_strings).start && (char*)(str) < (char*)ZCSG(interned_strings).top)
341#define SHM_PROTECT() \
343 if (ZCG(accel_directives).protect_memory) { \
344 zend_accel_shared_protect(true); \
348#define SHM_UNPROTECT() \
350 if (ZCG(accel_directives).protect_memory) { \
351 zend_accel_shared_protect(false); \
zend_accel_globals accel_globals
zend_result validate_timestamp_and_record_ex(zend_persistent_script *persistent_script, zend_file_handle *file_handle)
accel_time_t zend_get_file_handle_timestamp(zend_file_handle *file_handle, size_t *size)
void zend_accel_schedule_restart_if_necessary(zend_accel_restart_reason reason)
zend_result zend_accel_invalidate(zend_string *filename, bool force)
zend_result accelerator_shm_read_lock(void)
zend_op_array * persistent_compile_file(zend_file_handle *file_handle, int type)
zend_result validate_timestamp_and_record(zend_persistent_script *persistent_script, zend_file_handle *file_handle)
void zend_accel_schedule_restart(zend_accel_restart_reason reason)
zend_string * accel_make_persistent_key(zend_string *str)
void accelerator_shm_read_unlock(void)
zend_result accel_post_deactivate(void)
void accel_shutdown(void)
zend_accel_shared_globals * accel_shared_globals
const char * zps_api_failure_reason
#define ZEND_STRING_TABLE_POS_ALIGNMENT
uint32_t zend_accel_get_class_name_map_ptr(zend_string *type_name)
uint32_t zend_string_table_pos_t
struct _zend_persistent_script zend_persistent_script
struct _zend_string_table zend_string_table
zend_string *ZEND_FASTCALL accel_new_interned_string(zend_string *str)
_zend_accel_restart_reason
struct _zend_early_binding zend_early_binding
struct _zend_accel_shared_globals zend_accel_shared_globals
struct _zend_accel_directives zend_accel_directives
enum _zend_accel_restart_reason zend_accel_restart_reason
struct _zend_accel_globals zend_accel_globals
bool file_cache_consistency_checks
zend_long max_accelerated_files
zend_long opt_debug_level
bool file_override_enabled
zend_long memory_consumption
char * user_blacklist_filename
zend_long interned_strings_buffer
zend_ulong file_update_protection
zend_long optimization_level
zend_long force_restart_timeout
zend_ulong revalidate_freq
double max_wasted_percentage
zend_long log_verbosity_level
char include_path_key[32]
zend_persistent_script * current_persistent_script
zend_accel_directives accel_directives
const zend_op * cache_opline
size_t preloaded_internal_run_time_cache_size
zend_string * include_path
zend_persistent_script * cache_persistent_script
void * preloaded_internal_run_time_cache
zend_ulong blacklist_misses
bool jit_counters_stopped
zend_ulong manual_restarts
zend_accel_restart_reason restart_reason
zend_persistent_script ** saved_scripts
const void ** jit_exit_groups
time_t force_restart_time
uint32_t uninitialized_bucket[-HT_MIN_MASK]
size_t map_ptr_static_last
zend_persistent_script * preload_script
bool cache_status_before_restart
ZEND_SET_ALIGNED(ZEND_STRING_TABLE_POS_ALIGNMENT, zend_string_table interned_strings)
zend_string * lc_parent_name
unsigned int memory_consumption
int ping_auto_globals_mask
uint32_t num_early_bindings
zend_early_binding * early_bindings
struct _zend_persistent_script::zend_persistent_script_dynamic_members dynamic_members
zend_error_info ** warnings
zend_long compiler_halt_offset
struct _zend_error_info zend_error_info
#define ZEND_TSRMLS_CACHE_EXTERN()
#define ZEND_RINIT_FUNCTION
struct _zend_accel_hash zend_accel_hash
struct _zend_op_array zend_op_array
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)
struct _zend_file_handle zend_file_handle
struct _zend_string zend_string
struct _zend_script zend_script
struct _zend_array HashTable
ZEND_RESULT_CODE zend_result