summaryrefslogtreecommitdiff
path: root/UPGRADING.INTERNALS
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2017-10-30 12:47:22 +0300
committerDmitry Stogov <dmitry@zend.com>2017-10-30 12:47:22 +0300
commit5d88ea5c75810111d8476a2d5885be92f607a316 (patch)
tree4768bc956d5a50fc598e934b084c02801c83d80d /UPGRADING.INTERNALS
parent3b7e18af789278506131e7f13f54e4b900d939e1 (diff)
downloadphp-git-5d88ea5c75810111d8476a2d5885be92f607a316.tar.gz
Update UPGRADING.INTERNALS
Diffstat (limited to 'UPGRADING.INTERNALS')
-rw-r--r--UPGRADING.INTERNALS9
1 files changed, 9 insertions, 0 deletions
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
========================