Index: /trunk/mod_cacher/xc_cache.h
===================================================================
--- /trunk/mod_cacher/xc_cache.h	(revision 1131)
+++ /trunk/mod_cacher/xc_cache.h	(revision 1132)
@@ -17,18 +17,4 @@
 struct _xc_lock_t;
 struct _xc_shm_t;
-/* {{{ xc_cache_t: only cache info, not in shm */
-typedef struct {
-	int cacheid;
-	xc_hash_t  *hcache; /* hash to cacheid */
-
-	struct _xc_lock_t  *lck;
-	struct _xc_shm_t   *shm; /* which shm contains us */
-	struct _xc_mem_t   *mem; /* which mem contains us */
-
-	xc_hash_t  *hentry; /* hash settings to entry */
-	xc_hash_t  *hphp;   /* hash settings to php */
-	xc_cached_t *cached;
-} xc_cache_t;
-/* }}} */
 /* {{{ xc_op_array_info_detail_t */
 typedef struct {
Index: /trunk/mod_cacher/xc_cacher.c
===================================================================
--- /trunk/mod_cacher/xc_cacher.c	(revision 1131)
+++ /trunk/mod_cacher/xc_cacher.c	(revision 1132)
@@ -94,4 +94,17 @@
 };
 /* }}} */
+typedef struct { /* {{{ xc_cache_t: only cache info, not in shm */
+	int cacheid;
+	xc_hash_t  *hcache; /* hash to cacheid */
+
+	struct _xc_lock_t  *lck;
+	struct _xc_shm_t   *shm; /* which shm contains us */
+	struct _xc_mem_t   *mem; /* which mem contains us */
+
+	xc_hash_t  *hentry; /* hash settings to entry */
+	xc_hash_t  *hphp;   /* hash settings to php */
+	xc_cached_t *cached;
+} xc_cache_t;
+/* }}} */
 
 /* {{{ globals */
@@ -150,5 +163,5 @@
 	php->hits     = 0;
 	php->refcount = 0;
-	stored_php = xc_processor_store_xc_entry_data_php_t(cache, php TSRMLS_CC);
+	stored_php = xc_processor_store_xc_entry_data_php_t(cache->shm, cache->mem, php TSRMLS_CC);
 	if (stored_php) {
 		xc_php_add_unlocked(cache->cached, stored_php);
@@ -297,6 +310,6 @@
 	entry->atime = XG(request_time);
 	stored_entry = type == XC_TYPE_PHP
-		? (xc_entry_t *) xc_processor_store_xc_entry_php_t(cache, (xc_entry_php_t *) entry TSRMLS_CC)
-		: (xc_entry_t *) xc_processor_store_xc_entry_var_t(cache, (xc_entry_var_t *) entry TSRMLS_CC);
+		? (xc_entry_t *) xc_processor_store_xc_entry_php_t(cache->shm, cache->mem, (xc_entry_php_t *) entry TSRMLS_CC)
+		: (xc_entry_t *) xc_processor_store_xc_entry_var_t(cache->shm, cache->mem, (xc_entry_var_t *) entry TSRMLS_CC);
 	if (stored_entry) {
 		xc_entry_add_unlocked(cache->cached, entryslotid, stored_entry);
@@ -3285,5 +3298,4 @@
 static PHP_MINIT_FUNCTION(xcache_cacher) /* {{{ */
 {
-	char *env;
 	zend_extension *ext;
 	zend_llist_position lpos;
Index: /trunk/processor/head.m4
===================================================================
--- /trunk/processor/head.m4	(revision 1131)
+++ /trunk/processor/head.m4	(revision 1132)
@@ -94,5 +94,6 @@
 	const xc_entry_data_php_t *php_src;
 	const xc_entry_data_php_t *php_dst;
-	const xc_cache_t          *cache;
+	xc_shm_t                  *shm;
+	xc_mem_t                  *mem;
 	const zend_class_entry *cache_ce;
 	zend_uint cache_class_index;
@@ -394,6 +395,6 @@
 dnl ================ export API
 define(`DEFINE_STORE_API', `
-/* export: $1 *xc_processor_store_$1(xc_cache_t *cache, $1 *src TSRMLS_DC); :export {{{ */
-$1 *xc_processor_store_$1(xc_cache_t *cache, $1 *src TSRMLS_DC) {
+/* export: $1 *xc_processor_store_$1(xc_shm_t *shm, xc_mem_t *mem, $1 *src TSRMLS_DC); :export {{{ */
+$1 *xc_processor_store_$1(xc_shm_t *shm, xc_mem_t *mem, $1 *src TSRMLS_DC) {
 	$1 *dst;
 	xc_processor_t processor;
@@ -401,5 +402,6 @@
 	memset(&processor, 0, sizeof(processor));
 	processor.reference = 1;
-	processor.cache = cache;
+	processor.shm = shm;
+	processor.mem = mem;
 
 	IFAUTOCHECK(`xc_stack_init(&processor.allocsizes);')
@@ -439,5 +441,5 @@
 
 		/* mem :) */
-		processor.p = (char *) processor.cache->mem->handlers->malloc(processor.cache->mem, processor.size);
+		processor.p = (char *) processor.mem->handlers->malloc(processor.mem, processor.size);
 		if (processor.p == NULL) {
 			dst = NULL;
Index: /trunk/processor/main.m4
===================================================================
--- /trunk/processor/main.m4	(revision 1131)
+++ /trunk/processor/main.m4	(revision 1132)
@@ -126,9 +126,9 @@
 define(`FIXPOINTER', `FIXPOINTER_EX(`$1', `dst->$2')')
 define(`FIXPOINTER_EX', `IFSTORE(`
-	$2 = ($1 *) processor->cache->shm->handlers->to_readonly(processor->cache->shm, (char *)$2);
+	$2 = ($1 *) processor->shm->handlers->to_readonly(processor->shm, (char *)$2);
 ')')
 define(`UNFIXPOINTER', `UNFIXPOINTER_EX(`$1', `dst->$2')')
 define(`UNFIXPOINTER_EX', `IFSTORE(`
-	$2 = ($1 *) processor->cache->shm->handlers->to_readwrite(processor->cache->shm, (char *)$2);
+	$2 = ($1 *) processor->shm->handlers->to_readwrite(processor->shm, (char *)$2);
 ')')
 dnl }}}
