changeset 1:6695c97470f3

modify some files.
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sat, 04 Feb 2012 12:41:59 +0900
parents a89b61162c29
children 396046c5b0b0 8bf48c0cb198
files DPP/Makefile DPP/dpp2.cbc DPP/dpp2.h DPP/dpp3.cbc DPP/dpp3.h DPP/main.cbc DPP/queue.cbc DPP/queue.h DPP/scheduler.cbc DPP/scheduler.h DPP/tableau.cbc DPP/tableau2.cbc DPP/tableau3.cbc
diffstat 13 files changed, 201 insertions(+), 115 deletions(-) [+]
line wrap: on
line diff
--- a/DPP/Makefile	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/Makefile	Sat Feb 04 12:41:59 2012 +0900
@@ -1,13 +1,15 @@
-CC=gcc
-MCC=mcc
+CC=cbc-gcc-4.6.0
+#MCC=mcc
 TARGET=dpp dpp2 tableau tableau2 tableau3
-MCCFLAGS=-s
+#MCCFLAGS=-s
 CFLAGS=-I. -g -Wall
 
 .SUFFIXES:	.cbc .c .o
 
 .cbc.o:
-	$(MCC) $(MCCFLAGS) $<
+#	$(MCC) $(MCCFLAGS) $<
+#	$(CC) $(CFLAGS) -o $@ -c $(<:.cbc=.s)
+	$(CC) $(CFLAGS) -S $<
 	$(CC) $(CFLAGS) -o $@ -c $(<:.cbc=.s)
 
 all: $(TARGET)
@@ -33,7 +35,6 @@
 	$(CC) $(CFLAGS) -o $@ $^
 
 #
-
 test:   memory_test state_test
 
 memory_test: test/memory_test
@@ -57,72 +58,72 @@
 
 # DO NOT DELETE
 
