]> granicus.if.org Git - php/commitdiff
[ci skip] Fix UPGRADING.INTERNALS, seems it was not reset after 7.2
authorAnatol Belski <ab@php.net>
Mon, 6 Nov 2017 13:12:02 +0000 (14:12 +0100)
committerAnatol Belski <ab@php.net>
Mon, 6 Nov 2017 13:12:02 +0000 (14:12 +0100)
branch off

UPGRADING.INTERNALS

index 59ac0bbadc6d1ac223af1a9361ef67fb089a4d01..c76780fd56438502b901a12aae40132e551ab6c9 100644 (file)
@@ -1,22 +1,14 @@
-PHP 7.2 INTERNALS UPGRADE NOTES
+PHP 7.3 INTERNALS UPGRADE NOTES
 
 1. Internal API changes
-  a. Path related functions
-  b. php_win32_get_random_bytes()
-  c. nice() Windows implementation
-  d. ZEND_ACC_CLONE removed
-  e. IS_TYPE_IMMUTABLE removed
-  f. zend_arg_info.class_name removed
-  g. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX changed
-  h. valid_symbol_table removed
-  i. array_init() and array_init_size()
-  j. Run-time constant operand addressing
-  k. Array/Object recursion protection
-  l. HASH_FLAG_PERSISTENT
-  m. AST and IS_CONSTANT
-  n. GC_REFCOUNT()
-  o. zend_get_parameters()
-  p. zend_register_persistent_resource()
+  a. array_init() and array_init_size()
+  b. Run-time constant operand addressing
+  c. Array/Object recursion protection
+  d. HASH_FLAG_PERSISTENT
+  e. AST and IS_CONSTANT
+  f. GC_REFCOUNT()
+  g. zend_get_parameters()
+  h. zend_register_persistent_resource()
 
 2. Build system changes
   a. Unix build system changes
@@ -29,37 +21,10 @@ PHP 7.2 INTERNALS UPGRADE NOTES
 1. Internal API changes
 ========================
 
-  a. Path related functions
-    - CWD_API void realpath_cache_del(const char *path, size_t path_len);
-    - CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, size_t path_len, time_t t);
-    - PHPAPI void php_clear_stat_cache(zend_bool clear_realpath_cache, const char *filename, size_t filename_len);
-    - PHPAPI void php_stat(const char *filename, size_t filename_length, int type, zval *return_value);
-
-  b. php_win32_get_random_bytes()
-    The internal randomness source on Windows switched to use CNG API.
-
-  c. nice() now have a Windows alternative that is implemented in win32/nice.c, using
-          SetPriorityClass(). See the implementation for more in-depth details. This also 
-          defines HAVE_NICE.
-
-  d. ZEND_ACC_CLONE is removed, but was not used in previous versions
-
-  e. IS_TYPE_IMMUTABLE is removed, IS_TYPE_COPYABLE can be used instead
-     Z_IMMUTABLE() check function is still available
-
-  f. zend_arg_info class_name member is removed, use ZEND_TYPE_NAME instead
-
-  g. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX classname option is removed
-     use ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX for simple type
-     use ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX for object
-
-  h. valid_symbol_table is removed from executor_globals.
-     Use EG(active) instead of removed EG(valid_symbol_table)
-
-  i. array_init() and array_init_size() are not functions anymore.
+  a. array_init() and array_init_size() are not functions anymore.
      They don't return any values.
 
-  j. In 64-bit builds PHP-7.2 and below used relative run-time constant operand
+  b. In 64-bit builds PHP-7.2 and below used relative run-time constant operand
      addressing. E.g. opline->op1.constant kept an offset from start of literals
      table - op_array->literals. To speedup access op_array->literals was cached
      in execute_data->literals. So the resulting address calculated as
@@ -76,7 +41,7 @@ PHP 7.2 INTERNALS UPGRADE NOTES
      RT_CONSTANT_EX, EX_CONSTANT should be substituted by RT_CONSTANT than now
      use "opline" (instead of "op_array") as first argument.
 
