zend_string *accel_new_interned_string(zend_string *str)
{
- zend_ulong h;
- uint32_t nIndex;
- uint32_t idx;
- Bucket *p;
+ zend_ulong h;
+ uint32_t pos, *hash_slot;
+ zend_string *s;
#ifdef HAVE_OPCACHE_FILE_CACHE
- if (UNEXPECTED(ZCG(accel_directives).file_cache_only)) {
- if (file_cache_only) {
++ if (UNEXPECTED(file_cache_only)) {
return str;
}
#endif
}
/* zend_resolve_path() replacement for PHP 5.3 and above */
-static zend_string* persistent_zend_resolve_path(const char *filename, int filename_len)
+static zend_string* persistent_zend_resolve_path(const char *filename, size_t filename_len)
{
if (ZCG(enabled) && accel_startup_ok &&
+ #ifdef HAVE_OPCACHE_FILE_CACHE
+ !file_cache_only &&
+ #endif
(ZCG(counted) || ZCSG(accelerator_enabled)) &&
!ZCSG(restart_in_progress)) {
}
#ifdef HAVE_OPCACHE_FILE_CACHE
- file_cache_only = ZCG(accel_directives).file_cache_only;
+ _file_cache_only = file_cache_only;
#endif
- if (!_file_cache_only && ZCG(accel_directives).interned_strings_buffer) {
- accel_use_permanent_interned_strings();
- }
-
accel_reset_pcre_cache();
accel_free_ts_resources();
#ifdef HAVE_OPCACHE_FILE_CACHE
#define zend_set_str_gc_flags(str) do { \
- if (ZCG(accel_directives).file_cache_only) { \
+ if (file_cache_only) { \
- GC_FLAGS(str) = IS_STR_INTERNED; \
+ GC_TYPE_INFO(str) = IS_STRING | (IS_STR_INTERNED << GC_FLAGS_SHIFT); \
} else { \
- GC_FLAGS(str) = IS_STR_INTERNED | IS_STR_PERMANENT; \
+ GC_TYPE_INFO(str) = IS_STRING | ((IS_STR_INTERNED | IS_STR_PERMANENT) << GC_FLAGS_SHIFT); \
} \
} while (0)
#else