From: Dmitry Stogov Date: Mon, 30 Oct 2017 09:47:22 +0000 (+0300) Subject: Update UPGRADING.INTERNALS X-Git-Tag: php-7.3.0alpha1~1157 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5d88ea5c75810111d8476a2d5885be92f607a316;p=php Update UPGRADING.INTERNALS --- diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS index ff56dfa655..65ea83b603 100644 --- a/UPGRADING.INTERNALS +++ b/UPGRADING.INTERNALS @@ -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 ========================