+#define debug_propro(l, f, obj, proxy, off, val)
+#endif
+
+php_property_proxy_t *php_property_proxy_init(zval *container, zend_string *member)
+{
+ php_property_proxy_t *proxy = ecalloc(1, sizeof(*proxy));
+#if DEBUG_PROPRO
+ zval offset;
+
+ ZVAL_STR_COPY(&offset, member);
+#endif
+
+ debug_propro(1, "init", NULL, proxy, &offset, NULL);
+
+ if (container) {
+ ZVAL_COPY(&proxy->container, container);
+ }
+ proxy->member = zend_string_copy(member);
+
+ debug_propro(-1, "init", NULL, proxy, &offset, NULL);
+
+#if DEBUG_PROPRO
+ zval_dtor(&offset);
+#endif
+
+ return proxy;
+}
+
+void php_property_proxy_free(php_property_proxy_t **proxy)
+{
+#if DEBUG_PROPRO
+ zval offset;
+
+ ZVAL_STR_COPY(&offset, (*proxy)->member);
+ debug_propro(1, "dtor", NULL, *proxy, &offset, NULL);