]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.2'
authorDmitry Stogov <dmitry@zend.com>
Mon, 5 Mar 2018 13:21:20 +0000 (16:21 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 5 Mar 2018 13:21:20 +0000 (16:21 +0300)
* PHP-7.2:
  Fixed "opcache.file_cache_fallback" mode.

1  2 
ext/opcache/ZendAccelerator.c
ext/opcache/ZendAccelerator.h
ext/opcache/zend_accelerator_module.c
ext/opcache/zend_file_cache.c
ext/opcache/zend_persist.c

index 12ce26b914ac02e25614dd2a28b82aaa8b93f563,e66b39ca63b42eda9aad7493c72033b379e73d80..c822cefd3e2606645914a31f660cae35cfffa276
@@@ -436,12 -429,13 +439,12 @@@ static zend_always_inline zend_string *
  
  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
@@@ -2134,9 -2042,12 +2137,12 @@@ static int persistent_stream_open_funct
  }
  
  /* 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)) {
  
@@@ -2895,9 -2782,13 +2903,9 @@@ void accel_shutdown(void
        }
  
  #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();
Simple merge
Simple merge
Simple merge
index d433b75d0b5edea0da196887a0cb2896505e5250,ef474b133a476ca3dc1e01ee880d3b5b70be6c83..e063f1f4aa35a5555eec2012382f964274b76d1a
  
  #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