summaryrefslogtreecommitdiff
path: root/ext/opcache/jit/zend_jit_helpers.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2020-06-23 13:46:56 +0300
committerDmitry Stogov <dmitry@zend.com>2020-06-23 13:46:56 +0300
commitbdac60d2c0fc6d534e5679f165dd1b4273864e59 (patch)
tree203e9969da5e5b8310facbc4762b9ea4a8f9a456 /ext/opcache/jit/zend_jit_helpers.c
parent5794fbf5f867e426ebeff7950ef68a0219eba364 (diff)
downloadphp-git-bdac60d2c0fc6d534e5679f165dd1b4273864e59.tar.gz
Improve JIT for SEPARATE_ARRAY
Diffstat (limited to 'ext/opcache/jit/zend_jit_helpers.c')
-rw-r--r--ext/opcache/jit/zend_jit_helpers.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/opcache/jit/zend_jit_helpers.c b/ext/opcache/jit/zend_jit_helpers.c
index adbcc9004d..a394c4af0f 100644
--- a/ext/opcache/jit/zend_jit_helpers.c
+++ b/ext/opcache/jit/zend_jit_helpers.c
@@ -1755,8 +1755,10 @@ static void ZEND_FASTCALL zend_jit_array_free(HashTable *ht)
static HashTable *ZEND_FASTCALL zend_jit_zval_array_dup(zval *arr)
{
- HashTable *ht = Z_ARRVAL_P(arr);
+ HashTable *ht;
+ Z_TRY_DELREF_P(arr);
+ ht = Z_ARRVAL_P(arr);
ht = zend_array_dup(ht);
ZVAL_ARR(arr, ht);
return ht;