diff -ruN klic-3.003-2002-01-07/runtime/cntlmsg.c klic-3.003-2002-01-07a/runtime/cntlmsg.c
--- klic-3.003-2002-01-07/runtime/cntlmsg.c	Tue Jan  1 14:17:47 2002
+++ klic-3.003-2002-01-07a/runtime/cntlmsg.c	Mon Jan  7 14:27:13 2002
@@ -32,6 +32,11 @@
 #include "trace.h"  /* trace_flag, trace_goal */
 #endif
 
+#define THROW_WTC_UNIT		0x1000L
+#define UNIFY_WTC_UNIT		0x10L
+#define READ_WTC_UNIT		10L
+#define ANSWER_WTC_UNIT		10L
+
 /*
   Distributed unification
   ANSWER VALUE		void send_answer_value(data, node, index, wec)
diff -ruN klic-3.003-2002-01-07/runtime/export_table.c klic-3.003-2002-01-07a/runtime/export_table.c
--- klic-3.003-2002-01-07/runtime/export_table.c	Sat Dec 29 12:46:20 2001
+++ klic-3.003-2002-01-07a/runtime/export_table.c	Mon Jan  7 14:36:52 2002
@@ -16,6 +16,20 @@
 #include "interpe.h"
 #include <klic/distio.h>
 
+#define EXP_TABLE_INC_SIZE	0x1000
+#define UNUSED_EXPREC  0xf0f0f0ff  /* This value is curious!! */
+
+struct exp_entry{
+  long index;
+  long wec;
+  q data;
+  struct exp_entry* next;
+};
+
+static struct exp_entry* exp_table;
+static struct exp_entry* top_of_exp_freelist;
+static long current_exp_size;
+
 static void initiate_allocated_exp_table()
 {
   int i;
diff -ruN klic-3.003-2002-01-07/runtime/import_table.c klic-3.003-2002-01-07a/runtime/import_table.c
--- klic-3.003-2002-01-07/runtime/import_table.c	Sat Dec 29 12:46:20 2001
+++ klic-3.003-2002-01-07a/runtime/import_table.c	Mon Jan  7 14:42:04 2002
@@ -16,6 +16,11 @@
 #include "interpe.h"
 #include <klic/distio.h>
 
+#define IMP_TABLE_INC_SIZE	0x1000
+#define END_IMP_FREELIST	(-1)
+#define END_IMP_TABLE		(-1)
+#define UNUSED_IMPREC  0xf0f0f0ff  /* This value is curious!! */
+
 extern int exref_g_generator_method_table;
 extern int read_hook_g_data_method_table;
 
@@ -27,6 +32,17 @@
   q to_exref;
   long gc_flag;
 };
