Index: trunk/xcache.c
===================================================================
--- trunk/xcache.c	(revision 165)
+++ trunk/xcache.c	(revision 189)
@@ -96,4 +96,6 @@
 static zend_bool xc_test = 0;
 static zend_bool xc_readonly_protection = 0;
+
+zend_bool xc_have_op_array_ctor = 0;
 
 static zend_bool xc_module_gotup = 0;
@@ -2281,4 +2283,6 @@
 {
 	char *env;
+	zend_extension *ext;
+	zend_llist_position lpos;
 
 	xc_module_gotup = 1;
@@ -2289,4 +2293,15 @@
 		}
 	}
+
+	/* cache if there's an op_array_ctor */
+	for (ext = zend_llist_get_first_ex(&zend_extensions, &lpos);
+			ext;
+			ext = zend_llist_get_next_ex(&zend_extensions, &lpos)) {
+		if (ext->op_array_ctor) {
+			xc_have_op_array_ctor = 1;
+			break;
+		}
+	}
+
 
 #ifndef PHP_GINIT
