k. zend_fcall_info_cache.initialized
l. php_hrtime_current()
m. zend_cpu_supports()
+ n. IS_TYPE_COPYABLE
2. Build system changes
a. Unix build system changes
m. zend_cpu_supports() determines if a feature is supported by current cpu.
+ n. IS_STRING zvals don't set IS_TYPE_COPYALE anymore. This prevents string
+ duplication by zval_copy_ctor(), ZVAL_DUP() and SEPARATE_ZVAL*() macros.
+ Interned strings didn't set IS_TYPE_COPYALE, so they aren't affected at
+ all.
+
========================
2. Build system changes
========================
/* extended types */
#define IS_INTERNED_STRING_EX IS_STRING
-#define IS_STRING_EX (IS_STRING | ((IS_TYPE_REFCOUNTED | IS_TYPE_COPYABLE) << Z_TYPE_FLAGS_SHIFT))
+#define IS_STRING_EX (IS_STRING | ((IS_TYPE_REFCOUNTED ) << Z_TYPE_FLAGS_SHIFT))
#define IS_ARRAY_EX (IS_ARRAY | ((IS_TYPE_REFCOUNTED | IS_TYPE_COPYABLE) << Z_TYPE_FLAGS_SHIFT))
#define IS_OBJECT_EX (IS_OBJECT | ((IS_TYPE_REFCOUNTED ) << Z_TYPE_FLAGS_SHIFT))
#define IS_RESOURCE_EX (IS_RESOURCE | ((IS_TYPE_REFCOUNTED ) << Z_TYPE_FLAGS_SHIFT))