+
+struct imp_entry{
+  long next;
+  q object;
+};
+
+static struct imp_entry* imp_table;
+static struct imp_entry top_of_imp_freelist;
+static long current_imp_size;
+static long active_imp_rec;
+static long free_imp_rec;
 
 static void initiate_allocated_imp_table()
 {
diff -ruN klic-3.003-2002-01-07/runtime/interpe.h klic-3.003-2002-01-07a/runtime/interpe.h
--- klic-3.003-2002-01-07/runtime/interpe.h	Sat Jan  5 12:29:37 2002
+++ klic-3.003-2002-01-07a/runtime/interpe.h	Mon Jan  7 14:49:37 2002
@@ -15,44 +15,26 @@
 extern void* calloc();
 extern void* realloc();
 #endif
-#include <klic/stdc.h>
 
+#include <klic/stdc.h>
 #include <klic/distpkt.h>
 
 /********** for debugging output control */
-/*#define INT_CL_DEBUG*/
-#define INT_CL_PROBE
-
+/* #define INT_CL_DEBUG */
 #ifdef	INT_CL_DEBUG
 #  define INT_CL_DEBUG_X(X)  (X)
 #else
 #  define INT_CL_DEBUG_X(X)
 #endif
 
+#define INT_CL_PROBE
 #ifdef	INT_CL_PROBE
 #  define INT_CL_PROBE_X(X)  (X)
 #else
 #  define INT_CL_PROBE_X(X)
 #endif
 
-/*********** for bsd libraries */
-#ifndef BCOPY
-#ifdef USEBCOPY
-#  define BCOPY(from,to,len)	bcopy((from), (to), (len))
-#else
-#  define BCOPY(from,to,len)	memcpy((to), (from), (len))
-#endif
-#endif
-#ifndef BZERO
-#ifdef USEBZERO
-#  define BZERO(from,len)		bzero((from), (len))
-#else
-#  define BZERO(from,len)		memset((from), 0, (len))
-#endif
-#endif
-
 /*********** Some convenient macros **************/
-/* Extern long total_node, my_node; */
 #define MASTER_NODE		0L
 #define SHOEN_NODE		total_node
 #define IS_MASTER_NODE(node)	((node) == MASTER_NODE)
@@ -62,14 +44,6 @@
 #define EXPORT_UNIT_WEC		0x10000
 #define MIN_WEC			0x2
 
-#define EXP_TABLE_INC_SIZE	0x1000
-#define IMP_TABLE_INC_SIZE	0x1000
-
-#define EXP_TABLE_HASH_SIZE	0x1
-
-#define END_IMP_FREELIST	(-1)
-#define END_IMP_TABLE		(-1)
-
 #define IMPREC_NOT_COPIED	12345
 #define IMPREC_COPIED		54321
 #define IMPREC_RELEASED		98765
@@ -84,63 +58,18 @@
 Extern long node_wtc;
 
 #define SUPPLY_WTC_UNIT		0x1000000L
-#define THROW_WTC_UNIT		0x1000L
-#define UNIFY_WTC_UNIT		0x10L
-
-
-/* if defined, optional eager requesting is activated. */
-/*#define REQUEST_WTC_THRESHOLD	0x3L*/
-
-/*#define CONTROL_WTC_UNIT	0x1L	/*This value implicitly assumed. */
 
-#define NODE_WTC_LIMIT		0x10000000L
-#define RETURN_WTC_UNIT		0x08000000L
-
-#define MIN_WTC			2L /* one for wtc_request,
-				      another for node existence */
-#define READ_WTC_UNIT		10L
-#define ANSWER_WTC_UNIT		10L
+/* #define CONTROL_WTC_UNIT	0x1L	/*This value implicitly assumed. */
 
 enum get_wtc_type {
-    get_wtc_normal_request,
-    get_wtc_full_request,
-    get_wtc_force_request
-};
-/************* Export Table *********************/
-struct exp_entry{
-    long index;
-    long wec;
-    q data;
-    struct exp_entry* next;
-};
+  get_wtc_normal_request,
+  get_wtc_full_request,
+  get_wtc_force_request };
 
-Extern struct exp_entry* exp_table;
-Extern long current_exp_size;
+/************* Export Table *********************/
 Extern long active_exp_entry;
 
-#define UNUSED_EXPREC 0xf0f0f0ff /* This value is curious!! */
-#define UNUSED_IMPREC 0xf0f0f0ff /* it too. */
-
-/* Export Hash Table */
-Extern struct exp_entry* exp_hash_table[EXP_TABLE_HASH_SIZE];
-
-Extern struct exp_entry* top_of_exp_freelist;
-
 /************** Import Table ********************/
-
-struct imp_entry{
-    long next;
-    q object;
-};
-
-Extern struct imp_entry* imp_table;
-Extern long current_imp_size;
-
-Extern struct imp_entry top_of_imp_freelist;
-
-Extern long active_imp_rec;
-Extern long free_imp_rec;
-
 Extern long receive_answer_flag;
 Extern long answer_return_exp_index;
 Extern q decode_data;		/* Un natural way of value passing. */
