Index: trunk/processor/processor.m4
===================================================================
--- trunk/processor/processor.m4	(revision 94)
+++ trunk/processor/processor.m4	(revision 95)
@@ -5,4 +5,7 @@
 DECL_STRUCT_P_FUNC(`zend_op_array')
 DECL_STRUCT_P_FUNC(`zend_class_entry')
+#ifdef HAVE_XCACHE_CONSTANT
+DECL_STRUCT_P_FUNC(`zend_constant')
+#endif
 DECL_STRUCT_P_FUNC(`zend_function')
 DECL_STRUCT_P_FUNC(`xc_entry_t')
@@ -59,4 +62,7 @@
 dnl }}}
 DEF_HASH_TABLE_FUNC(`HashTable_zval_ptr',           `zval_ptr')
+#ifdef HAVE_XCACHE_CONSTANT
+DEF_HASH_TABLE_FUNC(`HashTable_zend_constant',      `zend_constant')
+#endif
 DEF_HASH_TABLE_FUNC(`HashTable_zend_function',      `zend_function')
 #ifdef ZEND_ENGINE_2
@@ -205,4 +211,15 @@
 #endif
 dnl }}}
+#ifdef HAVE_XCACHE_CONSTANT
+DEF_STRUCT_P_FUNC(`zend_constant', , `dnl {{{
+	STRUCT(zval, value)
+	DISPATCH(int, flags)
+	DISPATCH(uint, name_len)
+	PROC_STRING_L(name, name_len)
+	zstr name;
+	DISPATCH(int, module_number)
+')
+dnl }}}
+#endif
 DEF_STRUCT_P_FUNC(`zend_function', , `dnl {{{
 	DISABLECHECK(`
@@ -599,6 +616,5 @@
 	STRUCT_P(HashTable, static_variables, HashTable_zval_ptr)
 
-	IFCOPY(`dst->start_op = src->start_op;')
-	DONE(start_op)
+	COPY(start_op)
 	DISPATCH(int, backpatch_count)
 
@@ -628,4 +644,17 @@
 dnl }}}
 
+#ifdef HAVE_XCACHE_CONSTANT
+DEF_STRUCT_P_FUNC(`xc_constinfo_t', , `dnl {{{
+	DISPATCH(zend_uint, key_size)
+#ifdef IS_UNICODE
+	DISPATCH(zend_uchar, type)
+#endif
+	IFRESTORE(`COPY(key)', `
+		PROC_USTRING_N(type, key, key_size)
+	')
+	STRUCT(zend_constant, constant)
+')
+dnl }}}
+#endif
 DEF_STRUCT_P_FUNC(`xc_funcinfo_t', , `dnl {{{
 	DISPATCH(zend_uint, key_size)
@@ -666,4 +695,9 @@
 
 	STRUCT_P(zend_op_array, op_array)
+
+#ifdef HAVE_XCACHE_CONSTANT
+	DISPATCH(zend_uint, constinfo_cnt)
+	STRUCT_ARRAY(constinfo_cnt, xc_constinfo_t, constinfos)
+#endif
 
 	DISPATCH(zend_uint, funcinfo_cnt)