-  k. Protection from recursion during processing circular data structures was
+  c. Protection from recursion during processing circular data structures was
      refactored. HashTable.nApplyCount and IS_OBJ_APPLY_COUNT are replaced by
      single flag GC_PROTECTED. Corresponding macros Z_OBJ_APPLY_COUNT,
      Z_OBJ_INC_APPLY_COUNT, Z_OBJ_DEC_APPLY_COUNT, ZEND_HASH_GET_APPLY_COUNT,
@@ -89,10 +54,10 @@ PHP 7.2 INTERNALS UPGRADE NOTES
      Corresponding checks should be replaced by Z_REFCOUNTED() or
      !(GC_GLAGS(p) & GC_IMMUTABLE).
 
-  l. HASH_FLAG_PERSISTENT renamed into IS_ARRAY_PERSISTENT and moved into
+  d. HASH_FLAG_PERSISTENT renamed into IS_ARRAY_PERSISTENT and moved into
      GC_FLAGS (to be consistent with IS_STR_PERSISTENT).
 
-  m. zend_ast_ref structure is changed to use only one allocation.
+  e. zend_ast_ref structure is changed to use only one allocation.
      zend_ast_copy() now returns zend_ast_ref (instead of zend_asr).
      zend_ast_destroy_and_free() is removed. ZVAL_NEW_AST() is replaced
      by ZVAL_AST().
@@ -102,7 +67,7 @@ PHP 7.2 INTERNALS UPGRADE NOTES
      attributes are used instead of constant flags. IS_TYPE_CONSTANT flag is
      removed, but Z_CONSTANT() macro is kept for compatibility.
 
-  n. GC_REFCOUNT() is turned into inline function and can't be modified direcly.
+  f. GC_REFCOUNT() is turned into inline function and can't be modified direcly.
      All reference-counting operations should be done through corresponding
      macros GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF().
 
@@ -110,10 +75,10 @@ PHP 7.2 INTERNALS UPGRADE NOTES
      GC_REFCOUNT(p)-- into GC_DELREF(p),
      GC_REFCOUNT(p) = 1 into GC_SET_REFCOUNT(p, 1).
 
-  o. The zend_get_parameters() and zend_get_parameters_ex() functions were
+  g. The zend_get_parameters() and zend_get_parameters_ex() functions were
      removed. Instead zend_parse_parameters() should be used.
 
-  p. New functions zend_register_persistent_resource() or
+  h. New functions zend_register_persistent_resource() or
      zend_register_persistent_resource_ex() should beused to register
      persistent resources, instead of manual insertion into EG(persistent_list).
 
@@ -125,28 +90,7 @@ PHP 7.2 INTERNALS UPGRADE NOTES
 
   b. Windows build system changes
 
-    .  Minimum supported Windows versions are Windows 7/Server 2008 R2.
-    . --enable-one-shot configure option is removed, --with-mp is usable.
-    . The new binary tools SDK is required for Windows builds, the
-      documentation is available under https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2
-    . Visual Studio 2017 is utilized for the Windows builds
-    . Clang build with ASAN is supported with clang 5+
-
 ========================
 3. Module changes
 ========================
 
-- Pcre:
-  . php_pcre_replace and php_pcre_replace_impl expect a zend_string instead of a zval and
-    is_callable_replace options is removed:
-    - PHPAPI zend_string *php_pcre_replace(zend_string *regex, zend_string *subject_str, char *subject, int subject_len, zend_string *replace_str, int limit, int *replace_count);
-    - PHPAPI zend_string *php_pcre_replace_impl(pcre_cache_entry *pce, zend_string *subject_str, char *subject, int subject_len, zend_string *replace_str, int limit, int *replace_count);
-
-- Session:
-  . php_session_start()/session_reset_id() return value is changed from void to int.
-    It returns SUCCESS/FAILURE.
-  . Session module manages session status correctly.
-
-- OpenSSL:
-  . Windows builds ship with OpenSSL 1.1 by default, lower versions are still supported with custom deps.
-