@@ -153,22 +82,13 @@
 /************* message suspend record **************/
 
 struct susp_msg_rec {
-    struct susp_msg_rec* next;
-    long node;
-    long wtc_needed;
-    combuf* outbuf;
+  struct susp_msg_rec* next;
+  long node;
+  long wtc_needed;
+  combuf* outbuf;
 };
 
 Extern struct susp_msg_rec* susp_msg_list;
-
-/************* Message decoder stack ****************/
-
-#define INIT_DECODE_STACK_SIZE 0x1000
-
-Extern q* decode_stack;
-Extern q* decode_stack_ptr;
-Extern q* decode_stack_limit;
-Extern int decode_stack_size;
 
 /************* Network Statistics Measurement *******/
 
diff -ruN klic-3.003-2002-01-07/runtime/intrpt.c klic-3.003-2002-01-07a/runtime/intrpt.c
--- klic-3.003-2002-01-07/runtime/intrpt.c	Sun Jan  6 11:58:53 2002
+++ klic-3.003-2002-01-07a/runtime/intrpt.c	Mon Jan  7 14:05:48 2002
@@ -4,73 +4,87 @@
 %   (C)1996, 1997, 1998, 1999 Japan Information Processing Development Center
 %       (Read COPYRIGHT-JIPDEC for detailed information.)
 ----------------------------------------------------------- */
+
 #include <klic/basic.h>  /* fatal */
 #include <klic/struct.h>
 #include <klic/sighndl.h>
 #include <klic/primitives.h>
 #include "schedule.h"
+
 #ifdef DIST
 #include "rmon.h"
+
 #define GC_ON()    (perfmon_state.gc_on = 1)
 #define GC_OFF()   (perfmon_state.gc_on = 0)
-#else
+
+#else /* not DIST */
 #define GC_ON()
 #define GC_OFF()
-#endif
+#endif /* not DIST */
+
 #ifdef SHM
 #include "shm.h"
 #endif
+
 #ifdef DEBUGLIB
 #include "trace.h"  /* trace_flag, trace_after */
 #endif
 
+extern struct goalrec* klic_gc();
+
+#ifdef USESIG
+extern q* klic_signal_handler();
+#endif
+
+#ifdef DEBUGLIB
+extern int stepping_flag;
+extern struct goalrec* step_after();
+#endif
+
 int sigint_interrupt = 0;
 
