]> granicus.if.org Git - php/commitdiff
Update UPGRADING.INTERNALS
authorDmitry Stogov <dmitry@zend.com>
Mon, 30 Oct 2017 09:47:22 +0000 (12:47 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 30 Oct 2017 09:47:22 +0000 (12:47 +0300)
UPGRADING.INTERNALS

index ff56dfa6555f4ccd3b66e2c7d02a3d4949b2248a..65ea83b6037efc5ca6dbd4d3a648d876b59f53a3 100644 (file)
@@ -14,6 +14,7 @@ PHP 7.2 INTERNALS UPGRADE NOTES
   k. Array/Object recursion protection
   l. HASH_FLAG_PERSISTENT
   m. AST and IS_CONSTANT
+  n. GC_REFCOUNT()
 
 2. Build system changes
   a. Unix build system changes
@@ -99,6 +100,14 @@ 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.
 
+  m. 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().
+
+     GC_REFCOUNT(p)++ should be changed into GC_ADDREF(p),
+     GC_REFCOUNT(p)-- into GC_DELREF(p),
+     GC_REFCOUNT(p) = 1 into GC_SET_REFCOUNT(p, 1).
+
 ========================
 2. Build system changes
 ========================