Skip to content

Commit 255bb5d

Browse files
committed
ext/opcache/ZendAccelerator: cache file_handle->filename in local variable
1 parent 62af411 commit 255bb5d

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

ext/opcache/ZendAccelerator.c

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2014,11 +2014,13 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type)
20142014
zend_string *key = NULL;
20152015
bool from_shared_memory; /* if the script we've got is stored in SHM */
20162016

2017-
if (!file_handle->filename || !ZCG(accelerator_enabled)) {
2017+
zend_string *filename = file_handle->filename;
2018+
2019+
if (!filename || !ZCG(accelerator_enabled)) {
20182020
/* The Accelerator is disabled, act as if without the Accelerator */
20192021
ZCG(cache_opline) = NULL;
20202022
ZCG(cache_persistent_script) = NULL;
2021-
if (file_handle->filename
2023+
if (filename
20222024
&& ZCG(accel_directives).file_cache
20232025
&& ZCG(enabled) && accel_startup_ok) {
20242026
return file_cache_compile_file(file_handle, type);
@@ -2057,21 +2059,21 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type)
20572059
} else {
20582060
if (!ZCG(accel_directives).revalidate_path) {
20592061
/* try to find cached script by key */
2060-
key = accel_make_persistent_key(file_handle->filename);
2062+
key = accel_make_persistent_key(filename);
20612063
if (!key) {
20622064
ZCG(cache_opline) = NULL;
20632065
ZCG(cache_persistent_script) = NULL;
20642066
return accelerator_orig_compile_file(file_handle, type);
20652067
}
20662068
persistent_script = zend_accel_hash_find(&ZCSG(hash), key);
2067-
} else if (UNEXPECTED(is_stream_path(ZSTR_VAL(file_handle->filename)) && !is_cacheable_stream_path(ZSTR_VAL(file_handle->filename)))) {
2069+
} else if (UNEXPECTED(is_stream_path(ZSTR_VAL(filename)) && !is_cacheable_stream_path(ZSTR_VAL(filename)))) {
20682070
ZCG(cache_opline) = NULL;
20692071
ZCG(cache_persistent_script) = NULL;
20702072
return accelerator_orig_compile_file(file_handle, type);
20712073
}
20722074

2073-
if (!persistent_script && zend_zip_cache && file_handle->filename) {
2074-
persistent_script = zend_zip_cache_script_load(zend_zip_cache, file_handle->filename);
2075+
if (!persistent_script && zend_zip_cache && filename) {
2076+
persistent_script = zend_zip_cache_script_load(zend_zip_cache, filename);
20752077
}
20762078

20772079
if (!persistent_script) {
@@ -2083,9 +2085,9 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type)
20832085
&& accelerator_orig_zend_stream_open_function(file_handle) == FAILURE) {
20842086
if (!EG(exception)) {
20852087
if (type == ZEND_REQUIRE) {
2086-
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
2088+
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(filename));
20872089
} else {
2088-
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
2090+
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(filename));
20892091
}
20902092
}
20912093
return NULL;
@@ -2140,9 +2142,9 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type)
21402142
UNEXPECTED(check_persistent_script_access(persistent_script))) {
21412143
if (!EG(exception)) {
21422144
if (type == ZEND_REQUIRE) {
2143-
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
2145+
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(filename));
21442146
} else {
2145-
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
2147+
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(filename));
21462148
}
21472149
}
21482150
return NULL;

0 commit comments

Comments
 (0)