-static struct goalrec *enqueue_resumed_goals(qp)
-     struct goalrec *qp;
+static struct goalrec*
+enqueue_resumed_goals(qp)
+  struct goalrec* qp;
 {
   declare_globals;
-  struct goalrec *rsmg = resumed_goals;
-  if (rsmg != 0) {
-    struct goalrec *newqp = rsmg->next;
+  struct goalrec* rsmg = resumed_goals;
+  if( rsmg != NULL ){
+    struct goalrec* newqp = rsmg->next;
     rsmg->next = qp;
     qp = newqp;
-    resumed_goals = 0;
-    if (interrupt_off) heaplimit = real_heaplimit;
+    resumed_goals = NULL;
+    if( interrupt_off ) heaplimit = real_heaplimit;
   }
   return qp;
 }
 
-q *klic_interrupt(allocp, qp)
-     q *allocp;
-     struct goalrec *qp;
+extern q*
+klic_interrupt(allocp, qp)
+  q* allocp;
+  struct goalrec* qp;
 {
   declare_globals;
   long retry;
-  extern q *klic_signal_handler();
 
   qp = enqueue_resumed_goals(qp);
 
 #ifdef DEBUGLIB
-  {
-    extern int stepping_flag;
-    extern struct goalrec* step_after();
-    if (stepping_flag) {
-      qp = step_after(qp, allocp);
-      allocp = heapp;
-    } else if (trace_flag) {
-      qp = trace_after(qp, allocp);
-      allocp = heapp;
-    }
+  if( stepping_flag ){
+    qp = step_after(qp, allocp);
+    allocp = heapp;
+  }else if( trace_flag ){
+    qp = trace_after(qp, allocp);
+    allocp = heapp;
   }
 #endif
 
-  do {
+  do{
     retry = 0;
 
     /* signal handling */
 #ifdef USESIG
-    if (!signal_done) {
+    if( !signal_done ){
       allocp = klic_signal_handler(allocp);
       retry = (allocp + this_more_space >= real_heaplimit);
       /* some goals may have been resumed by the signal handler */
@@ -79,21 +93,21 @@
 #endif
 #if defined(DIST) && defined(USE_REDUCTION_COUNT)
     {
-	int again = receive_message(allocp, 0);
-	if (again == 0)
-	    heaplimit = real_heaplimit;
-	allocp = heapp;
-	retry = (allocp + this_more_space >= real_heaplimit);
-     /* some goals may have been resumed by the message reception */
-     qp = enqueue_resumed_goals(qp);
+      int again = receive_message(allocp, 0);
+      if( again == 0 )
+	heaplimit = real_heaplimit;
+      allocp = heapp;
+      retry = (allocp + this_more_space >= real_heaplimit);
+      /* some goals may have been resumed by the message reception */
+      qp = enqueue_resumed_goals(qp);
     }
 #endif
-    if (sigint_interrupt) {
+    if( sigint_interrupt ){
       fatal("Execution aborted by SIGINT");
     }
 
 #ifdef SHM
-    while( (volatile int) ext_queued ) {
+    while( (volatile int) ext_queued ){
       *cur_status = 1;
       ext_queued = 0;
       klic_barrier();
@@ -105,21 +119,19 @@
 #endif
 
     /* priority support */
-    if (higher_priority_goal) {
+    if( higher_priority_goal ){
       higher_priority_goal = 0;
       put_priority_queue(qp, current_prio);
       qp = get_top_priority_queue();
-      if (interrupt_off) heaplimit = real_heaplimit;
+      if( interrupt_off ) heaplimit = real_heaplimit;
     }
 
 #ifdef SHM
-    if (ck_shm_gc() || allocp + this_more_space >= real_heaplimit) {
-      extern struct goalrec *klic_gc();
+    if( ck_shm_gc() || allocp + this_more_space >= real_heaplimit ){
       *cur_status = 3;
     /* ck_shm_gc will call another GC */
 #else
-    if (allocp + this_more_space >= real_heaplimit) {
-      extern struct goalrec *klic_gc();
+    if( allocp + this_more_space >= real_heaplimit ){
 #endif
       GC_ON();
       qp = klic_gc(qp);
@@ -130,7 +142,7 @@
 
       allocp = heapp;
     }
-  } while (retry);
+  }while( retry );
 
   current_queue = qp;
   return allocp;
diff -ruN klic-3.003-2002-01-07/runtime/io.kl1 klic-3.003-2002-01-07a/runtime/io.kl1
--- klic-3.003-2002-01-07/runtime/io.kl1	Fri Dec 28 13:46:47 2001
+++ klic-3.003-2002-01-07a/runtime/io.kl1	Mon Jan  7 14:05:48 2002
@@ -8,25 +8,31 @@
 #include <stdio.h>
 #include \"gobj.h\"
 #include \"g_pointer.h\"
+
 #ifdef DIST
 #include <klic/distio.h>
 #endif
+
 extern q gd_new_pointer();
+extern unsigned char* generic_string_body();
+extern unsigned long generic_string_size();
+
 #define file_pointer(x) \\
-  ((FILE*)((struct pointer_object *)(data_objectp(x)))->pointer)
+  ((FILE*) ((struct pointer_object*) data_objectp(x))->pointer)
 
 struct byte_string_object;
-static FILE *open_named_file(str, mode)
-     struct byte_string_object *str;
-     char *mode;
+
+static FILE*
+open_named_file(str, mode)
+  struct byte_string_object* str;
+  char* mode;
 {
-  extern unsigned char *generic_string_body();
-  extern unsigned long generic_string_size();
   char buf[1024];
-  (void)strncpy(buf,generic_string_body(str),generic_string_size(str));
+  strncpy(buf, generic_string_body(str), generic_string_size(str));
   buf[generic_string_size(str)] = '\\0';
-  return fopen(buf,mode);
-}".
+  return fopen(buf, mode);
+}
+".
 
 :- module io.
 
@@ -34,10 +40,10 @@
     generic:string(Path):_:_,
     inline:"
 {
-  FILE *file =
-    open_named_file((struct byte_string_object *)functorp(%0), \"w\");
-  if (file==NULL) goto %f;
-  %1 = gd_new_pointer((q)file,allocp);
+  FILE* file =
+    open_named_file((struct byte_string_object*) functorp(%0), \"w\");
+  if( file==NULL ) goto %f;
+  %1 = gd_new_pointer((q) file, allocp);
   allocp = heapp;
 }":[Path+functor,File-any] |
     S=normal(Out), out(Out,File).
@@ -48,22 +54,22 @@
 
 outstream(S) :- inline:"
 {
-  %0 = gd_new_pointer((q)stdout,allocp);
+  %0 = gd_new_pointer((q) stdout, allocp);
   allocp = heapp;
 }":[File-any] |
     out(S,File).
 
 out([],File) :- inline:"
 {
-  FILE *f = file_pointer(%0);
-  if (f!=stdout && f!=stderr) (void)fclose(f);
+  FILE* f = file_pointer(%0);
+  if( f != stdout && f != stderr ) fclose(f);
 }":[File+bound] | true.
 out([putc(X)|Rest],File) :-
     inline:"klic_putc(intval(%1), file_pointer(%0));":[File+bound,X+int] |
     out(Rest,File).
 out([nl|Rest],File) :- out([putc(10)|Rest],File).
 out([flush|Rest],File) :-
-    inline:"(void)fflush(file_pointer(%0));":[File+bound] |
+    inline:"fflush(file_pointer(%0));":[File+bound] |
     out(Rest,File).
 out([print(X0)|Rest],File) :- functor(X0,_,A) |
     waitAll(1,A,X0,X0,X),
@@ -76,7 +82,7 @@
     X=0, out(Rest,File).
 
 wait_and_print(X,File,S0,S) :-
-    inline:"fprint(file_pointer(%0),%1);":[File+bound,X+bound] |
+    inline:"fprint(file_pointer(%0), %1);":[File+bound,X+bound] |
     S=S0.
 
 waitAll(A0,A,_,X0,X) :- A0>A | X=X0.
@@ -89,10 +95,10 @@
     generic:string(Path):_:_,
     inline:"
 {
-  FILE *file =
-    open_named_file((struct byte_string_object *)functorp(%0), \"r\");
-  if (file==NULL) goto %f;
-  %1 = gd_new_pointer((q)file,allocp);
+  FILE* file =
+    open_named_file((struct byte_string_object*) functorp(%0), \"r\");
+  if( file==NULL ) goto %f;
+  %1 = gd_new_pointer((q) file, allocp);
   allocp = heapp;
 }":[Path+functor,File-any] |
     S=normal(In), in(In,File).
@@ -103,7 +109,7 @@
 
 instream(S) :- inline:"
 {
-  %0 = gd_new_pointer((q)stdin,allocp);
+  %0 = gd_new_pointer((q) stdin, allocp);
   allocp = heapp;
 }
 ":[File-any] |
@@ -111,8 +117,8 @@
 
 in([],File) :- inline:"
 {
-  FILE *f = file_pointer(%0);
-  if (f!=stdin) (void)fclose(f);
+  FILE* f = file_pointer(%0);
+  if( f != stdin ) fclose(f);
 }":[File+bound] | true.
 in([getc(X)|Rest],File) :-
     inline:"%1 = makeint(getc(file_pointer(%0)));":[File+bound,W-int] |
@@ -130,7 +136,7 @@
 
 errstream(S) :- inline:"
 {
-  %0 = gd_new_pointer((q)stderr,allocp);
+  %0 = gd_new_pointer((q) stderr, allocp);
   allocp = heapp;
 }":[File-any] |
     out(S,File).
diff -ruN klic-3.003-2002-01-07/runtime/itimer.kl1 klic-3.003-2002-01-07a/runtime/itimer.kl1
--- klic-3.003-2002-01-07/runtime/itimer.kl1	Fri Dec 28 13:46:47 2001
+++ klic-3.003-2002-01-07a/runtime/itimer.kl1	Mon Jan  7 14:05:48 2002
@@ -8,37 +8,39 @@
 :- inline:"
 #include <sys/time.h>
 #include \"timer.h\"
-#define Twotime2time(X,Y) (((X) * 86400 + (Y)))
 
-extern q *reserve_klic_timer_interrupt();
+#define SEC_DAY  (24L * 60L * 60L)
+#define Twotime2time(X,Y) (((X) * SEC_DAY + (Y)))
+
+#ifdef USETIMER
+extern q* reserve_klic_timer_interrupt();
+#endif
 ".
 
 :- module timer.
 
-add(time(Day0,Sec0,Usec0),time(Day1,Sec1,Usec1),Time) :-
-	inline:"
+add(time(Day0,Sec0,Usec0),time(Day1,Sec1,Usec1),Time) :- inline:"
 {
   struct timeval time0, time1;
-  TimeSet(time0,Twotime2time(intval(%0),intval(%1)), intval(%2));
-  TimeSet(time1,Twotime2time(intval(%3),intval(%4)), intval(%5));
-  TimeAdd(time0,time1,time0);
-  %6=makeint((unsigned long)time0.tv_sec / 86400L);
-  %7=makeint((unsigned long)time0.tv_sec %% 86400L);
-  %8=makeint(time0.tv_usec);
+  TimeSet(time0, Twotime2time(intval(%0), intval(%1)), intval(%2));
+  TimeSet(time1, Twotime2time(intval(%3), intval(%4)), intval(%5));
+  TimeAdd(time0, time1, time0);
+  %6 = makeint((unsigned long)time0.tv_sec / SEC_DAY);
+  %7 = makeint((unsigned long)time0.tv_sec %% SEC_DAY);
+  %8 = makeint(time0.tv_usec);
 }":[Day0+int,Sec0+int,Usec0+int,
     Day1+int,Sec1+int,Usec1+int,Day-int,Sec-int,Usec-int] |
     Time=time(Day,Sec,Usec).
 
-sub(time(Day0,Sec0,Usec0),time(Day1,Sec1,Usec1),Time) :-
-	inline:"
+sub(time(Day0,Sec0,Usec0),time(Day1,Sec1,Usec1),Time) :- inline:"
 {
   struct timeval time0, time1;
-  TimeSet(time0,Twotime2time(intval(%0),intval(%1)), intval(%2));
-  TimeSet(time1,Twotime2time(intval(%3),intval(%4)), intval(%5));
-  TimeSub(time0,time1,time0);
-  %6=makeint((unsigned long)time0.tv_sec / 86400);
-  %7=makeint((unsigned long)time0.tv_sec %% 86400);
-  %8=makeint(time0.tv_usec);
+  TimeSet(time0, Twotime2time(intval(%0), intval(%1)), intval(%2));
+  TimeSet(time1, Twotime2time(intval(%3), intval(%4)), intval(%5));
+  TimeSub(time0, time1, time0);
+  %6 = makeint((unsigned long)time0.tv_sec / SEC_DAY);
+  %7 = makeint((unsigned long)time0.tv_sec %% SEC_DAY);
+  %8 = makeint(time0.tv_usec);
 }":[Day0+int,Sec0+int,Usec0+int,
     Day1+int,Sec1+int,Usec1+int,Day-int,Sec-int,Usec-int] |
     Time=time(Day,Sec,Usec).
@@ -58,14 +60,13 @@
 compare(time(Day0,Sec0,Usec0),time(Day1,Sec1,Usec1),Result) :-
     Day0=:=Day1, Sec0=:=Sec1, Usec0>Usec1 | Result=(>).
 
-get_time_of_day(Time) :-
-	inline:"
+get_time_of_day(Time) :- inline:"
 {
   struct timeval now;
 #ifdef USETIMER
   klic_gettod(&now);
-  %0 = makeint((unsigned)now.tv_sec / 86400);
-  %1 = makeint((unsigned)now.tv_sec %% 86400);
+  %0 = makeint((unsigned)now.tv_sec / SEC_DAY);
+  %1 = makeint((unsigned)now.tv_sec %% SEC_DAY);
   %2 = makeint(now.tv_usec);
 #else
   %0 = 0;
@@ -76,7 +77,7 @@
     Time=time(Day,Sec,Usec).
 
 instantiate_at(time(Day,Sec,Usec),X) :-
-	Day>=0, Sec>=0, Sec<86400, Usec>=0, Usec<1000000,
+	0=<Day, 0=<Sec, Sec<86400, 0=<Usec, Usec<1000000,
 	inline:"
 {
 #ifdef USETIMER
@@ -92,7 +93,7 @@
     Sec:=Sec mod 86400,
     instantiate_after(time(Day,Sec,Usec),Stop,L).
 instantiate_after(time(Day,Sec,Usec),X) :-
-	Day>=0, Sec>=0, Sec<86400, Usec>=0, Usec<1000000,
+	0=<Day, 0=<Sec, Sec<86400, 0=<Usec, Usec<1000000,
 	inline:"
 {
 #ifdef USETIMER
@@ -110,7 +111,7 @@
     instantiate_every(time(Day,Sec,Usec),Stop,L).
 instantiate_every(Interval,Stop,L) :-
 	Interval=time(Day,Sec,Usec),
-	Day>=0, Sec>=0, Sec<86400, Usec>=0, Usec<1000000 |
+	0=<Day, 0=<Sec, Sec<86400, 0=<Usec, Usec<1000000 |
     get_time_of_day(Now),
     timer:add(Now, Interval,At),
     instantiate_at(At,X),
diff -ruN klic-3.003-2002-01-07/runtime/sendrecv.c klic-3.003-2002-01-07a/runtime/sendrecv.c
--- klic-3.003-2002-01-07/runtime/sendrecv.c	Sun Jan  6 11:59:58 2002
+++ klic-3.003-2002-01-07a/runtime/sendrecv.c	Mon Jan  7 14:47:56 2002
@@ -17,6 +17,17 @@
 #include "interpe.h"
 #include "rmon.h"
 
+/* if defined, optional eager requesting is activated. */
+/* #define REQUEST_WTC_THRESHOLD	0x3L */
+
+#define NODE_WTC_LIMIT		0x10000000L
+#define RETURN_WTC_UNIT		0x08000000L
+
+/* one for wtc_request, another for node existence */
+#define MIN_WTC			2L
+
+#define INIT_DECODE_STACK_SIZE 0x1000
+
 #define SEND_ON()  (perfmon_state.ms_on = 1)
 #define SEND_OFF() (perfmon_state.ms_on = 0)
 #define RECV_ON()  (perfmon_state.mr_on = 1)
@@ -34,6 +45,11 @@
 static void check_decode_stack(void);
 
 static int requesting_wtc = 0;
+
+static q* decode_stack;
+static q* decode_stack_ptr;
+static q* decode_stack_limit;
+static int decode_stack_size;
 
 /*
   Basic routine for sending/suspending/receiving message
