From 5d88ea5c75810111d8476a2d5885be92f607a316 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 30 Oct 2017 12:47:22 +0300 Subject: [PATCH] Update UPGRADING.INTERNALS --- UPGRADING.INTERNALS | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS index ff56dfa6555..65ea83b6037 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 ========================