summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--REFLECTION-PHP756
-rw-r--r--php-pecl-uopz-php7.spec325
-rw-r--r--uopz-upstream.patch226
3 files changed, 0 insertions, 607 deletions
diff --git a/REFLECTION-PHP7 b/REFLECTION-PHP7
deleted file mode 100644
index 69196ce..0000000
--- a/REFLECTION-PHP7
+++ /dev/null
@@ -1,56 +0,0 @@
-Extension [ <persistent> extension #15 uopz version 5.0.1 ] {
-
- - Constants [7] {
- Constant [ integer ZEND_ACC_PUBLIC ] { 256 }
- Constant [ integer ZEND_ACC_PRIVATE ] { 1024 }
- Constant [ integer ZEND_ACC_PROTECTED ] { 512 }
- Constant [ integer ZEND_ACC_PPP_MASK ] { 1792 }
- Constant [ integer ZEND_ACC_STATIC ] { 1 }
- Constant [ integer ZEND_ACC_FINAL ] { 4 }
- Constant [ integer ZEND_ACC_ABSTRACT ] { 2 }
- }
-
- - Functions {
- Function [ <internal:uopz> function uopz_set_return ] {
- }
- Function [ <internal:uopz> function uopz_get_return ] {
- }
- Function [ <internal:uopz> function uopz_unset_return ] {
- }
- Function [ <internal:uopz> function uopz_set_mock ] {
- }
- Function [ <internal:uopz> function uopz_get_mock ] {
- }
- Function [ <internal:uopz> function uopz_unset_mock ] {
- }
- Function [ <internal:uopz> function uopz_get_static ] {
- }
- Function [ <internal:uopz> function uopz_set_static ] {
- }
- Function [ <internal:uopz> function uopz_set_hook ] {
- }
- Function [ <internal:uopz> function uopz_get_hook ] {
- }
- Function [ <internal:uopz> function uopz_unset_hook ] {
- }
- Function [ <internal:uopz> function uopz_add_function ] {
- }
- Function [ <internal:uopz> function uopz_del_function ] {
- }
- Function [ <internal:uopz> function uopz_extend ] {
- }
- Function [ <internal:uopz> function uopz_implement ] {
- }
- Function [ <internal:uopz> function uopz_flags ] {
- }
- Function [ <internal:uopz> function uopz_redefine ] {
- }
- Function [ <internal:uopz> function uopz_undefine ] {
- }
- Function [ <internal:uopz> function uopz_set_property ] {
- }
- Function [ <internal:uopz> function uopz_get_property ] {
- }
- }
-}
-
diff --git a/php-pecl-uopz-php7.spec b/php-pecl-uopz-php7.spec
deleted file mode 100644
index ae1e69f..0000000
--- a/php-pecl-uopz-php7.spec
+++ /dev/null
@@ -1,325 +0,0 @@
-# remirepo spec file for php-pecl-uopz
-#
-# Copyright (c) 2014-2017 Remi Collet
-# License: CC-BY-SA
-# http://creativecommons.org/licenses/by-sa/4.0/
-#
-# Please, preserve the changelog entries
-#
-%if 0%{?scl:1}
-%global sub_prefix %{scl_prefix}
-%scl_package php-pecl-uopz
-%endif
-
-%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}}
-%global pecl_name uopz
-%global ini_name 05-%{pecl_name}.ini
-
-# see https://github.com/krakjoe/uopz/releases
-#global gh_commit c335700be4dc4350605bc4fb1efd8e96ba51b733
-#global gh_short %%(c=ยต%{gh_commit}; echo ${c:0:7})
-#global gh_owner krakjoe
-#global gh_project uopz
-
-Summary: User Operations for Zend
-Name: %{?sub_prefix}php-pecl-%{pecl_name}
-Version: 5.0.1
-Release: 4%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}
-License: PHP
-Group: Development/Languages
-URL: http://pecl.php.net/package/%{pecl_name}
-%if 0%{?gh_commit:1}
-Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz
-%else
-Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz
-%endif
-
-Patch0: %{pecl_name}-upstream.patch
-
-BuildRequires: %{?scl_prefix}php-devel > 7
-BuildRequires: %{?scl_prefix}php-pear
-
-Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
-Requires: %{?scl_prefix}php(api) = %{php_core_api}
-%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}}
-
-Provides: %{?scl_prefix}php-%{pecl_name} = %{version}
-Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}
-Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}
-Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}
-%if "%{?scl_prefix}" != "%{?sub_prefix}"
-Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release}
-Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release}
-%endif
-
-%if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel}
-# Other third party repo stuff
-Obsoletes: php53-pecl-%{pecl_name} <= %{version}
-Obsoletes: php53u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php54-pecl-%{pecl_name} <= %{version}
-Obsoletes: php54w-pecl-%{pecl_name} <= %{version}
-Obsoletes: php55u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php55w-pecl-%{pecl_name} <= %{version}
-Obsoletes: php56u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php56w-pecl-%{pecl_name} <= %{version}
-Obsoletes: php70u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php70w-pecl-%{pecl_name} <= %{version}
-%if "%{php_version}" > "7.1"
-Obsoletes: php71u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php71w-pecl-%{pecl_name} <= %{version}
-%endif
-%endif
-
-%if 0%{?fedora} < 20 && 0%{?rhel} < 7
-# Filter shared private
-%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$}
-%{?filter_setup}
-%endif
-
-
-%description
-User Operations for Zend: doing things you probably shouldn't since 2014.
-
-The uopz extension exposes Zend engine functionality normally used at
-compilation and execution time in order to allow modification of the
-internal structures that represent PHP code.
-
-It supports the following activities:
-- Overloading some Zend opcodes including exit/new and composure opcodes
-- Renaming functions and methods
-- Aliasing functions and methods
-- Deletion of functions and methods
-- Redefinition of constants
-- Deletion of constants
-- Runtime composition and modification of classes
-
-Documentation: http://php.net/uopz
-
-Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}.
-
-
-%prep
-%setup -q -c
-%if 0%{?gh_commit:1}
-mv %{gh_project}-%{gh_commit} NTS
-# Temporary, until released on PECL
-%{__php} -r '
- $pkg = simplexml_load_file("NTS/package.xml");
- $pkg->date = "2016-04-12";
- $pkg->version->release = "%{version}";
- $pkg->version->release = "%{version}";
- $pkg->stability->release = "beta";
- $pkg->stability->api = "beta";
- $pkg->asXML("package.xml");
-'
-%else
-mv %{pecl_name}-%{version} NTS
-%endif
-
-# Don't install/register tests
-sed -e 's/role="test"/role="src"/' \
- %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \
- -i package.xml
-
-cd NTS
-%patch0 -p1 -b .upstream
-
-# Sanity check, really often broken
-extver=$(sed -n '/#define PHP_UOPZ_VERSION/{s/.* "//;s/".*$//;p}' uopz.h)
-if test "x${extver}" != "x%{version}"; then
- : Error: Upstream extension version is ${extver}, expecting %{version}.
- exit 1
-fi
-cd ..
-
-# Create configuration files
-cat << EOF | tee %{ini_name}
-; Enable '%{summary}' extension module
-extension=%{pecl_name}.so
-EOF
-
-%if %{with_zts}
-# Duplicate source tree for NTS / ZTS build
-cp -pr NTS ZTS
-%endif
-
-
-%build
-cd NTS
-%{_bindir}/phpize
-%configure \
- --with-php-config=%{_bindir}/php-config
-make %{?_smp_mflags}
-
-%if %{with_zts}
-cd ../ZTS
-%{_bindir}/zts-phpize
-%configure \
- --with-php-config=%{_bindir}/zts-php-config
-make %{?_smp_mflags}
-%endif
-
-
-%install
-make -C NTS install INSTALL_ROOT=%{buildroot}
-
-# install config file
-install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
-
-# Install XML package description
-install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
-
-%if %{with_zts}
-make -C ZTS install INSTALL_ROOT=%{buildroot}
-install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
-%endif
-
-# Documentation
-for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//')
-do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
-done
-
-
-%if 0%{?fedora} < 24
-# when pear installed alone, after us
-%triggerin -- %{?scl_prefix}php-pear
-if [ -x %{__pecl} ] ; then
- %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
-fi
-
-# posttrans as pear can be installed after us
-%posttrans
-if [ -x %{__pecl} ] ; then
- %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
-fi
-
-%postun
-if [ $1 -eq 0 -a -x %{__pecl} ] ; then
- %{pecl_uninstall} %{pecl_name} >/dev/null || :
-fi
-%endif
-
-
-%check
-cd NTS
-: Minimal load test for NTS extension
-%{__php} --no-php-ini \
- --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
- --modules | grep %{pecl_name}
-
-: Upstream test suite for NTS extension
-TEST_PHP_EXECUTABLE=%{__php} \
-TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \
-NO_INTERACTION=1 \
-REPORT_EXIT_STATUS=1 \
-%{__php} -n run-tests.php
-
-%if %{with_zts}
-cd ../ZTS
-: Minimal load test for ZTS extension
-%{__ztsphp} --no-php-ini \
- --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \
- --modules | grep %{pecl_name}
-
-: Upstream test suite for ZTS extension
-TEST_PHP_EXECUTABLE=%{_bindir}/zts-php \
-TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so" \
-NO_INTERACTION=1 \
-REPORT_EXIT_STATUS=1 \
-%{_bindir}/zts-php -n run-tests.php
-%endif
-
-
-%files
-%{?_licensedir:%license NTS/LICENSE}
-%doc %{pecl_docdir}/%{pecl_name}
-%{pecl_xmldir}/%{name}.xml
-
-%config(noreplace) %{php_inidir}/%{ini_name}
-%{php_extdir}/%{pecl_name}.so
-
-%if %{with_zts}
-%config(noreplace) %{php_ztsinidir}/%{ini_name}
-%{php_ztsextdir}/%{pecl_name}.so
-%endif
-
-
-%changelog
-* Thu Dec 1 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-4
-- rebuild with PHP 7.1.0 GA
-
-* Wed Sep 14 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-3
-- rebuild for PHP 7.1 new API version
-
-* Thu Jun 9 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-2
-- add upstream patch for PHP 7.1
-
-* Wed Apr 13 2016 Remi Collet <remi@fedoraproject.org> - 5.0.1-1
-- update to 5.0.1
-
-* Wed Apr 13 2016 Remi Collet <remi@fedoraproject.org> - 5.0.0-1
-- update to 5.0.0 for PHP 7
-- sources from github (not yet released on pecl)
-
-* Tue Mar 8 2016 Remi Collet <remi@fedoraproject.org> - 2.0.7-2
-- adapt for F24
-
-* Wed Mar 04 2015 Remi Collet <remi@fedoraproject.org> - 2.0.7-1
-- Update to 2.0.7
-- drop runtime dependency on pear, new scriptlets
-
-* Wed Dec 24 2014 Remi Collet <remi@fedoraproject.org> - 2.0.6-1.1
-- Fedora 21 SCL mass rebuild
-
-* Wed Oct 15 2014 Remi Collet <remi@fedoraproject.org> - 2.0.6-1
-- Update to 2.0.6
-- don't provide test suite
-
-* Tue Aug 26 2014 Remi Collet <rcollet@redhat.com> - 2.0.5-2
-- improve SCL build
-
-* Thu Jun 05 2014 Remi Collet <remi@fedoraproject.org> - 2.0.5-1
-- Update to 2.0.5 (stable)
-
-* Tue Apr 8 2014 Remi Collet <remi@fedoraproject.org> - 2.0.4-2
-- add numerical prefix to extension configuration files
-
-* Fri Apr 04 2014 Remi Collet <remi@fedoraproject.org> - 2.0.4-1
-- Update to 2.0.4 (stable)
-- improve uopz.ini (comments)
-
-* Thu Apr 03 2014 Remi Collet <remi@fedoraproject.org> - 2.0.3-1
-- Update to 2.0.3 (stable)
-
-* Wed Apr 02 2014 Remi Collet <remi@fedoraproject.org> - 2.0.2-1
-- Update to 2.0.2 (stable)
-
-* Tue Apr 01 2014 Remi Collet <remi@fedoraproject.org> - 2.0.1-1
-- Update to 2.0.1 (stable)
-
-* Mon Mar 31 2014 Remi Collet <remi@fedoraproject.org> - 2.0.0-1
-- Update to 2.0.0 (2014-03-31 06:00:49, stable)
-
-* Sun Mar 30 2014 Remi Collet <remi@fedoraproject.org> - 1.0.11-1
-- Update to 1.0.11 (2014-03-30 14:05:44, beta)
-
-* Fri Mar 28 2014 Remi Collet <remi@fedoraproject.org> - 1.0.5-1
-- Update to 1.0.5 (2014-03-28 00:48:31, beta)
-
-* Thu Mar 27 2014 Remi Collet <remi@fedoraproject.org> - 1.0.4-1
-- Update to 1.0.4 (2014-03-27 18:34:03, beta)
-
-* Thu Mar 27 2014 Remi Collet <remi@fedoraproject.org> - 1.0.4-0
-- pre-release test build
-
-* Tue Mar 25 2014 Remi Collet <remi@fedoraproject.org> - 1.0.3-1
-- Update to 1.0.3 (2014-03-24 19:37:04, beta)
-
-* Mon Mar 24 2014 Remi Collet <remi@fedoraproject.org> - 1.0.2-1
-- Update to 1.0.2 (2014-03-24 10:34:02, beta)
-
-* Mon Mar 24 2014 Remi Collet <remi@fedoraproject.org> - 1.0.1-1
-- Update to 1.0.1 (2014-03-23 19:03:27, beta)
-
-* Sun Mar 23 2014 Remi Collet <remi@fedoraproject.org> - 1.0.0-1
-- initial package, version 1.0.0 (12:55, beta)
diff --git a/uopz-upstream.patch b/uopz-upstream.patch
deleted file mode 100644
index 35a29a7..0000000
--- a/uopz-upstream.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-From b15f4d83a760013142c5275a2b29244a5ef62d90 Mon Sep 17 00:00:00 2001
-From: Joe Watkins <krakjoe@php.net>
-Date: Thu, 26 May 2016 12:10:15 +0100
-Subject: [PATCH] fixes for 7.1, add leave helper function
-
----
- src/class.c | 55 +++++++++++++++++++++++++++++++++----------------------
- src/handlers.c | 33 +++++++++++++++++++++++----------
- uopz.h | 2 +-
- 3 files changed, 57 insertions(+), 33 deletions(-)
-
-diff --git a/src/class.c b/src/class.c
-index 15100d9..db9fe6c 100644
---- a/src/class.c
-+++ b/src/class.c
-@@ -27,6 +27,14 @@
-
- ZEND_EXTERN_MODULE_GLOBALS(uopz);
-
-+#if PHP_VERSION_ID >= 70100
-+# define uopz_get_scope(e) ((e) ? zend_get_executed_scope() : EG(fake_scope))
-+# define uopz_set_scope(s) EG(fake_scope) = (s)
-+#else
-+# define uopz_get_scope(e) EG(scope)
-+# define uopz_set_scope(s) EG(scope) = (s)
-+#endif
-+
- void uopz_set_mock(zend_string *clazz, zval *mock) { /* {{{ */
- zend_string *key = zend_string_tolower(clazz);
-
-@@ -131,12 +139,12 @@ zend_bool uopz_implement(zend_class_entry *clazz, zend_class_entry *interface) {
- } /* }}} */
-
- void uopz_set_property(zval *object, zval *member, zval *value) { /* {{{ */
-- zend_class_entry *scope = EG(scope);
-+ zend_class_entry *scope = uopz_get_scope(1);
- zend_class_entry *ce = Z_OBJCE_P(object);
- zend_property_info *info;
-
- do {
-- EG(scope) = ce;
-+ uopz_set_scope(ce);
-
- info = zend_get_property_info(ce, Z_STR_P(member), 1);
-
-@@ -148,25 +156,25 @@ void uopz_set_property(zval *object, zval *member, zval *value) { /* {{{ */
- } while (ce);
-
- if (info && info != ZEND_WRONG_PROPERTY_INFO) {
-- EG(scope) = info->ce;
-+ uopz_set_scope(info->ce);
- } else {
-- EG(scope) = Z_OBJCE_P(object);
-+ uopz_set_scope(Z_OBJCE_P(object));
- }
-
- Z_OBJ_HT_P(object)
- ->write_property(object, member, value, NULL);
-
-- EG(scope) = scope;
-+ uopz_set_scope(scope);
- } /* }}} */
-
- void uopz_get_property(zval *object, zval *member, zval *value) { /* {{{ */
-- zend_class_entry *scope = EG(scope);
-+ zend_class_entry *scope = uopz_get_scope(1);
- zend_class_entry *ce = Z_OBJCE_P(object);
- zend_property_info *info;
- zval *prop, rv;
-
- do {
-- EG(scope) = ce;
-+ uopz_set_scope(ce);
-
- info = zend_get_property_info(ce, Z_STR_P(member), 1);
-
-@@ -178,14 +186,15 @@ void uopz_get_property(zval *object, zval *member, zval *value) { /* {{{ */
- } while (ce);
-
- if (info && info != ZEND_WRONG_PROPERTY_INFO) {
-- EG(scope) = info->ce;
-+ uopz_set_scope(info->ce);
- } else {
-- EG(scope) = Z_OBJCE_P(object);
-+ uopz_set_scope(Z_OBJCE_P(object));
- }
-
- prop = Z_OBJ_HT_P(object)
- ->read_property(object, member, BP_VAR_R, NULL, &rv);
-- EG(scope) = scope;
-+
-+ uopz_set_scope(scope);
-
- if (!prop) {
- return;
-@@ -195,13 +204,13 @@ void uopz_get_property(zval *object, zval *member, zval *value) { /* {{{ */
- } /* }}} */
-
- void uopz_set_static_property(zend_class_entry *ce, zend_string *property, zval *value) { /* {{{ */
-- zend_class_entry *scope = EG(scope);
-+ zend_class_entry *scope = uopz_get_scope(1);
- zend_class_entry *seek = ce;
- zend_property_info *info;
- zval *prop;
-
- do {
-- EG(scope) = seek;
-+ uopz_set_scope(seek);
-
- info = zend_get_property_info(seek, property, 1);
-
-@@ -213,13 +222,14 @@ void uopz_set_static_property(zend_class_entry *ce, zend_string *property, zval
- } while (seek);
-
- if (info && info != ZEND_WRONG_PROPERTY_INFO) {
-- EG(scope) = info->ce;
-+ uopz_set_scope(info->ce);
- } else {
-- EG(scope) = ce;
-+ uopz_set_scope(ce);
- }
-
-- prop = zend_std_get_static_property(EG(scope), property, 1);
-- EG(scope) = scope;
-+ prop = zend_std_get_static_property(uopz_get_scope(0), property, 1);
-+
-+ uopz_set_scope(scope);
-
- if (!prop) {
- return;
-@@ -230,13 +240,13 @@ void uopz_set_static_property(zend_class_entry *ce, zend_string *property, zval
- } /* }}} */
-
- void uopz_get_static_property(zend_class_entry *ce, zend_string *property, zval *value) { /* {{{ */
-- zend_class_entry *scope = EG(scope);
-+ zend_class_entry *scope = uopz_get_scope(1);
- zend_class_entry *seek = ce;
- zend_property_info *info;
- zval *prop;
-
- do {
-- EG(scope) = seek;
-+ uopz_set_scope(seek);
-
- info = zend_get_property_info(seek, property, 1);
-
-@@ -248,13 +258,14 @@ void uopz_get_static_property(zend_class_entry *ce, zend_string *property, zval
- } while (seek);
-
- if (info && info != ZEND_WRONG_PROPERTY_INFO) {
-- EG(scope) = info->ce;
-+ uopz_set_scope(info->ce);
- } else {
-- EG(scope) = ce;
-+ uopz_set_scope(ce);
- }
-
-- prop = zend_std_get_static_property(EG(scope), property, 1);
-- EG(scope) = scope;
-+ prop = zend_std_get_static_property(uopz_get_scope(0), property, 1);
-+
-+ uopz_set_scope(scope);
-
- if (!prop) {
- return;
-diff --git a/src/handlers.c b/src/handlers.c
-index 11b7f5f..98e9c37 100644
---- a/src/handlers.c
-+++ b/src/handlers.c
-@@ -344,6 +344,27 @@ static inline void uopz_run_hook(zend_function *function, zend_execute_data *exe
- }
- } /* }}} */
-
-+/* {{{ */
-+static inline int php_uopz_leave_helper(zend_execute_data *execute_data) {
-+ zend_execute_data *call = EX(call);
-+ uint32_t info = ZEND_CALL_INFO(call);
-+
-+ if (info & ZEND_CALL_RELEASE_THIS) {
-+ OBJ_RELEASE(Z_OBJ(call->This));
-+ } else if (info & ZEND_CALL_CLOSURE) {
-+ OBJ_RELEASE((zend_object*)call->func->op_array.prototype);
-+ }
-+
-+ EX(call) = call->prev_execute_data;
-+
-+ zend_vm_stack_free_args(call);
-+ zend_vm_stack_free_call_frame(call);
-+
-+ EX(opline) = EX(opline) + 1;
-+
-+ return ZEND_USER_OPCODE_LEAVE;
-+} /* }}} */
-+
- int uopz_return_handler(UOPZ_OPCODE_HANDLER_ARGS) { /* {{{ */
- zend_execute_data *call = EX(call);
-
-@@ -366,26 +387,18 @@ int uopz_return_handler(UOPZ_OPCODE_HANDLER_ARGS) { /* {{{ */
-
- uopz_execute_return(ureturn, call, return_value);
-
-- EX(call) = call->prev_execute_data;
-- zend_vm_stack_free_call_frame(call);
-- EX(opline) = opline + 1;
--
- if (!RETURN_VALUE_USED(opline)) {
- zval_ptr_dtor(&rv);
- }
-
-- return ZEND_USER_OPCODE_CONTINUE;
-+ return php_uopz_leave_helper(UOPZ_OPCODE_HANDLER_ARGS_PASSTHRU);
- }
-
- if (RETURN_VALUE_USED(opline)) {
- ZVAL_COPY(return_value, &ureturn->value);
- }
-
-- EX(call) = call->prev_execute_data;
-- zend_vm_stack_free_call_frame(call);
-- EX(opline) = opline + 1;
--
-- return ZEND_USER_OPCODE_CONTINUE;
-+ return php_uopz_leave_helper(UOPZ_OPCODE_HANDLER_ARGS_PASSTHRU);
- }
- }
-