-dpp.o: dpp.h
-dpp2.o: dpp2.h queue.h dpp.h state_db.h scheduler.h
-main.o: dpp.h
-queue.o: queue.h dpp.h state_db.h
-scheduler.o: /usr/include/stdio.h /usr/include/features.h
-scheduler.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-scheduler.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-scheduler.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
-scheduler.o: /usr/include/libio.h /usr/include/_G_config.h
-scheduler.o: /usr/include/wchar.h /usr/include/bits/wchar.h
-scheduler.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h
-scheduler.o: /usr/include/bits/sys_errlist.h /usr/include/stdlib.h
-scheduler.o: /usr/include/sys/types.h /usr/include/time.h
-scheduler.o: /usr/include/endian.h /usr/include/bits/endian.h
-scheduler.o: /usr/include/sys/select.h /usr/include/bits/select.h
-scheduler.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
-scheduler.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
-scheduler.o: /usr/include/alloca.h dpp2.h queue.h dpp.h state_db.h
-tableau.o: /usr/include/stdlib.h /usr/include/features.h
-tableau.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-tableau.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-tableau.o: /usr/include/sys/types.h /usr/include/bits/types.h
-tableau.o: /usr/include/bits/typesizes.h /usr/include/time.h
-tableau.o: /usr/include/endian.h /usr/include/bits/endian.h
-tableau.o: /usr/include/sys/select.h /usr/include/bits/select.h
-tableau.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
-tableau.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
-tableau.o: /usr/include/alloca.h dpp2.h queue.h dpp.h state_db.h memory.h
-memory.o: /usr/include/stdio.h /usr/include/features.h
-memory.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-memory.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-memory.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
-memory.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
-memory.o: /usr/include/bits/wchar.h /usr/include/gconv.h
-memory.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
-memory.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
-memory.o: /usr/include/endian.h /usr/include/bits/endian.h
-memory.o: /usr/include/sys/select.h /usr/include/bits/select.h
-memory.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
-memory.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
-memory.o: /usr/include/alloca.h memory.h crc32.h /usr/include/string.h
-queue.o: dpp.h state_db.h
-state_db.o: /usr/include/stdlib.h /usr/include/features.h
-state_db.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-state_db.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-state_db.o: /usr/include/sys/types.h /usr/include/bits/types.h
-state_db.o: /usr/include/bits/typesizes.h /usr/include/time.h
-state_db.o: /usr/include/endian.h /usr/include/bits/endian.h
-state_db.o: /usr/include/sys/select.h /usr/include/bits/select.h
-state_db.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
-state_db.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
-state_db.o: /usr/include/alloca.h state_db.h memory.h
-test/memory_test.o: /usr/include/stdio.h /usr/include/features.h
-test/memory_test.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-test/memory_test.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-test/memory_test.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
-test/memory_test.o: /usr/include/libio.h /usr/include/_G_config.h
-test/memory_test.o: /usr/include/wchar.h /usr/include/bits/wchar.h
-test/memory_test.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h
-test/memory_test.o: /usr/include/bits/sys_errlist.h /usr/include/strings.h
-test/memory_test.o: memory.h
-test/state_test.o: /usr/include/stdio.h /usr/include/features.h
-test/state_test.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
-test/state_test.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
-test/state_test.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
-test/state_test.o: /usr/include/libio.h /usr/include/_G_config.h
-test/state_test.o: /usr/include/wchar.h /usr/include/bits/wchar.h
-test/state_test.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h
-test/state_test.o: /usr/include/bits/sys_errlist.h memory.h state_db.h
+#dpp.o: dpp.h
+#dpp2.o: dpp2.h queue.h dpp.h state_db.h scheduler.h
+#main.o: dpp.h
+#queue.o: queue.h dpp.h state_db.h
+#scheduler.o: /usr/include/stdio.h /usr/include/features.h
+#scheduler.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+#scheduler.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
+#scheduler.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+#scheduler.o: /usr/include/libio.h /usr/include/_G_config.h
+#scheduler.o: /usr/include/wchar.h /usr/include/bits/wchar.h
+#scheduler.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h
+#scheduler.o: /usr/include/bits/sys_errlist.h /usr/include/stdlib.h
+#scheduler.o: /usr/include/sys/types.h /usr/include/time.h
+#scheduler.o: /usr/include/endian.h /usr/include/bits/endian.h
+#scheduler.o: /usr/include/sys/select.h /usr/include/bits/select.h
+#scheduler.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+#scheduler.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+#scheduler.o: /usr/include/alloca.h dpp2.h queue.h dpp.h state_db.h
+#tableau.o: /usr/include/stdlib.h /usr/include/features.h
+#tableau.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+#tableau.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
+#tableau.o: /usr/include/sys/types.h /usr/include/bits/types.h
+#tableau.o: /usr/include/bits/typesizes.h /usr/include/time.h
+#tableau.o: /usr/include/endian.h /usr/include/bits/endian.h
+#tableau.o: /usr/include/sys/select.h /usr/include/bits/select.h
+#tableau.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+#tableau.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+#tableau.o: /usr/include/alloca.h dpp2.h queue.h dpp.h state_db.h memory.h
+#memory.o: /usr/include/stdio.h /usr/include/features.h
+#memory.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+#memory.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
+#memory.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+#memory.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
+#memory.o: /usr/include/bits/wchar.h /usr/include/gconv.h
+#memory.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+#memory.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
+#memory.o: /usr/include/endian.h /usr/include/bits/endian.h
+#memory.o: /usr/include/sys/select.h /usr/include/bits/select.h
+#memory.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+#memory.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+#memory.o: /usr/include/alloca.h memory.h crc32.h /usr/include/string.h
+#queue.o: dpp.h state_db.h
+#state_db.o: /usr/include/stdlib.h /usr/include/features.h
+#state_db.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+#state_db.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
+#state_db.o: /usr/include/sys/types.h /usr/include/bits/types.h
+#state_db.o: /usr/include/bits/typesizes.h /usr/include/time.h
+#state_db.o: /usr/include/endian.h /usr/include/bits/endian.h
+#state_db.o: /usr/include/sys/select.h /usr/include/bits/select.h
+#state_db.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
+#state_db.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
+#state_db.o: /usr/include/alloca.h state_db.h memory.h
+#test/memory_test.o: /usr/include/stdio.h /usr/include/features.h
+#test/memory_test.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+#test/memory_test.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
+#test/memory_test.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+#test/memory_test.o: /usr/include/libio.h /usr/include/_G_config.h
+#test/memory_test.o: /usr/include/wchar.h /usr/include/bits/wchar.h
+#test/memory_test.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h
+#test/memory_test.o: /usr/include/bits/sys_errlist.h /usr/include/strings.h
+#test/memory_test.o: memory.h
+#test/state_test.o: /usr/include/stdio.h /usr/include/features.h
+#test/state_test.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+#test/state_test.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
+#test/state_test.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
+#test/state_test.o: /usr/include/libio.h /usr/include/_G_config.h
+#test/state_test.o: /usr/include/wchar.h /usr/include/bits/wchar.h
+#test/state_test.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h
+#test/state_test.o: /usr/include/bits/sys_errlist.h memory.h state_db.h
--- a/DPP/dpp2.cbc	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/dpp2.cbc	Sat Feb 04 12:41:59 2012 +0900
@@ -4,8 +4,6 @@
 */
 
 #include "dpp2.h"
