persistent_script 852 ext/opcache/ZendAccelerator.c static inline int do_validate_timestamps(zend_persistent_script *persistent_script, zend_file_handle *file_handle) persistent_script 862 ext/opcache/ZendAccelerator.c if (persistent_script->full_path != file_handle->opened_path && persistent_script 863 ext/opcache/ZendAccelerator.c (ZSTR_LEN(persistent_script->full_path) != ZSTR_LEN(file_handle->opened_path) || persistent_script 864 ext/opcache/ZendAccelerator.c memcmp(ZSTR_VAL(persistent_script->full_path), ZSTR_VAL(file_handle->opened_path), ZSTR_LEN(file_handle->opened_path)) != 0)) { persistent_script 870 ext/opcache/ZendAccelerator.c persistent_script->full_path != full_path_ptr && persistent_script 871 ext/opcache/ZendAccelerator.c (ZSTR_LEN(persistent_script->full_path) != ZSTR_LEN(full_path_ptr) || persistent_script 872 ext/opcache/ZendAccelerator.c memcmp(ZSTR_VAL(persistent_script->full_path), ZSTR_VAL(full_path_ptr), ZSTR_LEN(full_path_ptr)) != 0)) { persistent_script 879 ext/opcache/ZendAccelerator.c if (persistent_script->timestamp == 0) { persistent_script 887 ext/opcache/ZendAccelerator.c if (zend_get_file_handle_timestamp(file_handle, NULL) == persistent_script->timestamp) { persistent_script 900 ext/opcache/ZendAccelerator.c ps_handle.filename = ZSTR_VAL(persistent_script->full_path); persistent_script 901 ext/opcache/ZendAccelerator.c ps_handle.opened_path = persistent_script->full_path; persistent_script 903 ext/opcache/ZendAccelerator.c if (zend_get_file_handle_timestamp(&ps_handle, NULL) == persistent_script->timestamp) { persistent_script 910 ext/opcache/ZendAccelerator.c int validate_timestamp_and_record(zend_persistent_script *persistent_script, zend_file_handle *file_handle) persistent_script 913 ext/opcache/ZendAccelerator.c persistent_script->dynamic_members.revalidate >= ZCG(request_time)) { persistent_script 915 ext/opcache/ZendAccelerator.c } else if (do_validate_timestamps(persistent_script, file_handle) == FAILURE) { persistent_script 918 ext/opcache/ZendAccelerator.c persistent_script->dynamic_members.revalidate = ZCG(request_time) + ZCG(accel_directives).revalidate_freq; persistent_script 1085 ext/opcache/ZendAccelerator.c zend_persistent_script *persistent_script; persistent_script 1103 ext/opcache/ZendAccelerator.c persistent_script = zend_accel_hash_find(&ZCSG(hash), realpath); persistent_script 1104 ext/opcache/ZendAccelerator.c if (persistent_script && !persistent_script->corrupted) { persistent_script 1113 ext/opcache/ZendAccelerator.c do_validate_timestamps(persistent_script, &file_handle) == FAILURE) { persistent_script 1116 ext/opcache/ZendAccelerator.c if (!persistent_script->corrupted) { persistent_script 1117 ext/opcache/ZendAccelerator.c persistent_script->corrupted = 1; persistent_script 1118 ext/opcache/ZendAccelerator.c persistent_script->timestamp = 0; persistent_script 1119 ext/opcache/ZendAccelerator.c ZSMMG(wasted_shared_memory) += persistent_script->dynamic_members.memory_consumption; persistent_script 1552 ext/opcache/ZendAccelerator.c zend_persistent_script *persistent_script; persistent_script 1575 ext/opcache/ZendAccelerator.c persistent_script = zend_file_cache_script_load(file_handle); persistent_script 1577 ext/opcache/ZendAccelerator.c if (persistent_script) { persistent_script 1579 ext/opcache/ZendAccelerator.c if (persistent_script->full_path) { persistent_script 1586 ext/opcache/ZendAccelerator.c if (zend_hash_add_empty_element(&EG(included_files), persistent_script->full_path) != NULL) { persistent_script 1588 ext/opcache/ZendAccelerator.c if (persistent_script->is_phar) { persistent_script 1590 ext/opcache/ZendAccelerator.c char *fname = emalloc(sizeof("phar://") + ZSTR_LEN(persistent_script->full_path)); persistent_script 1593 ext/opcache/ZendAccelerator.c memcpy(fname + sizeof("phar://") - 1, ZSTR_VAL(persistent_script->full_path), ZSTR_LEN(persistent_script->full_path) + 1); persistent_script 1602 ext/opcache/ZendAccelerator.c if (persistent_script->ping_auto_globals_mask) { persistent_script 1603 ext/opcache/ZendAccelerator.c zend_accel_set_auto_globals(persistent_script->ping_auto_globals_mask); persistent_script 1606 ext/opcache/ZendAccelerator.c return zend_accel_load_script(persistent_script, 1); persistent_script 1609 ext/opcache/ZendAccelerator.c persistent_script = opcache_compile_file(file_handle, type, NULL, 0, &op_array); persistent_script 1611 ext/opcache/ZendAccelerator.c if (persistent_script) { persistent_script 1613 ext/opcache/ZendAccelerator.c persistent_script = cache_script_in_file_cache(persistent_script, &from_memory); persistent_script 1614 ext/opcache/ZendAccelerator.c return zend_accel_load_script(persistent_script, from_memory); persistent_script 1624 ext/opcache/ZendAccelerator.c zend_persistent_script *persistent_script = NULL; persistent_script 1658 ext/opcache/ZendAccelerator.c persistent_script = ZCG(cache_persistent_script); persistent_script 1671 ext/opcache/ZendAccelerator.c persistent_script = zend_accel_hash_str_find(&ZCSG(hash), key, key_length); persistent_script 1673 ext/opcache/ZendAccelerator.c if (!persistent_script) { persistent_script 1693 ext/opcache/ZendAccelerator.c persistent_script = (zend_persistent_script *)bucket->data; persistent_script 1695 ext/opcache/ZendAccelerator.c if (key && !persistent_script->corrupted) { persistent_script 1711 ext/opcache/ZendAccelerator.c if (persistent_script && persistent_script->corrupted) { persistent_script 1712 ext/opcache/ZendAccelerator.c persistent_script = NULL; persistent_script 1734 ext/opcache/ZendAccelerator.c if (persistent_script && ZCG(accel_directives).validate_timestamps) { persistent_script 1735 ext/opcache/ZendAccelerator.c if (validate_timestamp_and_record(persistent_script, file_handle) == FAILURE) { persistent_script 1737 ext/opcache/ZendAccelerator.c if (!persistent_script->corrupted) { persistent_script 1738 ext/opcache/ZendAccelerator.c persistent_script->corrupted = 1; persistent_script 1739 ext/opcache/ZendAccelerator.c persistent_script->timestamp = 0; persistent_script 1740 ext/opcache/ZendAccelerator.c ZSMMG(wasted_shared_memory) += persistent_script->dynamic_members.memory_consumption; persistent_script 1748 ext/opcache/ZendAccelerator.c persistent_script = NULL; persistent_script 1753 ext/opcache/ZendAccelerator.c if (persistent_script && ZCG(accel_directives).consistency_checks persistent_script 1754 ext/opcache/ZendAccelerator.c && persistent_script->dynamic_members.hits % ZCG(accel_directives).consistency_checks == 0) { persistent_script 1756 ext/opcache/ZendAccelerator.c unsigned int checksum = zend_accel_script_checksum(persistent_script); persistent_script 1757 ext/opcache/ZendAccelerator.c if (checksum != persistent_script->dynamic_members.checksum ) { persistent_script 1760 ext/opcache/ZendAccelerator.c persistent_script->full_path, persistent_script->dynamic_members.checksum, checksum); persistent_script 1762 ext/opcache/ZendAccelerator.c if (!persistent_script->corrupted) { persistent_script 1763 ext/opcache/ZendAccelerator.c persistent_script->corrupted = 1; persistent_script 1764 ext/opcache/ZendAccelerator.c persistent_script->timestamp = 0; persistent_script 1765 ext/opcache/ZendAccelerator.c ZSMMG(wasted_shared_memory) += persistent_script->dynamic_members.memory_consumption; persistent_script 1773 ext/opcache/ZendAccelerator.c persistent_script = NULL; persistent_script 1779 ext/opcache/ZendAccelerator.c if (!persistent_script && ZCG(accel_directives).file_cache) { persistent_script 1780 ext/opcache/ZendAccelerator.c persistent_script = zend_file_cache_script_load(file_handle); persistent_script 1785 ext/opcache/ZendAccelerator.c if (!persistent_script) { persistent_script 1802 ext/opcache/ZendAccelerator.c persistent_script = opcache_compile_file(file_handle, type, key, key ? key_length : 0, &op_array); persistent_script 1803 ext/opcache/ZendAccelerator.c if (persistent_script) { persistent_script 1804 ext/opcache/ZendAccelerator.c persistent_script = cache_script_in_shared_memory(persistent_script, key, key ? key_length : 0, &from_shared_memory); persistent_script 1810 ext/opcache/ZendAccelerator.c if (!persistent_script) { persistent_script 1826 ext/opcache/ZendAccelerator.c persistent_script->dynamic_members.hits++; /* see above */ persistent_script 1833 ext/opcache/ZendAccelerator.c InterlockedIncrement64(&persistent_script->dynamic_members.hits); persistent_script 1837 ext/opcache/ZendAccelerator.c if (persistent_script->full_path) { persistent_script 1844 ext/opcache/ZendAccelerator.c if (zend_hash_add_empty_element(&EG(included_files), persistent_script->full_path) != NULL) { persistent_script 1846 ext/opcache/ZendAccelerator.c if (persistent_script->is_phar) { persistent_script 1848 ext/opcache/ZendAccelerator.c char *fname = emalloc(sizeof("phar://") + ZSTR_LEN(persistent_script->full_path)); persistent_script 1851 ext/opcache/ZendAccelerator.c memcpy(fname + sizeof("phar://") - 1, ZSTR_VAL(persistent_script->full_path), ZSTR_LEN(persistent_script->full_path) + 1); persistent_script 1862 ext/opcache/ZendAccelerator.c persistent_script->dynamic_members.last_used = ZCG(request_time); persistent_script 1867 ext/opcache/ZendAccelerator.c if (persistent_script->ping_auto_globals_mask) { persistent_script 1868 ext/opcache/ZendAccelerator.c zend_accel_set_auto_globals(persistent_script->ping_auto_globals_mask); persistent_script 1871 ext/opcache/ZendAccelerator.c return zend_accel_load_script(persistent_script, from_shared_memory); persistent_script 1928 ext/opcache/ZendAccelerator.c zend_persistent_script *persistent_script = (zend_persistent_script *)bucket->data; persistent_script 1929 ext/opcache/ZendAccelerator.c if (!persistent_script->corrupted) { persistent_script 1931 ext/opcache/ZendAccelerator.c ZCG(cache_persistent_script) = persistent_script; persistent_script 1932 ext/opcache/ZendAccelerator.c return zend_string_copy(persistent_script->full_path); persistent_script 1949 ext/opcache/ZendAccelerator.c zend_persistent_script *persistent_script = (zend_persistent_script *)bucket->data; persistent_script 1950 ext/opcache/ZendAccelerator.c if (!persistent_script->corrupted) { persistent_script 1962 ext/opcache/ZendAccelerator.c ZCG(cache_persistent_script) = persistent_script; persistent_script 325 ext/opcache/ZendAccelerator.h int validate_timestamp_and_record(zend_persistent_script *persistent_script, zend_file_handle *file_handle); persistent_script 327 ext/opcache/ZendAccelerator.h int zend_accel_script_optimize(zend_persistent_script *persistent_script); persistent_script 326 ext/opcache/zend_accelerator_module.c zend_persistent_script *persistent_script = zend_accel_hash_str_find(&ZCSG(hash), key, key_length); persistent_script 327 ext/opcache/zend_accelerator_module.c if (persistent_script && !persistent_script->corrupted) { persistent_script 334 ext/opcache/zend_accelerator_module.c return validate_timestamp_and_record(persistent_script, &handle) == SUCCESS; persistent_script 72 ext/opcache/zend_accelerator_util_funcs.c zend_persistent_script *persistent_script = (zend_persistent_script *) emalloc(sizeof(zend_persistent_script)); persistent_script 73 ext/opcache/zend_accelerator_util_funcs.c memset(persistent_script, 0, sizeof(zend_persistent_script)); persistent_script 75 ext/opcache/zend_accelerator_util_funcs.c zend_hash_init(&persistent_script->function_table, 128, NULL, ZEND_FUNCTION_DTOR, 0); persistent_script 80 ext/opcache/zend_accelerator_util_funcs.c zend_hash_init(&persistent_script->class_table, 16, NULL, ZEND_CLASS_DTOR, 0); persistent_script 82 ext/opcache/zend_accelerator_util_funcs.c return persistent_script; persistent_script 85 ext/opcache/zend_accelerator_util_funcs.c void free_persistent_script(zend_persistent_script *persistent_script, int destroy_elements) persistent_script 88 ext/opcache/zend_accelerator_util_funcs.c persistent_script->function_table.pDestructor = zend_accel_destroy_zend_function; persistent_script 89 ext/opcache/zend_accelerator_util_funcs.c persistent_script->class_table.pDestructor = zend_accel_destroy_zend_class; persistent_script 91 ext/opcache/zend_accelerator_util_funcs.c persistent_script->function_table.pDestructor = NULL; persistent_script 92 ext/opcache/zend_accelerator_util_funcs.c persistent_script->class_table.pDestructor = NULL; persistent_script 95 ext/opcache/zend_accelerator_util_funcs.c zend_hash_destroy(&persistent_script->function_table); persistent_script 96 ext/opcache/zend_accelerator_util_funcs.c zend_hash_destroy(&persistent_script->class_table); persistent_script 98 ext/opcache/zend_accelerator_util_funcs.c if (persistent_script->full_path) { persistent_script 99 ext/opcache/zend_accelerator_util_funcs.c zend_string_release(persistent_script->full_path); persistent_script 102 ext/opcache/zend_accelerator_util_funcs.c efree(persistent_script); persistent_script 677 ext/opcache/zend_accelerator_util_funcs.c zend_op_array* zend_accel_load_script(zend_persistent_script *persistent_script, int from_shared_memory) persistent_script 682 ext/opcache/zend_accelerator_util_funcs.c *op_array = persistent_script->main_op_array; persistent_script 687 ext/opcache/zend_accelerator_util_funcs.c ZCG(current_persistent_script) = persistent_script; persistent_script 689 ext/opcache/zend_accelerator_util_funcs.c if (EXPECTED(persistent_script->arena_size)) { persistent_script 692 ext/opcache/zend_accelerator_util_funcs.c ZCG(arena_mem) = zend_arena_alloc(&CG(arena), persistent_script->arena_size + 64); persistent_script 694 ext/opcache/zend_accelerator_util_funcs.c fast_memcpy(ZCG(arena_mem), persistent_script->arena_mem, persistent_script->arena_size); persistent_script 696 ext/opcache/zend_accelerator_util_funcs.c ZCG(arena_mem) = zend_arena_alloc(&CG(arena), persistent_script->arena_size); persistent_script 697 ext/opcache/zend_accelerator_util_funcs.c memcpy(ZCG(arena_mem), persistent_script->arena_mem, persistent_script->arena_size); persistent_script 702 ext/opcache/zend_accelerator_util_funcs.c if (zend_hash_num_elements(&persistent_script->class_table) > 0) { persistent_script 703 ext/opcache/zend_accelerator_util_funcs.c zend_accel_class_hash_copy(CG(class_table), &persistent_script->class_table, (unique_copy_ctor_func_t) zend_class_copy_ctor); persistent_script 707 ext/opcache/zend_accelerator_util_funcs.c if (zend_hash_num_elements(&persistent_script->function_table) > 0) { persistent_script 708 ext/opcache/zend_accelerator_util_funcs.c zend_accel_function_hash_copy_from_shm(CG(function_table), &persistent_script->function_table); persistent_script 712 ext/opcache/zend_accelerator_util_funcs.c if (persistent_script->compiler_halt_offset != 0 && persistent_script 713 ext/opcache/zend_accelerator_util_funcs.c persistent_script->full_path) { persistent_script 717 ext/opcache/zend_accelerator_util_funcs.c name = zend_mangle_property_name(haltoff, sizeof(haltoff) - 1, ZSTR_VAL(persistent_script->full_path), ZSTR_LEN(persistent_script->full_path), 0); persistent_script 719 ext/opcache/zend_accelerator_util_funcs.c zend_register_long_constant(ZSTR_VAL(name), ZSTR_LEN(name), persistent_script->compiler_halt_offset, CONST_CS, 0); persistent_script 727 ext/opcache/zend_accelerator_util_funcs.c if (zend_hash_num_elements(&persistent_script->function_table) > 0) { persistent_script 728 ext/opcache/zend_accelerator_util_funcs.c zend_accel_function_hash_copy(CG(function_table), &persistent_script->function_table); persistent_script 730 ext/opcache/zend_accelerator_util_funcs.c if (zend_hash_num_elements(&persistent_script->class_table) > 0) { persistent_script 731 ext/opcache/zend_accelerator_util_funcs.c zend_accel_class_hash_copy(CG(class_table), &persistent_script->class_table, NULL); persistent_script 737 ext/opcache/zend_accelerator_util_funcs.c CG(compiled_filename) = persistent_script->full_path; persistent_script 743 ext/opcache/zend_accelerator_util_funcs.c free_persistent_script(persistent_script, 0); /* free only hashes */ persistent_script 826 ext/opcache/zend_accelerator_util_funcs.c unsigned int zend_accel_script_checksum(zend_persistent_script *persistent_script) persistent_script 828 ext/opcache/zend_accelerator_util_funcs.c signed char *mem = (signed char*)persistent_script->mem; persistent_script 829 ext/opcache/zend_accelerator_util_funcs.c size_t size = persistent_script->size; persistent_script 830 ext/opcache/zend_accelerator_util_funcs.c size_t persistent_script_check_block_size = ((char *)&(persistent_script->dynamic_members)) - (char *)persistent_script; persistent_script 833 ext/opcache/zend_accelerator_util_funcs.c if (mem < (signed char*)persistent_script) { persistent_script 834 ext/opcache/zend_accelerator_util_funcs.c checksum = zend_adler32(checksum, mem, (signed char*)persistent_script - mem); persistent_script 835 ext/opcache/zend_accelerator_util_funcs.c size -= (signed char*)persistent_script - mem; persistent_script 836 ext/opcache/zend_accelerator_util_funcs.c mem += (signed char*)persistent_script - mem; persistent_script 840 ext/opcache/zend_accelerator_util_funcs.c mem += sizeof(*persistent_script); persistent_script 841 ext/opcache/zend_accelerator_util_funcs.c size -= sizeof(*persistent_script); persistent_script 31 ext/opcache/zend_accelerator_util_funcs.h void free_persistent_script(zend_persistent_script *persistent_script, int destroy_elements); persistent_script 36 ext/opcache/zend_accelerator_util_funcs.h zend_op_array* zend_accel_load_script(zend_persistent_script *persistent_script, int from_shared_memory); persistent_script 42 ext/opcache/zend_accelerator_util_funcs.h unsigned int zend_accel_script_checksum(zend_persistent_script *persistent_script);