Index: /branches/1.3/ChangeLog
===================================================================
--- /branches/1.3/ChangeLog	(revision 617)
+++ /branches/1.3/ChangeLog	(revision 618)
@@ -7,4 +7,5 @@
 1.2.2 2007-12-29
 == ChangeLog ==
+ * added module dependency
  * added module dependency
  * live with wrong system time: allow caching files with mtime in further
Index: /branches/1.3/const_string.c
===================================================================
--- /branches/1.3/const_string.c	(revision 617)
+++ /branches/1.3/const_string.c	(revision 618)
@@ -48,25 +48,5 @@
 	/* 8 */ "IS_CONSTANT",
 	/* 9 */ "IS_CONSTANT_ARRAY",
-	/* 10 */ "IS_UNICODE",
-#if 0
-	/* 11 */ "",
-	/* 12 */ "",
-	/* 13 */ "",
-	/* 14 */ "",
-	/* 15 */ "", "", "", "", "",
-
-/* IS_CONSTANT_INDEX */
-	/* 20 */ "CIDX IS_NULL",
-	/* 21 */ "CIDX IS_LONG",
-	/* 22 */ "CIDX IS_DOUBLE",
-	/* 23 */ "CIDX IS_BOOL",
-	/* 24 */ "CIDX IS_ARRAY",
-	/* 25 */ "CIDX IS_OBJECT",
-	/* 26 */ "CIDX IS_STRING",
-	/* 27 */ "CIDX IS_RESOURCE",
-	/* 28 */ "CIDX IS_CONSTANT",
-	/* 29 */ "CIDX IS_CONSTANT_ARRAY"
-	/* 20 */ "CIDX IS_UNICODE",
-#endif
+	/* 10 */ "IS_UNICODE"
 };
 
@@ -78,11 +58,5 @@
 const char *xc_get_data_type(zend_uchar data_type)
 {
-#if 0
-	if (data_type & IS_CONSTANT_INDEX) {
-		data_type = (data_type & ~IS_CONSTANT_INDEX) + 20;
-	}
-#endif
-	data_type &= ~IS_CONSTANT_INDEX;
-	return data_type_names[data_type];
+	return data_type_names[(data_type & IS_CONSTANT_TYPE_MASK)];
 }
 /* }}} */
Index: /branches/1.3/processor/processor.m4
===================================================================
--- /branches/1.3/processor/processor.m4	(revision 617)
+++ /branches/1.3/processor/processor.m4	(revision 618)
@@ -79,5 +79,5 @@
 		*dst = *src;
 		zval_copy_ctor(dst);
-		ZVAL_REFCOUNT(dst) = 1;
+		Z_SET_REFCOUNT(*dst, 1);
 		DONE(value)
 		DONE(type)
@@ -96,5 +96,5 @@
 dnl {{{ zvalue_value
 		DISABLECHECK(`
-		switch (src->type & ~IS_CONSTANT_INDEX) {
+		switch ((Z_TYPE_P(src) & IS_CONSTANT_TYPE_MASK)) {
 			case IS_LONG:
 			case IS_RESOURCE:
@@ -756,5 +756,9 @@
 #ifdef HAVE_XCACHE_CONSTANT
 	DISPATCH(zend_uint, constinfo_cnt)
-	STRUCT_ARRAY(constinfo_cnt, xc_constinfo_t, constinfos)
+	IFRESTORE(`
+		COPY(constinfos)
+	', `
+		STRUCT_ARRAY(constinfo_cnt, xc_constinfo_t, constinfos)
+	')
 #endif
 
@@ -769,10 +773,14 @@
 	')
 	STRUCT_ARRAY(classinfo_cnt, xc_classinfo_t, classinfos)
+	popdef(`BEFORE_LOOP')
 #ifdef ZEND_ENGINE_2_1
 	DISPATCH(zend_uint, autoglobal_cnt)
-	STRUCT_ARRAY(autoglobal_cnt, xc_autoglobal_t, autoglobals)
+	IFRESTORE(`
+		COPY(autoglobals)
+	', `
+		STRUCT_ARRAY(autoglobal_cnt, xc_autoglobal_t, autoglobals)
+	')
 #endif
 	DISPATCH(zend_bool, have_early_binding)
-	popdef(`BEFORE_LOOP')
 ')
 dnl }}}
Index: /branches/1.3/xcache.h
===================================================================
--- /branches/1.3/xcache.h	(revision 617)
+++ /branches/1.3/xcache.h	(revision 618)
@@ -55,4 +55,7 @@
 #ifndef Z_SET_REFCOUNT
 #	define Z_SET_REFCOUNT(z, rc) (z).refcount = rc;
+#endif
+#ifndef IS_CONSTANT_TYPE_MASK
+#	define IS_CONSTANT_TYPE_MASK 0xf
 #endif
 