-#include "queue.h"
-#include "scheduler.h"
 
 code putdown_lfork(PhilsPtr self, TaskPtr current_task)
 {
--- a/DPP/dpp2.h	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/dpp2.h	Sat Feb 04 12:41:59 2012 +0900
@@ -3,14 +3,17 @@
 #define NULL (0)
 
 #include "dpp_common.h"
+#include "queue.h"
+#include "dpp2.h"
+#include "scheduler.h"
 
-extern code putdown_lfork(PhilsPtr self, struct task * current_task);
-extern code putdown_rfork(PhilsPtr self, struct task * current_task);
-extern code eating(PhilsPtr self, struct task * current_task);
-extern code hungry2(PhilsPtr self, struct task * current_task);
-extern code hungry1(PhilsPtr self, struct task * current_task);
-extern code pickup_rfork(PhilsPtr self, struct task * current_task);
-extern code pickup_lfork(PhilsPtr self, struct task * current_task);
-extern code thinking(PhilsPtr self, struct task * current_task);
+extern code putdown_lfork(PhilsPtr self, TaskPtr current_task);
+extern code putdown_rfork(PhilsPtr self, TaskPtr current_task);
+extern code eating(PhilsPtr self, TaskPtr current_task);
+extern code hungry2(PhilsPtr self, TaskPtr current_task);
+extern code hungry1(PhilsPtr self, TaskPtr current_task);
+extern code pickup_rfork(PhilsPtr self, TaskPtr current_task);
+extern code pickup_lfork(PhilsPtr self, TaskPtr current_task);
+extern code thinking(PhilsPtr self, TaskPtr current_task);
 
 #endif
--- a/DPP/dpp3.cbc	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/dpp3.cbc	Sat Feb 04 12:41:59 2012 +0900
@@ -4,7 +4,7 @@
 */
 
 #include "dpp3.h"
-#include "queue.h"
+
 
 __code putdown_fork(PhilsPtr self, TaskPtr current_task)
 {
--- a/DPP/dpp3.h	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/dpp3.h	Sat Feb 04 12:41:59 2012 +0900
@@ -3,10 +3,12 @@
 #define NULL (0)
 
 #include "dpp_common.h"
+#include "queue.h"
 
-extern __code putdown_lfork(PhilsPtr self, struct task * current_task);
-extern __code putdown_rfork(PhilsPtr self, struct task * current_task);
-extern __code pickup_rfork(PhilsPtr self, struct task * current_task);
-extern __code pickup_lfork(PhilsPtr self, struct task * current_task);
+extern __code putdown_lfork(PhilsPtr self, TaskPtr current_task);
+extern __code putdown_rfork(PhilsPtr self, TaskPtr current_task);
+extern __code pickup_rfork(PhilsPtr self, TaskPtr current_task);
+extern __code pickup_lfork(PhilsPtr self, TaskPtr current_task);
 
+extern __code scheduler(PhilsPtr phils, TaskPtr list);
 #endif
--- a/DPP/main.cbc	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/main.cbc	Sat Feb 04 12:41:59 2012 +0900
@@ -5,11 +5,23 @@
 
 #define NUM_PHILOSOPHER 5    /* A number of philosophers must be more than 2. */
 
-code (*ret)(int);
+code (*ret)(int,void*);
 void *env;
 
+#define __environment _CbC_environment
+#define __return _CbC_return
+
 PhilsPtr phils_list = NULL;
 
+code run(PhilsPtr self);
+code init_final(PhilsPtr self);
+code init_phils2(PhilsPtr self, int count, int id);
+code init_fork2(PhilsPtr self, int count, int id);
+code init_phils1(ForkPtr fork, int count, int id);
+code init_fork1(int count);
+code die(char *err);
+
+
 code run(PhilsPtr self)
 {
 	goto thinking(self);
@@ -105,13 +117,14 @@
 code die(char *err)
 {
 	printf("%s\n", err);
-	goto ret(1), env;
+	//	goto ret(1), env;
+	goto ret(1, env);
 }
 
 int main(void)
 {
-	ret = return;
-	env = environment;
+	ret = __return;
+	env = __environment;
 
 	goto init_fork1(NUM_PHILOSOPHER);
 }
--- a/DPP/queue.cbc	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/queue.cbc	Sat Feb 04 12:41:59 2012 +0900
@@ -66,7 +66,8 @@
 	goto dest(count,self,q, last);
 }
 
-code dequeue(code (*dest)(), TaskPtr list)
+//code dequeue(code (*dest)(), TaskPtr list)
+code dequeue(code (*dest)(), TaskPtr list, TaskPtr *q)
 {
 	TaskPtr p = list;
 	if (p) {
--- a/DPP/queue.h	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/queue.h	Sat Feb 04 12:41:59 2012 +0900
@@ -42,7 +42,7 @@
 } TaskIterator, *TaskIteratorPtr;
 
 extern TaskIteratorPtr
-create_task_iterator(TaskPtr list,struct state *s,TaskIteratorPtr prev);
+create_task_iterator(TaskPtr list,StateDB s,TaskIteratorPtr prev);
 
 extern TaskPtr
 next_task_iterator(TaskIteratorPtr self);
@@ -55,11 +55,18 @@
             code (*dest)(
                 int count,PhilsPtr self, TaskPtr list,TaskPtr last, TaskPtr q
             ));
+/*
 extern
 code enqueue(int count, PhilsPtr self, TaskPtr list, TaskPtr last, TaskPtr q,
                 code (*dest)(
             int count, PhilsPtr self, TaskPtr list, TaskPtr last, TaskPtr q,
         ));
+*/
+extern
+code enqueue(int count, PhilsPtr self, TaskPtr list, TaskPtr last, TaskPtr q,
+	     code (*dest)()
+        );
+
 
 extern void free_queue(TaskPtr q);
 extern code dequeue(code (*dest)(), TaskPtr list, TaskPtr *q);
--- a/DPP/scheduler.cbc	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/scheduler.cbc	Sat Feb 04 12:41:59 2012 +0900
@@ -6,10 +6,15 @@
 #include <time.h>
 #include "dpp2.h"
 #include "queue.h"
+#include "scheduler.h"
 
 #define NUM_PHILOSOPHER 5    /* A number of philosophers must be more than 2. */
 
-code (*ret)(int);
+#define __environment _CbC_environment
+#define __return _CbC_return
+
+//code (*ret)(int);
+code (*ret)(int,void*);
 void *env;
 
 code (*get_next_task)(TaskPtr);
@@ -188,13 +193,13 @@
 code die(char *err)
 {
 	printf("%s\n", err);
-	goto ret(1), env;
+	goto ret(1, env);
 }
 
 int main(int argc, char **argv)
 {
-	ret = return;
-	env = environment;
+	ret = __return;
+	env = __environment;
 	// srand((unsigned)time(NULL));
 	// srandom((unsigned long)time(NULL));
 	get_next_task = get_next_task_fifo;
--- a/DPP/scheduler.h	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/scheduler.h	Sat Feb 04 12:41:59 2012 +0900
@@ -5,4 +5,47 @@
 extern struct task * current_task;
 code scheduler(PhilsPtr self, TaskPtr task);
 
+/* defined in file scheduler.cbc at offset 457  */
+int list_length (TaskPtr list);
+
+/* defined in file scheduler.cbc at offset 641  */
+TaskPtr get_task (int num, TaskPtr list);
+
+/* defined in file scheduler.cbc at offset 753  */
+code get_next_task_random (TaskPtr list);
+
+/* defined in file scheduler.cbc at offset 1001  */
+code get_next_task_fifo (TaskPtr list);
+
+/* defined in file scheduler.cbc at offset 1188  */
+code scheduler (PhilsPtr phils, TaskPtr list);
+
+/* defined in file scheduler.cbc at offset 1338  */
+code task_entry2 (int count,PhilsPtr self, TaskPtr list,TaskPtr last, TaskPtr q);
+
+/* defined in file scheduler.cbc at offset 1541  */
+code task_entry1 (int count, PhilsPtr self, TaskPtr list, TaskPtr last);
+
+/* defined in file scheduler.cbc at offset 1901  */
+code task_entry0 (int count, PhilsPtr self, TaskPtr list, TaskPtr last, TaskPtr q);
+
+/* defined in file scheduler.cbc at offset 2026  */
+code init_final (PhilsPtr self);
+
+/* defined in file scheduler.cbc at offset 2204  */
+code init_phils2 (PhilsPtr self, int count, int id);
+
+/* defined in file scheduler.cbc at offset 2698  */
+code init_fork2 (PhilsPtr self, int count, int id);
+
+/* defined in file scheduler.cbc at offset 2986  */
+code init_phils1 (ForkPtr fork, int count, int id);
+
+/* defined in file scheduler.cbc at offset 3360  */
+code init_fork1 (int count);
+
+/* defined in file scheduler.cbc at offset 3588  */
+code die (char *err);
+
+
 /* end */
--- a/DPP/tableau.cbc	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/tableau.cbc	Sat Feb 04 12:41:59 2012 +0900
@@ -30,7 +30,10 @@
 
 int NUM_PHILOSOPHER = 5;    /* A number of philosophers must be more than 2. */
 
-static code (*ret)(int);
+#define __environment _CbC_environment
+#define __return _CbC_return
+
+static code (*ret)(int,void*);
 static void *env;
 
 static PhilsPtr phils_list = NULL;
@@ -56,6 +59,7 @@
     return length;
 }
 
+/*
 TaskPtr
 get_task(int num, TaskPtr list)
 {
@@ -64,7 +68,7 @@
     }
     return list;
 }
-
+*/
 
 static TaskIteratorPtr task_iter;
 static int depth,count;
@@ -93,7 +97,7 @@
 	    if (!prev_iter) {
 		printf("All done count %d\n",count);
 		memory_usage();
-		goto ret(0),env;
+		goto ret(0,env);
 	    }
 	    //printf("no more branch %d\n",count);
 	    depth--;
@@ -267,13 +271,13 @@
 code die(char *err)
 {
     printf("%s\n", err);
-    goto ret(1), env;
+    goto ret(1, env);
 }
 
 int main(int ac, char *av[])
 {
-    ret = return;
-    env = environment;
+    ret = __return;
+    env = __environment;
     // srand((unsigned)time(NULL));
     // srandom((unsigned long)time(NULL));
     srandom(555);
--- a/DPP/tableau2.cbc	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/tableau2.cbc	Sat Feb 04 12:41:59 2012 +0900
@@ -31,9 +31,14 @@
 
 int NUM_PHILOSOPHER = 5;    /* A number of philosophers must be more than 2. */
 
-static code (*ret)(int);
+//static code (*ret)(int);
+code (*ret)(int,void*);
 static void *env;
 
+#define __environment _CbC_environment
+#define __return _CbC_return
+
+
 static PhilsPtr phils_list = NULL;
 
 static int max_step = 100;
@@ -96,7 +101,7 @@
 		printf("All done count %d\n",count);
 		memory_usage();
 		show_result(always_flag);
-		goto ret(0),env;
+		goto ret(0,env);
 	    }
 	    //printf("no more branch %d\n",count);
 	    depth--;
@@ -273,13 +278,13 @@
 code die(char *err)
 {
     printf("%s\n", err);
-    goto ret(1), env;
+    goto ret(1, env);
 }
 
 int main(int ac, char *av[])
 {
-    ret = return;
-    env = environment;
+    ret = __return;
+    env = __environment;
     // srand((unsigned)time(NULL));
     // srandom((unsigned long)time(NULL));
     srandom(555);
--- a/DPP/tableau3.cbc	Sat Feb 04 12:40:32 2012 +0900
+++ b/DPP/tableau3.cbc	Sat Feb 04 12:41:59 2012 +0900
@@ -31,7 +31,11 @@
 
 int NUM_PHILOSOPHER = 5;    /* A number of philosophers must be more than 2. */
 
-static code (*ret)(int);
+#define __environment _CbC_environment
+#define __return _CbC_return
+
+//static code (*ret)(int);
+static code (*ret)(int, void*);
 static void *env;
 
 static PhilsPtr phils_list = NULL;
@@ -97,7 +101,7 @@
 		printf("Number of unique states %d\n", state_count());
 		memory_usage();
 		show_result(always_flag);
-		goto ret(0),env;
+		goto ret(0,env);
 	    }
 	    //printf("no more branch %d\n",count);
 	    depth--;
@@ -274,13 +278,13 @@
 code die(char *err)
 {
     printf("%s\n", err);
-    goto ret(1), env;
+    goto ret(1, env);
 }
 
 int main(int ac, char *av[])
 {
-    ret = return;
-    env = environment;
+    ret = __return;
+    env = __environment;
     // srand((unsigned)time(NULL));
     // srandom((unsigned long)time(NULL));
     reset_state_count();