diff -ruN klic-3.003-2002-03-20/ChangeLog klic-3.003-2002-03-21/ChangeLog --- klic-3.003-2002-03-20/ChangeLog Sat Feb 16 10:44:20 2002 +++ klic-3.003-2002-03-21/ChangeLog Thu Mar 21 20:01:25 2002 @@ -1,3 +1,156 @@ +2002-03-20 TAKAGI Yusuke + + * runtime/random.c: change random_numbers to consumer object. + +2002-03-19 TAKAGI Yusuke + + * remove shared memory implementation (SHM). + +2002-03-16 TAKAGI Yusuke + + * compiler/{generate.kl1, normalize.kl1}: + change gen_code/14 to gen_code/6. + +2002-03-15 TAKAGI Yusuke + + * {compiler, runtime}/*.kl1: comments. + +2002-03-12 TAKAGI Yusuke + + * compiler/{obj.kl1, write.kl1}, + include/klic/{control.h, g_vector.h, gb.h, gd_methtab.h, generic.h}, + runtime/{asyncio.h, cntlmsg.c, config/pvm-tcp/distpkt.c, + datamsg.c, ge_exref.c, generic.c, gfloat.c, gg_shvar.c, + ggoal.c, gmvv.c, gstring.c, intrpt.c, itimer.kl1, kmain.c, + ktimer.c, profile.c, sched.c, sendrecv.c, shm.h, shm_obj.c, + signal.c, step.c, step.h, trace.c, trace.h, unify.c}: + not to pass allocp to some functions. + +2002-03-11 TAKAGI Yusuke + + * include/klic/{g_basic.h, g_methtab.h, gc_macro.h, + gc_methtab.h, gd_macro.h, gg_macro.h, gg_methtab.h}, + runtime/{gcode.c, ge_exref.c, ge_readhook.c, + ge_replyhook.c, generic.c, gfloat.c, gg_shbusy.c, gg_shvar.c, + ggoal.c, gio.c, gmerge.c, gmodule.c, gmvv.c, gpointer.c, + gstring.c, gtermarray.c, random.c, unify.c, wakeup.c}: + generator_unify returns success or fail, not g_allocp. + +2002-03-09 TAKAGI Yusuke + + * include/klic/{g_methtab.h, gc_macro.h, gd_macro.h, gg_macro.h}, + runtime/{faisus.c, gcode.c, ge_exref.c, ge_readhook.c, + ge_replyhook.c, generic.c, gfloat.c, gg_shbusy.c, gg_shvar.c, + ggoal.c, gio.c, gmerge.c, gmodule.c, gmvv.c, gobj.h, gpointer.c, + gstring.c, gtermarray.c, random.c, unify.c, uterms.kl1, wakeup.c}: + not to pass g_allocp to some generic methods. + +2002-03-08 TAKAGI Yusuke + + * Configure, MANIFEST, include/klic/{susp.h, unify.h}, + runtime/{Makefile.head, Makefile.tail, asyncio.c, cntlmsg.c, + config/???/*.mk.sh, faisus.c, generic.c, gg_shbusy.c, gg_shvar.c, + ktimer.c, shm_obj.c, signal.c, step.c, unify.c}: + not to pass allocp to some functions. + +2002-03-05 TAKAGI Yusuke + + * include/klic/{g_basic.h, g_extern.h, + g_methtab.h, gc_macro.h, gd_macro.h, gg_macro.h}, + runtime/{export_table.c, gc.c, gcode.c, ge_exref.c, + ge_readhook.c, ge_replyhook.c, generic.c, gfloat.c, + ggoal.c, gio.c, gmerge.c, gmodule.c, gmvv.c, gpointer.c, + gstring.c, gtermarray.c, random.c, sendrecv.c, wakeup.c}: + not to pass sp to functions. + +2002-03-04 TAKAGI Yusuke + + * Configure, include/klic/alloc.h, + runtime/{Makefile.tail, alloc.c, cntlmsg.c, config/???/runtime.mk.sh, + datamsg.c, debug.c, export_table.c, faisus.c, gc.c, intrpt.c, + kmain.c, print.c, sched.c, shm_throw.c, unify.c}: + remove DEBUGLIB. + new function klic_alloc. + +2002-03-02 TAKAGI Yusuke + + * runtime/config/*/*: clean. + +2002-02-26 TAKAGI Yusuke + + * include/klic/struct.h, + runtime/{asyncio.c, bb.c, cmphsh.c, cntlmsg.c, + config/pvm/distproc.h, config/pvm-tcp/distpkt.c, faisus.c, + ge_exref.c, ge_exref.h, intrpt.c, kmain.c, sched.c, unify.c}: + change some globals to static. + +2002-02-25 TAKAGI Yusuke + + * include/klic/{alloc.h, control.h, g_basic.h, gb.h, + gc_macro.h, gd_macro.h, gg_macro.h, sighndl.h, struct.h}, + runtime/{alloc.c, asyncio.c, asyncio.h, bodyblt.kl1, cntlmsg.c, + config/pvm-tcp/distpkt.c, datamsg.c, debug.c, export_table.c, faisus.c, + gc.c, ge_exref.c, generic.c, gg_shvar.c, gio.c, gmvv.c, gstring.c, + gunix.kl1, intrpt.c, kmain.c, random.c, sched.c, sendrecv.c, shm_gc.c, + shm_obj.c, shm_throw.c, signal.c, step.c, sysc.kl1, trace.c, unify.c}: + change some members of global_variables to static. + +2002-02-24 TAKAGI Yusuke + + * include/klic/{control.h, g_methtab.h, gc_macro.h, gc_methtab.h, + gd_macro.h, gd_methtab.h, gg_macro.h, gg_methtab.h}, + runtime/{gcode.c, ge_exref.c, ge_readhook.c, ge_replyhook.c, + generic.c, gfloat.c, ggoal.c, gio.c, gmerge.c, gmodule.c, gmvv.c, + gpointer.c, gstring.c, gtermarray.c, shm_obj.c, wakeup.c}: + assert heapp. + +2002-02-22 TAKAGI Yusuke + + * include/klic/{bb.h, g_basic.h, + gc_macro.h, gd_macro.h, gg_macro.h, unify.h}, + runtime/{*.kl1, asyncio.c, gcode.c, generic.c, gfloat.c, + gmerge.c, gmvv.c, gpointer.c, gstring.c, gtermarray.c}: + public declarations. + +2002-02-20 TAKAGI Yusuke + + * compiler/obj.kl1, + include/klic/{g_basic.h, gc.macro.h, gd_macro.h, + gg_macro.h, index.h, sighndl.h, struct.h}, + runtime/{gc.c, generic.c, gobj.h, gunix.kl1, + intrpt.c, kmain.c, signal.c, unify.c}: + remove unused code. + +2002-02-19 TAKAGI Yusuke + + * include/klic/{alloc.h, struct.h}, + runtime/{alloc.c, asyncio.c, export_table.c, gc.c, kmain.c, ktimer.c, + print.c, random.c, sendrecv.c, signal.c, sysc.kl1, var.kl1}: + not to pass globals to GCing functions. + +2002-02-18 TAKAGI Yusuke + + * compiler/write.kl1, + include/klic/{alloc.h, control.h, g_basic.h, g_extern.h, + g_methtab.h, gb.h, gc_macro.h, gc_methtab.h, gd_macro.h, + gd_methtab.h, gg_macro.h, gg_methtab.h}, + runtime/{alloc.c, config/*/distpkt.c, export_table.c, + faisus.c, gc.c, generic.c, gmvv.c, gstring.c, + import_table.c, intrpt.c, kmain.c, ktimer.c, otbl.c, + print.c, sched.c, sendrecv.c, step.c, step.h, unify.c}: + not to pass allocp to some functions. + +2002-02-16 TAKAGI Yusuke + + * include/Makefile.tail, include/klic/{control.h, gb.h, + gc_macro.h, gd_macro.h, generic.h, gg_macro.h, struct.h}, + runtime/{alloc.c, asyncio.c, config/*/distpkt.c, + expoprt_table.c, faisus.c, gc.c, ge_exref.c, gen.kl1, generic.c, + gfloat.c, gg_shvar.c, ggoal.c, gio.c, gunix.kl1, intrpt.c, + io.kl1, kmain.c, ktimer.c, profile.c, random.c, sched.c, + sendrecv.c, shm_obj.c, signal.c, step.c, trace.c, unify.c}: + change heapp from macro to functions. + 2002-02-08 TAKAGI Yusuke * compiler/klicdb.c, diff -ruN klic-3.003-2002-03-20/include/klic/g_basic.h klic-3.003-2002-03-21/include/klic/g_basic.h --- klic-3.003-2002-03-20/include/klic/g_basic.h Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/include/klic/g_basic.h Thu Mar 21 21:58:37 2002 @@ -58,6 +58,63 @@ #define G_CLASS_NAME_STRING G_stringify(CLASS_NAME) +#define G_ERROR_IN_NEW(errmsg) \ + G_error((errmsg), "creation", "", G_CLASS_NAME_STRING) + +#define G_RETURN_FROM_PRINT() do{ return 1L; }while(0) + +#define G_RETURN_FROM_GC(newgobj) do{ return (q*) (newgobj); }while(0) + +#define G_UNIFY_VALUE(x, y) \ +do{ \ + if( isref(x) && derefone(x) == (x) ){ \ + derefone(x) = (y); \ + }else{ \ + do_shallow_unify_value((x), (y)); \ + } \ +}while(0) + +#define G_SWITCH_ON_TERM(cons,atomic,funct,dobj,susp) \ +do{ \ + for(;;){ \ + q _temp; \ + switch( ptagof(g_term) ){ \ + case ATOMIC: goto atomic; \ + case CONS: goto cons; \ + case FUNCTOR: \ + if( isref(functor_of(g_term)) ) goto dobj; \ + goto funct; \ + case VARREF: \ + _temp = derefone(g_term); \ + if( isref(_temp) && g_term == derefone(_temp) ) goto susp; \ + g_term = _temp; \ + continue; \ + } \ + } \ +}while(0) + +#define G_DEF_NEW() extern q G_rappend(new) (long g_argc, q* g_argv) + +#define G_STD_DECL_FOR_NEW() \ + G_STD_DECL; \ + q (*g_myself)() = G_rappend(new) + +#define G_DEREF_FOR_NEW(x) \ +do{ \ + while( isref(x) ){ \ + q _temp = derefone(x); \ + if( isref(_temp) && (x) == derefone(_temp) ){ \ + q _var; \ + struct goalrec* _goal; \ + G_MAKE_THE_NEW_GOAL(&_var, &_goal, g_myself, g_argc, g_argv); \ + G_SUSPEND((x), _goal); \ + return _var; \ + }else{ \ + (x) = _temp; \ + } \ + } \ +}while(0) + /** G_HEAPALLOC: procedure * from: type& @@ -139,12 +196,18 @@ /* deta flag for Object Table */ enum g_type { G_DATA, G_CONSUMER, G_GENERATOR }; -/* - external functions -*/ + +/* external functions */ + /* runtime/generic.c */ + extern NeverReturn void G_error(char* errmsg, char* where, char* object_kind, char* class); + +extern void +G_MAKE_THE_NEW_GOAL(q* var, struct goalrec** goalp1, + q (*myself)(), unsigned long argc, q* argv ); + #endif /* _KLIC_G_BASIC_H_ */ diff -ruN klic-3.003-2002-03-20/include/klic/gc_macro.h klic-3.003-2002-03-21/include/klic/gc_macro.h --- klic-3.003-2002-03-20/include/klic/gc_macro.h Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/include/klic/gc_macro.h Thu Mar 21 21:57:07 2002 @@ -12,8 +12,6 @@ #include /* fatal, debug_printf, klic_fprintf, klic_putc */ #include -extern q GC_wakeup_g_new(); - /* runtime/unify.c */ extern void do_shallow_unify(q x, q y); extern void do_shallow_unify_value(q x, q y); @@ -21,16 +19,8 @@ /* runtime/generic.c */ extern void G_SUSPEND(q x, struct goalrec* goal); -extern void G_MAKE_THE_NEW_GOAL( - q* var, struct goalrec** goalp1, q(*myself)(), - unsigned long argc, q argv[] ); - -/* runtime/generic.c */ extern q GC_MAKE_HOOK_VAR(struct consumer_object* obj); -#define GC_ERROR_IN_NEW(errmsg) \ - G_error((errmsg), "creation", "consumer", G_CLASS_NAME_STRING) - #define GC_RETURN_WITH_HOOK(x) \ do{ \ set_rest_of_stream(x); \ @@ -43,45 +33,6 @@ return; \ }while(0) -#define GC_SUSPEND(var) \ -do{ \ - q newvar, tmp; \ - q argv[2]; \ - G_MAKE_VAR(newvar); \ - set_rest_of_stream(newvar); \ - argv[0] = GC_TERM; \ - argv[1] = newvar; \ - tmp = GC_wakeup_g_new(2, argv); \ - GC_KL1_UNIFY((var), tmp); \ - return heapp(); \ -}while(0) - -/**************************************************/ - -#define GC_SWITCH_ON_TERM(cons,atomic,funct,dobj,susp) \ -do{ \ - while (1) { \ - if (!isstruct(GC_TERM)) { \ - if (atomicnotref(GC_TERM)) { \ - goto atomic; \ - } else { \ - q temp0 = derefone(GC_TERM); \ - if(isref(temp0) && (GC_TERM) == derefone(temp0)) { \ - goto susp; \ - } else { \ - (GC_TERM) = temp0; \ - } \ - } \ - } else if(functnotcons(GC_TERM)) {\ - if(isref(functor_of(GC_TERM))) { \ - goto dobj; \ - } else {\ - goto funct; \ - } \ - } else goto cons; \ - } \ -}while(0) - /***************************************************************************/ #define GC_TRY_TO_ALLOC(new, type, size, gc_request) \ @@ -91,57 +42,8 @@ if (res == GENERIC_GCREQUEST) goto gc_request; \ }while(0) - -#define GC_UNIFY(x,y) \ - (do_shallow_unify((x), (y))) - -#define GC_UNIFY_VALUE(x, y) \ -do{ \ - if (!isref(x) || derefone(x) != (x)) { \ - do_shallow_unify_value((x), (y)); \ - } else { \ - derefone(x) = (y); \ - } \ -}while(0) - /**************************************************************************/ -#define GCset_myself_for_new \ - q (*g_myself)() = G_rappend(new) - -#define GC_STD_DECL_FOR_NEW \ - G_STD_DECL; \ - GCset_myself_for_new - - -#define GCDEF_NEW() \ -extern q G_rappend(new) (long GC_ARGC, q* GC_ARGV) - -#define GC_DEREF_FOR_NEW(x) \ -do{ \ - while (1) { \ - if (!isstruct(x)) { \ - if (atomicnotref(x)) { \ - break; \ - } else { \ - q temp0 = derefone(x); \ - if(isref(temp0) && (x) == derefone(temp0)) { \ - q var; \ - struct goalrec *goal; \ - G_MAKE_THE_NEW_GOAL(&var, &goal, g_myself, GC_ARGC, GC_ARGV); \ - G_SUSPEND((x), goal); \ - GC_RETURN_FROM_NEW(var); \ - } else { \ - (x) = temp0; \ - } \ - } \ - } else { \ - break; \ - } \ - } \ -}while(0) - - #define GCSET_NEWOBJ_FOR_NEW(newgobj,size) \ do{ \ q res; \ @@ -149,28 +51,21 @@ if(res == GENERIC_GCREQUEST){ \ q var; \ struct goalrec *goal; \ - G_MAKE_THE_NEW_GOAL(&var, &goal, g_myself, GC_ARGC, GC_ARGV); \ + G_MAKE_THE_NEW_GOAL(&var, &goal, g_myself, g_argc, g_argv); \ G_PUSH_GOAL_TO_SPECIAL_QUEUE(goal); \ - GC_RETURN_FROM_NEW(var); \ + return var; \ } \ (newgobj)->method_table = &G_method_table; \ }while(0) -#define GC_RETURN_FROM_NEW(x) \ -do{ \ - return (x); \ -}while(0) - /**********************************************************************/ #define GCDEF_UNIFY() \ -static void G_rappend(active_unify) (GC_OBJ_TYPE* GC_SELF, q GC_TERM) +static void G_rappend(active_unify) (GC_OBJ_TYPE* GC_SELF, q g_term) #define GC_PRINT(x) klic_fprintf(g_fp, (x)) -#define GC_RETURN_FROM_PRINT do{ return 1L; }while(0) - #define GCDEF_PRINT() \ static \ long \ @@ -193,11 +88,6 @@ if(heapp() > real_heaplimit()) fatal("not enough space collected"); \ }while(0) -#define GC_RETURN_FROM_GC(newgobj) \ -do{ \ - return (q *) (newgobj); \ -}while(0) - #define GCDEF_DEALLOCATE() \ static void \ G_rappend(deallocate) (GC_SELF) \ @@ -207,13 +97,13 @@ #define GCSET_MESSAGE(message) \ do{ \ - (message) = G_CAR_OF(GC_TERM); \ + (message) = G_CAR_OF(g_term); \ while (G_ISREF(message)) { \ q temp = G_DEREFONE(message); \ if (G_ISREF(temp) && \ (temp == (message) || G_DEREFONE(temp) == (message))) { \ reason = (message); \ - GC_SELF->stream = GC_TERM; \ + GC_SELF->stream = g_term; \ goto suspend; \ } else { \ (message) = temp; \ @@ -229,7 +119,7 @@ q temp1 = G_DEREFONE(temp); \ if (G_ISREF(temp1) && G_DEREFONE(temp1) == temp) { \ reason = temp1; \ - GC_SELF->stream = GC_TERM; \ + GC_SELF->stream = g_term; \ goto suspend; \ } \ temp = temp1; \ @@ -251,7 +141,7 @@ q temp1 = G_DEREFONE(temp); \ if (G_ISREF(temp1) && G_DEREFONE(temp1) == temp) { \ reason = temp1; \ - GC_SELF->stream = GC_TERM; \ + GC_SELF->stream = g_term; \ goto suspend; \ } \ temp = temp1; \ diff -ruN klic-3.003-2002-03-20/include/klic/gd_macro.h klic-3.003-2002-03-21/include/klic/gd_macro.h --- klic-3.003-2002-03-20/include/klic/gd_macro.h Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/include/klic/gd_macro.h Thu Mar 21 21:58:58 2002 @@ -27,10 +27,6 @@ struct goalrec** goalp1, q var, unsigned long method_functor, q argv[] ); -extern void G_MAKE_THE_NEW_GOAL( - q* var, struct goalrec** goalp1, q(*myself)(), - unsigned long argc, q argv[] ); - extern void G_SUSPEND(q x, struct goalrec* goal); @@ -44,8 +40,6 @@ #define GD_UNIFY_FAIL \ G_error("Failure", "active unification", "data", G_CLASS_NAME_STRING) -#define GD_ERROR_IN_NEW(errmsg) \ - G_error((errmsg), "creation", "data", G_CLASS_NAME_STRING) #define GD_ERROR_IN_METHOD(errmsg, methodname) \ G_error((errmsg), (methodname), "data", G_CLASS_NAME_STRING) @@ -63,7 +57,7 @@ if(res == GENERIC_GCREQUEST){ \ struct goalrec *goal; \ GD_MAKE_GENERIC_GOAL(&goal, makefunctor(GD_SELF), g_method_functor, \ - GD_ARGV); \ + g_argv ); \ G_PUSH_GOAL(goal); \ return; \ } \ @@ -76,9 +70,9 @@ if(res == GENERIC_GCREQUEST){ \ q var; \ struct goalrec *goal; \ - G_MAKE_THE_NEW_GOAL(&var, &goal, g_myself, GD_ARGC, GD_ARGV); \ + G_MAKE_THE_NEW_GOAL(&var, &goal, g_myself, g_argc, g_argv); \ G_PUSH_GOAL_TO_SPECIAL_QUEUE(goal); \ - GD_SUSPEND_NEW(var); \ + return var; \ } \ }while(0) @@ -91,9 +85,9 @@ if(res == GENERIC_GCREQUEST){ \ q var; \ struct goalrec *goal; \ - G_MAKE_THE_NEW_GOAL(&var, &goal, g_myself, GD_ARGC, GD_ARGV); \ + G_MAKE_THE_NEW_GOAL(&var, &goal, g_myself, g_argc, g_argv); \ G_PUSH_GOAL_TO_SPECIAL_QUEUE(goal); \ - GD_SUSPEND_NEW(var); \ + return var; \ } \ (newgobj)->method_table = &G_method_table; \ }while(0) @@ -106,7 +100,7 @@ if (res == GENERIC_GCREQUEST) { \ struct goalrec *goal; \ GD_MAKE_GENERIC_GOAL(&goal, makefunctor(GD_SELF), \ - g_method_functor, GD_ARGV ); \ + g_method_functor, g_argv ); \ G_PUSH_GOAL(goal); \ return; \ } \ @@ -153,7 +147,7 @@ if(isref(temp0) && (x) == derefone(temp0)) { \ struct goalrec *goal; \ GD_MAKE_GENERIC_GOAL(&goal, makefunctor(GD_SELF), \ - g_method_functor, GD_ARGV ); \ + g_method_functor, g_argv ); \ G_SUSPEND((x), goal); \ return; \ } else { \ @@ -166,71 +160,16 @@ } \ }while(0) - - -#define GD_DEREF_FOR_NEW(x) \ -do{ \ - while (1) { \ - if (!isstruct(x)) { \ - if (atomicnotref(x)) { \ - break; \ - } else { \ - q temp0 = derefone(x); \ - if(isref(temp0) && (x) == derefone(temp0)) { \ - q var; \ - struct goalrec *goal; \ - G_MAKE_THE_NEW_GOAL(&var, &goal, g_myself, GD_ARGC, GD_ARGV); \ - G_SUSPEND((x), goal); \ - GD_SUSPEND_NEW(var); \ - } else { \ - (x) = temp0; \ - } \ - } \ - } else { \ - break; \ - } \ - } \ -}while(0) - - /**************************************************************************/ -#define GDDEF_NEW() \ -extern q G_rappend(new) (long GD_ARGC, q* GD_ARGV) - -#define GD_SUSPEND_NEW(v) \ -do{ \ - return (v); \ -}while(0) #define GD_RETURN_FROM_NEW(x) \ do{ \ return makefunctor(x); \ }while(0) -#define GD_STD_DECL_FOR_NEW \ - G_STD_DECL; \ - GDset_myself_for_new - -#define GDset_myself_for_new \ - q (*g_myself)() = G_rappend(new) - /**************************************************************************/ #define GD_GUNIFY(x,y) eq_terms_body(x,y) -#define GD_UNIFY(x,y) \ -do{ \ - do_shallow_unify((x), (y)); \ -}while(0) - -#define GD_UNIFY_VALUE(x,y) \ -do{ \ - if (!isref(x) || derefone(x) != (x)) { \ - do_shallow_unify_value((x), (y)); \ - } else { \ - derefone(x) = (y); \ - } \ -}while(0) - /****************************************************/ #define GD_SWITCH_ON_METHOD switch(g_method_functor) #define GD_SWITCH_ON_ARITY switch (arities (g_method_functor)) @@ -240,7 +179,7 @@ #define GD_METHOD_CASE(fa) \ case (long) G_functor(fa): \ - GD_body(fa) (GD_SELF, g_method_functor, GD_ARGV); \ + GD_body(fa) (GD_SELF, g_method_functor, g_argv); \ break #define GD_METHOD_CASE_DEFAULT \ @@ -251,14 +190,14 @@ #define GD_METHOD_NAME_CASE(sym) \ case ((long)(G_atom(sym))) : \ - GD_body(sym)(GD_SELF, g_method_functor, GD_ARGV); \ + GD_body(sym)(GD_SELF, g_method_functor, g_argv); \ break #define GD_METHOD_NAME_CASE_DEFAULT default: fatal("undefined method") #define GDDEF_METHOD(fa) \ static void \ -GD_body(fa) (GD_OBJ_TYPE* GD_SELF, long g_method_functor, q* GD_ARGV) +GD_body(fa) (GD_OBJ_TYPE* GD_SELF, long g_method_functor, q* g_argv) /**********************************************************************/ #define GDDEF_GUNIFY() \ @@ -273,8 +212,6 @@ #define GD_PUTC(x) klic_putc((x), g_fp) -#define GD_RETURN_FROM_PRINT do{ return 1L; }while(0) - #define GDDEF_PRINT() \ static long \ G_rappend(print) (GD_SELF,g_fp,g_depth,g_length) \ @@ -317,11 +254,6 @@ #define GDDEF_GC() \ static q* G_rappend(gc) (GD_OBJ_TYPE* GD_SELF) -#define GD_RETURN_FROM_GC(newgobj) \ -do{ \ - return(((q *)(newgobj))); \ -}while(0) - #define GDDEF_DEALLOCATE() \ static void \ G_rappend(deallocate) (GD_SELF) \ @@ -329,32 +261,25 @@ #define GDDEF_GENERIC() \ static void \ -G_rappend(generic) (GD_OBJ_TYPE* GD_SELF, long g_method_functor, q* GD_ARGV) +G_rappend(generic) (GD_OBJ_TYPE* GD_SELF, long g_method_functor, q* g_argv) /**********************************************************************/ /* guard utility */ #define GDDEF_GGENERIC() \ -static q \ - G_rappend(guard_generic) (GD_SELF,g_method_functor,GD_ARGV) \ - GD_OBJ_TYPE * GD_SELF; \ - long g_method_functor; \ - q GD_ARGV[]; +static q G_rappend(guard_generic) \ + (GD_OBJ_TYPE* GD_SELF, long g_method_functor, q* g_argv) -#define GD_SWITCH_ON_GMETHOD switch(g_method_functor) #define GD_GMETHOD_CASE(fa) \ case (long) G_functor(fa): \ { \ - q retval = (q) GD_guard(fa) (GD_SELF,g_method_functor,GD_ARGV); \ + q retval = (q) GD_guard(fa) (GD_SELF, g_method_functor, g_argv); \ GD_GRETURN(retval); \ } \ break #define GDDEF_GMETHOD(fa) \ - static q \ - GD_guard(fa) (GD_SELF,g_method_functor,GD_ARGV) \ - GD_OBJ_TYPE * GD_SELF; \ - long g_method_functor; \ - q GD_ARGV[]; +static q \ +GD_guard(fa) (GD_OBJ_TYPE* GD_SELF, long g_method_functor, q* g_argv) #define GD_GMETHOD_CASE_DEFAULT \ default: \ @@ -366,9 +291,9 @@ do{ \ while (!G_ISINT(argv_i)) { \ if (!G_ISREF(argv_i)) { \ - GD_ERROR_IN_NEW("Non-integer parameter"); \ + G_ERROR_IN_NEW("Non-integer parameter"); \ } \ - GD_DEREF_FOR_NEW(argv_i); \ + G_DEREF_FOR_NEW(argv_i); \ } \ (var) = G_INTVAL(argv_i); \ }while(0) @@ -376,8 +301,8 @@ #define GDSET_SYMARG_FOR_NEW(var, arg) \ do{ \ while (!G_ISSYM(arg)) { \ - if (!G_ISREF(arg)) GD_ERROR_IN_NEW("Non-atom paramter"); \ - GD_DEREF_FOR_NEW(arg); \ + if (!G_ISREF(arg)) G_ERROR_IN_NEW("Non-atom paramter"); \ + G_DEREF_FOR_NEW(arg); \ } \ (var) = (arg); \ }while(0) diff -ruN klic-3.003-2002-03-20/include/klic/gd_methtab.h klic-3.003-2002-03-21/include/klic/gd_methtab.h --- klic-3.003-2002-03-20/include/klic/gd_methtab.h Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/include/klic/gd_methtab.h Thu Mar 21 21:02:43 2002 @@ -25,9 +25,9 @@ extern void GD_STD_DEALLOCATE(struct data_object* GD_SELF); extern q* GD_STD_GENERIC( - struct data_object* GD_SELF, long g_method_functor, q GD_ARGV[] ); + struct data_object* GD_SELF, long g_method_functor, q* g_argv ); extern q GD_STD_GGENERIC( - struct data_object* GD_SELF, long g_method_functor, q GD_ARGV[] ); + struct data_object* GD_SELF, long g_method_functor, q* g_argv ); extern q GD_STD_COMPARE( struct data_object* GD_SELF, struct data_object* GD_OTHER ); diff -ruN klic-3.003-2002-03-20/include/klic/gg_macro.h klic-3.003-2002-03-21/include/klic/gg_macro.h --- klic-3.003-2002-03-20/include/klic/gg_macro.h Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/include/klic/gg_macro.h Thu Mar 21 21:59:35 2002 @@ -16,17 +16,10 @@ /* runtime/unify.c */ extern void do_shallow_unify(q x, q y); - /* runtime/generic.c */ - -extern void G_MAKE_THE_NEW_GOAL( - q* var, struct goalrec** goalp1, q(*myself)(), - unsigned long argc, q argv[] ); - extern void G_SUSPEND(q x, struct goalrec* goal); extern q GG_MAKE_HOOK_VAR(struct generator_object* obj); - #define GG_OBJ_SIZE G_SIZE_IN_Q(GG_OBJ_TYPE) #define GG_TERMINATE do{ return !0; }while(0) @@ -36,37 +29,13 @@ q newvar, tmp; \ q argv[2]; \ G_MAKE_VAR(newvar); \ - argv[0] = GG_TERM; \ + argv[0] = g_term; \ argv[1] = newvar; \ tmp = GC_wakeup_g_new(2, argv); \ GG_KL1_UNIFY((var), tmp); \ return heapp(); \ }while(0) -#define GG_SWITCH_ON_TERM(cons,atomic,funct,dobj,susp) \ -do{ \ - while (1) { \ - if (!isstruct(GG_TERM)) { \ - if (atomicnotref(GG_TERM)) { \ - goto atomic; \ - } else { \ - q temp0 = derefone(GG_TERM); \ - if(isref(temp0) && (GG_TERM) == derefone(temp0)) { \ - goto susp; \ - } else { \ - (GG_TERM) = temp0; \ - } \ - } \ - } else if(functnotcons(GG_TERM)) {\ - if(isref(functor_of(GG_TERM))) { \ - goto dobj; \ - } else {\ - goto funct; \ - } \ - } else goto cons; \ - } \ -}while(0) - /***************************************************************************/ #define GG_DEREF(x) \ @@ -79,7 +48,6 @@ q temp0 = derefone(x); \ if(isref(temp0) && (x) == derefone(temp0)) { \ GG_SUSPEND(x); \ - return heapp(); \ } else { \ (x) = temp0; \ } \ @@ -90,49 +58,8 @@ } \ }while(0) -#define GG_TRY_TO_ALLOC(new,type,size,label) \ -do{ \ - G_HEAPALLOC((new), (size), type); \ - if((long) real_heaplimit() <= (long) heapp()) { \ - goto label; \ - } \ -}while(0) - /**************************************************************************/ -#define GGset_myself_for_new \ - q (*g_myself)() = G_rappend(new) - -#define GG_STD_DECL_FOR_NEW \ - G_STD_DECL; GGset_myself_for_new - -#define GGDEF_NEW() \ -extern q G_rappend(new) (long GG_ARGC, q* GG_ARGV) - -#define GG_DEREF_FOR_NEW(x) \ -do{ \ - while (1) { \ - if (!isstruct(x)) { \ - if (atomicnotref(x)) { \ - break; \ - } else { \ - q temp0 = derefone(x); \ - if(isref(temp0) && (x) == derefone(temp0)) { \ - q var; \ - struct goalrec *goal; \ - G_MAKE_THE_NEW_GOAL(&var, &goal, g_myself, GG_ARGC, GG_ARGV); \ - G_SUSPEND((x), goal); \ - GG_RETURN_FROM_NEW(var); \ - } else { \ - (x) = temp0; \ - } \ - } \ - } else { \ - break; \ - } \ - } \ -}while(0) - #define GGSET_NEWOBJ_FOR_NEW(newgobj, type) \ do{ \ q res; \ @@ -140,22 +67,17 @@ if(res == GENERIC_GCREQUEST) { \ q var; \ struct goalrec *goal; \ - G_MAKE_THE_NEW_GOAL(&var, &goal, g_myself, GG_ARGC, GG_ARGV); \ + G_MAKE_THE_NEW_GOAL(&var, &goal, g_myself, g_argc, g_argv); \ G_PUSH_GOAL_TO_SPECIAL_QUEUE(goal); \ - GG_RETURN_FROM_NEW(var); \ + return var; \ } \ (newgobj)->method_table = &G_method_table; \ }while(0) -#define GG_RETURN_FROM_NEW(var) \ -do{ \ - return (var); \ -}while(0) - /**********************************************************************/ #define GGDEF_UNIFY() \ -static int G_rappend(active_unify) (q GG_SELF, q GG_TERM) +static int G_rappend(active_unify) (q GG_SELF, q g_term) #define GGDEF_SUSPEND() \ static q \ @@ -189,11 +111,6 @@ if(heapp() > real_heaplimit()) fatal("not enough space collected"); \ }while(0) -#define GG_RETURN_FROM_GC(newgobj) \ -do{ \ - return(((q *)(newgobj))); \ -}while(0) - #define GGDEF_DEALLOCATE() \ static void \ G_rappend(deallocate) (GG_SELF) \ @@ -203,7 +120,7 @@ #define GGSET_INTARG_FOR_NEW(var,argv_i) \ do{ \ - GG_DEREF_FOR_NEW(argv_i); \ + G_DEREF_FOR_NEW(argv_i); \ if(!G_ISINT(argv_i)) fatal("not integer"); \ (var) = G_INTVAL(argv_i); \ }while(0) diff -ruN klic-3.003-2002-03-20/runtime/clearmes.perl klic-3.003-2002-03-21/runtime/clearmes.perl --- klic-3.003-2002-03-20/runtime/clearmes.perl Thu Dec 27 19:15:57 2001 +++ klic-3.003-2002-03-21/runtime/clearmes.perl Thu Mar 21 21:03:52 2002 @@ -10,9 +10,9 @@ /_\d+_interrupt unused in function module_/ && next; /: warning: argument g_method_functor unused in function/ && next; /: warning: argument G[GCD]_SELF unused in function / && next; - /: warning: argument GD_ARGV unused in function / && next; + /: warning: argument g_argv unused in function / && next; /: warning: argument GD_LEVEL unused in function / && next; - /: warning: argument GC_TERM unused in function / && next; + /: warning: argument g_term unused in function / && next; /: warning: argument GD_OTHER unused in function / && next; /: warning: argument g_myself unused in function / && next; /: warning: g_myself unused in function / && next; diff -ruN klic-3.003-2002-03-20/runtime/gcode.c klic-3.003-2002-03-21/runtime/gcode.c --- klic-3.003-2002-03-20/runtime/gcode.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/gcode.c Thu Mar 21 21:48:50 2002 @@ -60,7 +60,7 @@ newself->pdesc = GD_SELF->pdesc; G_COPY_KL1_TERM_TO_NEWGEN(GD_SELF->module_obj, newself->module_obj); newself->predicate_name = GD_SELF->predicate_name; - GD_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } /* Generic method */ @@ -69,14 +69,14 @@ { G_STD_DECL; - GD_UNIFY(GD_ARGV[0], GD_SELF->module_obj); + do_shallow_unify(g_argv[0], GD_SELF->module_obj); } GDDEF_METHOD(name_1) { G_STD_DECL; - GD_UNIFY(GD_ARGV[0], GD_SELF->predicate_name); + do_shallow_unify(g_argv[0], GD_SELF->predicate_name); } GDDEF_METHOD(arity_1) @@ -84,7 +84,7 @@ G_STD_DECL; const struct predicate* pred = GD_SELF->pdesc; - GD_UNIFY(GD_ARGV[0], makeint(pred->arity)); + do_shallow_unify(g_argv[0], makeint(pred->arity)); } #define GD_ALLOC_GOAL(goal, pdesc, size) \ @@ -104,8 +104,8 @@ int i; q func; - GD_DEREF(GD_ARGV[0]); - func = GD_ARGV[0]; + GD_DEREF(g_argv[0]); + func = g_argv[0]; if( !G_ISFUNCTOR(func) || !GD_IS_CLASS(vector, func) ){ GD_ERROR_IN_METHOD("Invalid argument specification", "apply"); } @@ -135,7 +135,7 @@ GD_ALLOC_GOAL(goal, GD_SELF->pdesc, size); for( i=0; ipredicate_name, 0, 1); GD_PRINTF("/%d)", GD_SELF->pdesc->arity); - GD_RETURN_FROM_PRINT; + G_RETURN_FROM_PRINT(); } GDDEF_GMETHOD(arity_1) @@ -174,7 +174,7 @@ G_STD_DECL; const struct predicate* pred = GD_SELF->pdesc; - GD_ARGV[0] = makeint(pred->arity); + g_argv[0] = makeint(pred->arity); GD_GSUCCEED; } @@ -189,7 +189,7 @@ GDDEF_GGENERIC() { - GD_SWITCH_ON_GMETHOD { + GD_SWITCH_ON_METHOD { GD_GMETHOD_CASE(predicate_0); GD_GMETHOD_CASE(arity_1); GD_GMETHOD_CASE_DEFAULT; @@ -232,27 +232,27 @@ new predicate */ -GDDEF_NEW() +G_DEF_NEW() { - GD_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GD_OBJ_TYPE* newpred; struct module_object* module_obj; const struct predicate* predaddr; q predname; int arity; - if( GD_ARGC != 3 ) GD_ERROR_IN_NEW("Too few or too many arguments"); + if( g_argc != 3 ) G_ERROR_IN_NEW("Too few or too many arguments"); - GD_DEREF_FOR_NEW(GD_ARGV[0]); - if( !G_ISFUNCTOR(GD_ARGV[0]) || - (((struct module_object*) G_FUNCTORP(GD_ARGV[0]))->method_table + G_DEREF_FOR_NEW(g_argv[0]); + if( !G_ISFUNCTOR(g_argv[0]) || + (((struct module_object*) G_FUNCTORP(g_argv[0]))->method_table != &G_method_table0(module) ) ){ - GD_ERROR_IN_NEW("First parameter is not a module"); + G_ERROR_IN_NEW("First parameter is not a module"); } - module_obj = (struct module_object*) G_FUNCTORP(GD_ARGV[0]); + module_obj = (struct module_object*) G_FUNCTORP(g_argv[0]); - GDSET_SYMARG_FOR_NEW(predname, GD_ARGV[1]); - GDSET_INTARG_FOR_NEW(arity, GD_ARGV[2]); + GDSET_SYMARG_FOR_NEW(predname, g_argv[1]); + GDSET_INTARG_FOR_NEW(arity, g_argv[2]); predaddr = locate_predicate_in_module(module_obj->name, predname, arity); if( predaddr == 0 ){ @@ -262,7 +262,7 @@ namestringof(module_obj->name), namestringof(predname), arity); - GD_ERROR_IN_NEW(message); + G_ERROR_IN_NEW(message); } GDSET_NEWOBJ_FOR_NEW(newpred, sizeof(struct predicate_object)); diff -ruN klic-3.003-2002-03-20/runtime/ge_exref.c klic-3.003-2002-03-21/runtime/ge_exref.c --- klic-3.003-2002-03-20/runtime/ge_exref.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/ge_exref.c Thu Mar 21 21:32:22 2002 @@ -65,15 +65,15 @@ struct exref_object* GG_OBJ = (struct exref_object*) untag_generator_susp(gsusp->u.o); - GG_SWITCH_ON_TERM(list0, atomic0, functor0, generic_data0, susp0); + G_SWITCH_ON_TERM(list0, atomic0, functor0, generic_data0, susp0); list0: atomic0: functor0: generic_data0: - send_unify(GG_OBJ->node, GG_OBJ->index, GG_OBJ->wec, GG_TERM); + send_unify(GG_OBJ->node, GG_OBJ->index, GG_OBJ->wec, g_term); - derefone(GG_SELF) = GG_TERM; + derefone(GG_SELF) = g_term; GG_OBJ->method_table = NULL; GG_OBJ->gc_flag = IMPREC_RELEASED; @@ -81,10 +81,10 @@ susp0: { - struct susprec* gterm = (struct susprec*) derefone(GG_TERM); + struct susprec* gterm = (struct susprec*) derefone(g_term); if( is_generator_susp(gterm->u) ){ - struct generator_susp* gsusp1 = generator_suspp(derefone(GG_TERM)); + struct generator_susp* gsusp1 = generator_suspp(derefone(g_term)); struct exref_object* dummy_obj = (struct exref_object*) untag_generator_susp(gsusp1->u.o); /* fprintf(stderr, "Node:%d unify EXREF-GENERA", my_node); */ @@ -148,7 +148,7 @@ GG_SELF->gc_flag = IMPREC_COPIED; newself->gc_flag = IMPREC_NOT_COPIED; - GG_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } GGDEF_PRINT() @@ -162,16 +162,16 @@ #include -GGDEF_NEW() /* node, index, wec */ +G_DEF_NEW() /* node, index, wec */ { - GG_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GG_OBJ_TYPE* new_exref; GGSET_NEWOBJ_FOR_NEW(new_exref, (struct exref_object*)); - new_exref->node = (long) intval(GG_ARGV[0]); - new_exref->index = (long) intval(GG_ARGV[1]); - new_exref->wec = (long) intval(GG_ARGV[2]); + new_exref->node = (long) intval(g_argv[0]); + new_exref->index = (long) intval(g_argv[1]); + new_exref->wec = (long) intval(g_argv[2]); new_exref->to_exref = GG_MAKE_HOOK_VAR((struct generator_object*) new_exref); @@ -179,7 +179,7 @@ regist_imp_entry(new_exref); - GG_RETURN_FROM_NEW(new_exref->to_exref); + return new_exref->to_exref; } extern struct generator_object_method_table* diff -ruN klic-3.003-2002-03-20/runtime/ge_readhook.c klic-3.003-2002-03-21/runtime/ge_readhook.c --- klic-3.003-2002-03-20/runtime/ge_readhook.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/ge_readhook.c Thu Mar 21 21:32:39 2002 @@ -32,7 +32,7 @@ { G_STD_DECL; - GC_SWITCH_ON_TERM(list0, atomic0, functor0, generic_data0, susp0); + G_SWITCH_ON_TERM(list0, atomic0, functor0, generic_data0, susp0); list0: atomic0: @@ -46,11 +46,11 @@ }else{ INT_CL_DEBUG_X (klic_fprintf(stdout, "rdhok receive answer value -> send_unify\n")); - send_unify(GC_SELF->node, GC_SELF->index, GC_SELF->wec, GC_TERM); + send_unify(GC_SELF->node, GC_SELF->index, GC_SELF->wec, g_term); } }else{ INT_CL_DEBUG_X(klic_fprintf(stdout, "rdhok active unify -> send_unify\n")); - send_unify(GC_SELF->node, GC_SELF->index, GC_SELF->wec, GC_TERM); + send_unify(GC_SELF->node, GC_SELF->index, GC_SELF->wec, g_term); /* GC_SELF->method_table = NULL; */ } GC_SELF->node = 0; @@ -78,7 +78,7 @@ G_COPY_KL1_TERM_TO_NEWGEN(GC_SELF->to_read_hook, newself->to_read_hook); - GC_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } GCDEF_PRINT() @@ -90,15 +90,15 @@ #include -GCDEF_NEW() /* node, index, wec */ +G_DEF_NEW() /* node, index, wec */ { - GC_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GC_OBJ_TYPE* new_read_hook; GCSET_NEWOBJ_FOR_NEW(new_read_hook, GC_OBJ_SIZE(new_read_hook)); - new_read_hook->node = (long) intval(GC_ARGV[0]); - new_read_hook->index = (long) intval(GC_ARGV[1]); - new_read_hook->wec = (long) intval(GC_ARGV[2]); + new_read_hook->node = (long) intval(g_argv[0]); + new_read_hook->index = (long) intval(g_argv[1]); + new_read_hook->wec = (long) intval(g_argv[2]); new_read_hook->to_read_hook = GC_MAKE_HOOK_VAR((struct consumer_object*) new_read_hook); @@ -108,5 +108,5 @@ new_read_hook->to_read_hook, TRANSFER_CNT ); new_read_hook->wec--; /* WEC of EXREF in %read is 1 */ - GC_RETURN_FROM_NEW(new_read_hook->to_read_hook); + return new_read_hook->to_read_hook; } diff -ruN klic-3.003-2002-03-20/runtime/ge_replyhook.c klic-3.003-2002-03-21/runtime/ge_replyhook.c --- klic-3.003-2002-03-20/runtime/ge_replyhook.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/ge_replyhook.c Thu Mar 21 21:32:47 2002 @@ -29,13 +29,13 @@ /* INT_CL_DEBUG_X(printf("replyhook active unify\n")); */ - GC_SWITCH_ON_TERM(list0, atomic0, functor0, generic_data0, susp0); + G_SWITCH_ON_TERM(list0, atomic0, functor0, generic_data0, susp0); list0: atomic0: functor0: generic_data0: - send_answer_value(GC_TERM, GC_SELF->node, GC_SELF->index, GC_SELF->wec); + send_answer_value(g_term, GC_SELF->node, GC_SELF->index, GC_SELF->wec); GC_TERMINATE; susp0: @@ -52,7 +52,7 @@ newself->index = GC_SELF->index; newself->wec = GC_SELF->wec; - GC_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } GCDEF_PRINT() @@ -65,17 +65,17 @@ #include -GCDEF_NEW() /* node, index, wec */ +G_DEF_NEW() /* node, index, wec */ { - GC_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GC_OBJ_TYPE* new_reply_hook; q var; GCSET_NEWOBJ_FOR_NEW(new_reply_hook, GC_OBJ_SIZE(new_reply_hook)); - new_reply_hook->node = intval(GC_ARGV[0]); - new_reply_hook->index = intval(GC_ARGV[1]); - new_reply_hook->wec = intval(GC_ARGV[2]); + new_reply_hook->node = intval(g_argv[0]); + new_reply_hook->index = intval(g_argv[1]); + new_reply_hook->wec = intval(g_argv[2]); var = GC_MAKE_HOOK_VAR((struct consumer_object*) new_reply_hook); - GC_RETURN_FROM_NEW(var); + return var; } diff -ruN klic-3.003-2002-03-20/runtime/generic.c klic-3.003-2002-03-21/runtime/generic.c --- klic-3.003-2002-03-20/runtime/generic.c Tue Mar 19 18:21:24 2002 +++ klic-3.003-2002-03-21/runtime/generic.c Thu Mar 21 21:10:39 2002 @@ -180,19 +180,13 @@ extern q* -GD_STD_GENERIC(GD_SELF, g_method_functor, GD_ARGV) - q* GD_SELF; - long g_method_functor; - q GD_ARGV[]; +GD_STD_GENERIC(struct data_object* GD_SELF, long g_method_functor, q* g_argv) { return heapp(); } extern q -GD_STD_GGENERIC(GD_SELF, g_method_functor, GD_ARGV) - struct data_object* GD_SELF; - long g_method_functor; - q GD_ARGV[]; +GD_STD_GGENERIC(struct data_object* GD_SELF, long g_method_functor, q* g_argv) { return GENERIC_SUCCEEDED; } diff -ruN klic-3.003-2002-03-20/runtime/gfloat.c klic-3.003-2002-03-21/runtime/gfloat.c --- klic-3.003-2002-03-20/runtime/gfloat.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/gfloat.c Thu Mar 21 21:49:03 2002 @@ -80,7 +80,7 @@ ALIGN(); GDSET_NEWOBJ_IN_NEWGEN(newself); newself->value = GD_SELF->value; - GD_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } /* Generic method */ @@ -106,7 +106,7 @@ } } str = convert_c_string_to_klic_string(buf); - GD_UNIFY_VALUE(GD_ARGV[0], str); + G_UNIFY_VALUE(g_argv[0], str); } GDDEF_METHOD(int_1) @@ -114,7 +114,7 @@ G_STD_DECL; double value = GD_SELF->value; q result = makeint((long) value); - GD_UNIFY_VALUE(GD_ARGV[0], result); + G_UNIFY_VALUE(g_argv[0], result); } static double @@ -174,7 +174,7 @@ } } case 2: { - q another = GD_ARGV[0]; + q another = g_argv[0]; double another_value; GD_DEREF(another); result_index = 1; @@ -215,7 +215,7 @@ result = func(self); apply_2: newobj->value = result; - GD_UNIFY(GD_ARGV[result_index], makefunctor(newobj)); + do_shallow_unify(g_argv[result_index], makefunctor(newobj)); } /* guard generic methods */ @@ -223,7 +223,7 @@ #define COMPARE_METHOD(comparison) \ { \ G_STD_DECL; \ - q otherq = GD_ARGV[0]; \ + q otherq = g_argv[0]; \ GD_OBJ_TYPE* other; \ double self, theother; \ \ @@ -263,7 +263,7 @@ GDDEF_GGENERIC() { G_STD_DECL; - GD_SWITCH_ON_GMETHOD { + GD_SWITCH_ON_METHOD { GD_GMETHOD_CASE(less__than_1); GD_GMETHOD_CASE(not__greater__than_1); GD_GMETHOD_CASE(not__less__than_1); @@ -281,7 +281,7 @@ char b[100]; sprintf(b, "%f", GD_SELF->value); klic_fprintf(g_fp, "%s", b); - GD_RETURN_FROM_PRINT; + G_RETURN_FROM_PRINT(); } GDDEF_COMPARE() @@ -337,13 +337,13 @@ #include /* new_float function */ -GDDEF_NEW() +G_DEF_NEW() { - GD_STD_DECL_FOR_NEW; - q init = GD_ARGV[0]; + G_STD_DECL_FOR_NEW(); + q init = g_argv[0]; GD_OBJ_TYPE* newobj; - GD_DEREF_FOR_NEW(init); + G_DEREF_FOR_NEW(init); ALIGN(); GDSET_NEWOBJ_FOR_NEW(newobj, G_SIZE_IN_Q(GD_OBJ_TYPE)); if( G_ISINT(init) ){ diff -ruN klic-3.003-2002-03-20/runtime/ggoal.c klic-3.003-2002-03-21/runtime/ggoal.c --- klic-3.003-2002-03-20/runtime/ggoal.c Wed Mar 20 15:39:22 2002 +++ klic-3.003-2002-03-21/runtime/ggoal.c Thu Mar 21 21:49:16 2002 @@ -134,7 +134,7 @@ GDSET_NEWOBJ_IN_NEWGEN(newself); newself->goal = newgoal; newself->id = GD_SELF->id; - GD_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } /* Body Methods */ @@ -152,10 +152,10 @@ GD_ALLOC_AREA(newgoal, (struct goalrec *), 2+5); newgoal->pred = &step_trigger_pred; newgoal->args[0] = makefunctor(GD_SELF); - newgoal->args[1] = GD_ARGV[0]; /* children info */ - newgoal->args[2] = GD_ARGV[1]; /* woken-up info */ - newgoal->args[3] = GD_ARGV[2]; /* failure info */ - newgoal->args[4] = GD_ARGV[3]; /* suspension reason info */ + newgoal->args[1] = g_argv[0]; /* children info */ + newgoal->args[2] = g_argv[1]; /* woken-up info */ + newgoal->args[3] = g_argv[2]; /* failure info */ + newgoal->args[4] = g_argv[3]; /* suspension reason info */ resume_same_prio(newgoal); } @@ -168,10 +168,10 @@ goal = GD_SELF->goal; size = goal->pred->arity; - GDSET_INTARG_WITHIN_RANGE(position, GD_ARGV[0], 1, size+1); + GDSET_INTARG_WITHIN_RANGE(position, g_argv[0], 1, size+1); the_arg = goal->args[position-1]; - GD_UNIFY(GD_ARGV[1], the_arg); + do_shallow_unify(g_argv[1], the_arg); } GDDEF_METHOD(setarg_4) @@ -184,7 +184,7 @@ long k; size = GD_SELF->goal->pred->arity; - GDSET_INTARG_WITHIN_RANGE(position, GD_ARGV[0], 1, size+1); + GDSET_INTARG_WITHIN_RANGE(position, g_argv[0], 1, size+1); oldarg = GD_SELF->goal->args[position-1]; /* Allocate and set up new goal record */ @@ -194,14 +194,14 @@ for (k = 0; k < size; k++) { newgoal->args[k] = oldgoal->args[k]; } - newgoal->args[position-1] = GD_ARGV[2]; + newgoal->args[position-1] = g_argv[2]; /* Allocate and set up new goal object */ GDSET_NEWOBJ(newobj); newobj->goal = newgoal; - GD_UNIFY(GD_ARGV[1], oldarg); - GD_UNIFY_VALUE(GD_ARGV[3], GD_OBJ(newobj)); + do_shallow_unify(g_argv[1], oldarg); + G_UNIFY_VALUE(g_argv[3], GD_OBJ(newobj)); } GDDEF_METHOD(id_1) @@ -210,7 +210,7 @@ unsigned long id; id = GD_SELF->id; - GD_UNIFY_VALUE(GD_ARGV[0], makeint(id)); + G_UNIFY_VALUE(g_argv[0], makeint(id)); } GDDEF_METHOD(predicate_4) @@ -219,10 +219,10 @@ struct pred_tab_ent *pte; pte = find_pred_ent(GD_SELF->goal->pred); - GD_UNIFY_VALUE(GD_ARGV[0], pte->modname); - GD_UNIFY_VALUE(GD_ARGV[1], pte->name); - GD_UNIFY_VALUE(GD_ARGV[2], makeint(pte->pred->arity)); - GD_UNIFY_VALUE(GD_ARGV[3], makeint((unsigned long)(pte->pred)>>2)); + G_UNIFY_VALUE(g_argv[0], pte->modname); + G_UNIFY_VALUE(g_argv[1], pte->name); + G_UNIFY_VALUE(g_argv[2], makeint(pte->pred->arity)); + G_UNIFY_VALUE(g_argv[3], makeint((unsigned long) pte->pred >> 2)); } GDDEF_METHOD(set__predicate_2) @@ -238,7 +238,7 @@ oldgoal = GD_SELF->goal; arity = oldgoal->pred->arity; - predq = GD_ARGV[0]; + predq = g_argv[0]; GD_DEREF(predq); if (!G_ISGOBJ(predq) || !GD_IS_CLASS(predicate, predq)) { GD_ERROR_IN_METHOD("First argument is not a predicate object", @@ -261,7 +261,7 @@ GDSET_NEWOBJ(newobj); newobj->goal = newgoal; - GD_UNIFY_VALUE(GD_ARGV[1], GD_OBJ(newobj)); + G_UNIFY_VALUE(g_argv[1], GD_OBJ(newobj)); } /* Generic Method Table */ @@ -286,7 +286,7 @@ GDDEF_GGENERIC() { G_STD_DECL; - GD_SWITCH_ON_GMETHOD { + GD_SWITCH_ON_METHOD { GD_GMETHOD_CASE_DEFAULT; } } @@ -323,9 +323,9 @@ return makefunctor(obj); } -GDDEF_NEW() +G_DEF_NEW() { - GD_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GD_OBJ_TYPE *newobj; struct goalrec *newgoal; q predq, argvq; @@ -333,26 +333,26 @@ long pred_arity, argv_arity; long k; - if (GD_ARGC != 2) { - GD_ERROR_IN_NEW("Wrong number of arguments"); + if (g_argc != 2) { + G_ERROR_IN_NEW("Wrong number of arguments"); } - predq = GD_ARGV[0]; - GD_DEREF_FOR_NEW(predq); + predq = g_argv[0]; + G_DEREF_FOR_NEW(predq); if (!G_ISGOBJ(predq) || !GD_IS_CLASS(predicate, predq)) { - GD_ERROR_IN_NEW("First argument is not a predicate object"); + G_ERROR_IN_NEW("First argument is not a predicate object"); } pred = (struct predicate_object *)functorp(predq); pred_arity = pred->pdesc->arity; - argvq = GD_ARGV[1]; - GD_DEREF_FOR_NEW(argvq); + argvq = g_argv[1]; + G_DEREF_FOR_NEW(argvq); if (!G_ISGOBJ(argvq) || !GD_IS_CLASS(vector, argvq)) { - GD_ERROR_IN_NEW("Second argument is not a vector object"); + G_ERROR_IN_NEW("Second argument is not a vector object"); } argv_arity = intval(size_of_vector(argvq)); if (pred_arity != argv_arity) { - GD_ERROR_IN_NEW("Number of args mismatch with the predicate"); + G_ERROR_IN_NEW("Number of args mismatch with the predicate"); } GD_ALLOC_AREA_FOR_NEW(newgoal, (struct goalrec *), pred_arity+2); diff -ruN klic-3.003-2002-03-20/runtime/gio.c klic-3.003-2002-03-21/runtime/gio.c --- klic-3.003-2002-03-20/runtime/gio.c Wed Mar 20 15:39:39 2002 +++ klic-3.003-2002-03-21/runtime/gio.c Thu Mar 21 21:49:41 2002 @@ -77,11 +77,11 @@ q reason; if( GC_SELF->stream != 0 ){ - GC_TERM = GC_SELF->stream; + g_term = GC_SELF->stream; GC_SELF->stream = 0; } top: - if( G_ISCONS(GC_TERM) ){ + if( G_ISCONS(g_term) ){ q message; GCSET_MESSAGE(message); if( G_ISINT(message) ){ @@ -113,7 +113,7 @@ c = klic_getc(GC_SELF->infile); } if( c=='\n' ){ GC_SELF->linecount++; } - GC_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(c)); + G_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(c)); break; } @@ -165,13 +165,13 @@ fatal("internal error: string allocation for fread"); } free(buf); - GC_UNIFY_VALUE(G_ARG(message, 1), string); + G_UNIFY_VALUE(G_ARG(message, 1), string); break; } case functor_linecount_1: { CheckInput(); - GC_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(GC_SELF->linecount)); + G_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(GC_SELF->linecount)); break; } @@ -212,7 +212,7 @@ written = klic_fwrite(generic_string_body(str), 1, size, GC_SELF->outfile); } - GC_UNIFY_VALUE(G_ARG(message, 1), G_MAKEINT(written)); + G_UNIFY_VALUE(G_ARG(message, 1), G_MAKEINT(written)); break; } @@ -259,7 +259,7 @@ iseof = feof(GC_SELF->outfile); } } - GC_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(iseof)); + G_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(iseof)); break; } @@ -278,7 +278,7 @@ (GC_SELF->infile == NULL ? GC_SELF->outfile : GC_SELF->infile); result = fseek(file, offset, whence); } - GC_UNIFY_VALUE(G_ARG(message, 2), G_MAKEINT(result)); + G_UNIFY_VALUE(G_ARG(message, 2), G_MAKEINT(result)); break; } @@ -295,13 +295,13 @@ (GC_SELF->infile == NULL ? GC_SELF->outfile : GC_SELF->infile); result = ftell(file); } - GC_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(result)); + G_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(result)); break; } case functor_fflush_1: { long result = do_flush(GC_SELF); - GC_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(result)); + G_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(result)); break; } @@ -330,12 +330,12 @@ } } } - GC_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(result)); + G_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(result)); break; } case functor_sync_1: { - GC_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(0)); + G_UNIFY_VALUE(G_ARG(message, 0), G_MAKEINT(0)); break; } @@ -344,7 +344,7 @@ }else{ goto message_error; } - GC_TERM = G_CDR_OF(GC_TERM); + g_term = G_CDR_OF(g_term); goto top; message_error: @@ -360,7 +360,7 @@ outname); fatal("message error"); } - }else if( GC_TERM==NILATOM ){ + }else if( g_term==NILATOM ){ #ifdef DIST if( GC_SELF->outfile == stdout ){ UserFflush(); @@ -380,22 +380,22 @@ } } GC_TERMINATE; - }else if( G_ISREF(GC_TERM) ){ - q temp = G_DEREFONE(GC_TERM); + }else if( G_ISREF(g_term) ){ + q temp = G_DEREFONE(g_term); if( G_ISREF(temp) && - (temp == GC_TERM || G_DEREFONE(temp) == GC_TERM) ){ - reason = GC_TERM; + (temp == g_term || G_DEREFONE(temp) == g_term) ){ + reason = g_term; GC_SELF->stream = 0; goto suspend; }else{ - GC_TERM = temp; + g_term = temp; goto top; } } gc_request: G_MAKE_VAR(newvar); - GC_KL1_UNIFY(GC_TERM, newvar); + GC_KL1_UNIFY(g_term, newvar); GC_RETURN_WITH_HOOK(newvar); suspend: @@ -416,14 +416,14 @@ } G_COPY_KL1_TERM_TO_NEWGEN(GC_SELF->inname, newself->inname); G_COPY_KL1_TERM_TO_NEWGEN(GC_SELF->outname, newself->outname); - GC_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } GCDEF_PRINT() { G_STD_DECL; GC_PRINT("$$FILE I/O$"); - GC_RETURN_FROM_PRINT; + G_RETURN_FROM_PRINT(); } #define GCUSE_MY_UNIFY @@ -433,9 +433,9 @@ /* define the method table structure of the merger */ #include -GCDEF_NEW() +G_DEF_NEW() { - GC_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GC_OBJ_TYPE* newobj; q infile, outfile, inpath, outpath; q var; @@ -449,29 +449,29 @@ * 2: Output file object * 3: Its name */ - if( GC_ARGC != 4 ) GC_ERROR_IN_NEW("Arity mismatch"); + if( g_argc != 4 ) G_ERROR_IN_NEW("Arity mismatch"); - infile = GC_ARGV[0]; - GC_DEREF_FOR_NEW(infile); + infile = g_argv[0]; + G_DEREF_FOR_NEW(infile); if( infile != NILATOM && (!G_ISGOBJ(infile) || (struct data_object_method_table*) G_FUNCTOR_OF(infile) != &pointer_g_method_table) ){ fatal("First argument for file creation is not a pointer object"); } - inpath = GC_ARGV[1]; - GC_DEREF_FOR_NEW(inpath); + inpath = g_argv[1]; + G_DEREF_FOR_NEW(inpath); - outfile = GC_ARGV[2]; - GC_DEREF_FOR_NEW(outfile); + outfile = g_argv[2]; + G_DEREF_FOR_NEW(outfile); if( outfile != NILATOM && (!G_ISGOBJ(outfile) || (struct data_object_method_table*) G_FUNCTOR_OF(outfile) != &pointer_g_method_table) ){ fatal("Third argument for file creation is not a pointer object"); } - outpath = GC_ARGV[3]; - GC_DEREF_FOR_NEW(outpath); + outpath = g_argv[3]; + G_DEREF_FOR_NEW(outpath); GCSET_NEWOBJ_FOR_NEW(newobj, GC_OBJ_SIZE(newobj)); if( infile == NILATOM ){ @@ -491,5 +491,5 @@ newobj->outname = outpath; newobj->stream = 0; var = GC_MAKE_HOOK_VAR((struct consumer_object*) newobj); - GC_RETURN_FROM_NEW(var); + return var; } diff -ruN klic-3.003-2002-03-20/runtime/gmerge.c klic-3.003-2002-03-21/runtime/gmerge.c --- klic-3.003-2002-03-20/runtime/gmerge.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/gmerge.c Thu Mar 21 21:33:14 2002 @@ -49,46 +49,46 @@ q newvar; top: - GC_SWITCH_ON_TERM(list0,atomic0,functor0,generic_data0,susp0); + G_SWITCH_ON_TERM(list0, atomic0, functor0, generic_data0, susp0); list0: { struct cons *newout; GC_TRY_TO_ALLOC(newout,(struct cons *),2,gc_request); - newout->car = G_CAR_OF(GC_TERM); + newout->car = G_CAR_OF(g_term); GCSET_VAR(newout->cdr); - GC_UNIFY(GC_SELF->outstream,G_MAKECONS(newout)); + do_shallow_unify(GC_SELF->outstream, G_MAKECONS(newout)); GC_SELF->outstream = newout->cdr; - GC_TERM = G_CDR_OF(GC_TERM); + g_term = G_CDR_OF(g_term); goto top; } atomic0: - if (GC_TERM == NILATOM) { + if (g_term == NILATOM) { if (--(GC_SELF->count) == 0) { - GC_UNIFY(GC_SELF->outstream,NILATOM); + do_shallow_unify(GC_SELF->outstream, NILATOM); } GC_TERMINATE; } else goto invalid_data; functor0: goto invalid_data; generic_data0: - if (GD_IS_CLASS(vector,GC_TERM)) { + if (GD_IS_CLASS(vector, g_term)) { unsigned long size; unsigned long i; { q argv[1]; - GD_CALL_GMETHOD(GC_TERM,vector_1, argv); + GD_CALL_GMETHOD(g_term, vector_1, argv); size = G_INTVAL(argv[0]); } GC_SELF->count += size - 1; if (GC_SELF->count == 0) { - GC_UNIFY(GC_SELF->outstream,NILATOM); + do_shallow_unify(GC_SELF->outstream, NILATOM); } else { q argv[2]; q hook_var; for (i=0; icount -= size-i-1; G_MAKE_VAR(newvar); - GC_MAKE_MERGE_IN_GOAL(newvar,GC_TERM,i,size); + GC_MAKE_MERGE_IN_GOAL(newvar, g_term, i, size); GC_RETURN_WITH_HOOK(newvar); } else goto invalid_data; susp0: - GC_RETURN_WITH_HOOK(GC_TERM); + GC_RETURN_WITH_HOOK(g_term); invalid_data: - debug_printf("### %k ###\n", GC_TERM); + debug_printf("### %k ###\n", g_term); fatal("Invalid data unified with merger"); gc_request: G_MAKE_VAR(newvar); - GC_KL1_UNIFY(GC_TERM,newvar); + GC_KL1_UNIFY(g_term, newvar); GC_RETURN_WITH_HOOK(newvar); } @@ -121,7 +121,7 @@ GCSET_NEWOBJ_IN_NEWGEN(newself); newself->count = GC_SELF->count; G_COPY_KL1_TERM_TO_NEWGEN(GC_SELF->outstream, newself->outstream); - GC_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } @@ -129,7 +129,7 @@ { G_STD_DECL; GC_PRINT("$$MERGER$"); - GC_RETURN_FROM_PRINT; + G_RETURN_FROM_PRINT(); } #define GCUSE_MY_UNIFY @@ -140,17 +140,17 @@ #include /* new_vector function */ -GCDEF_NEW() +G_DEF_NEW() { - GC_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GC_OBJ_TYPE *newmerger; q var; - if (GC_ARGC != 1) GC_ERROR_IN_NEW("Arity mismatch"); + if (g_argc != 1) G_ERROR_IN_NEW("Arity mismatch"); GCSET_NEWOBJ_FOR_NEW(newmerger,GC_OBJ_SIZE(newmerger)); newmerger->count = 1; - newmerger->outstream = GC_ARGV[0]; + newmerger->outstream = g_argv[0]; var = GC_MAKE_HOOK_VAR((struct consumer_object*) newmerger); - GC_RETURN_FROM_NEW(var); + return var; } diff -ruN klic-3.003-2002-03-20/runtime/gmodule.c klic-3.003-2002-03-21/runtime/gmodule.c --- klic-3.003-2002-03-20/runtime/gmodule.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/gmodule.c Thu Mar 21 21:33:19 2002 @@ -61,7 +61,7 @@ GDSET_NEWOBJ_IN_NEWGEN(newself); newself->name = GD_SELF->name; - GD_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } /* Generic method */ @@ -69,7 +69,7 @@ GDDEF_METHOD(name_1) { G_STD_DECL; - GD_UNIFY( GD_ARGV[0],GD_SELF->name); + do_shallow_unify(g_argv[0], GD_SELF->name); } @@ -77,7 +77,7 @@ { G_STD_DECL; - GD_SWITCH_ON_GMETHOD { + GD_SWITCH_ON_METHOD { GD_METHOD_CASE(name_1); GD_METHOD_CASE_DEFAULT; } @@ -89,7 +89,7 @@ GD_PRINT("name, 0, 1); GD_PRINT(">"); - GD_RETURN_FROM_PRINT; + G_RETURN_FROM_PRINT(); } GDDEF_GMETHOD(module_0) @@ -101,8 +101,8 @@ GDDEF_GMETHOD(defined_2) { G_STD_DECL; - q predname = GD_ARGV[0]; - q arity = GD_ARGV[1]; + q predname = g_argv[0]; + q arity = g_argv[1]; GD_GDEREF(predname); if (!G_ISSYM(predname)) GD_GFAIL; @@ -120,7 +120,7 @@ { G_STD_DECL; - GD_SWITCH_ON_GMETHOD { + GD_SWITCH_ON_METHOD { GD_GMETHOD_CASE(module_0); GD_GMETHOD_CASE(defined_2); GD_GMETHOD_CASE_DEFAULT; @@ -142,14 +142,14 @@ The argument is only one and it's the name of the module */ -GDDEF_NEW() +G_DEF_NEW() { - GD_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); q atom; const struct modinfo* mp; unsigned char *name; - GDSET_SYMARG_FOR_NEW(atom,GD_ARGV[0]); + GDSET_SYMARG_FOR_NEW(atom, g_argv[0]); name = namestringof(atom); for (mp = defined_modules; mp->name != 0; mp++) { if (strcmp((char *)mp->name, (char *)name) == 0) { diff -ruN klic-3.003-2002-03-20/runtime/gmvv.c klic-3.003-2002-03-21/runtime/gmvv.c --- klic-3.003-2002-03-20/runtime/gmvv.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/gmvv.c Thu Mar 21 21:49:55 2002 @@ -123,7 +123,7 @@ for (k=0; kbody[k]; Shallow(GD_SELF); - GD_UNIFY(GD_SELF->body[k], x); + do_shallow_unify(GD_SELF->body[k], x); Shallow(GD_OTHER); } } @@ -161,7 +161,7 @@ newself->body = GD_SELF->body; push_gc_stack((q*) &(newself->body)); } - GD_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } #ifdef DIST @@ -196,15 +196,15 @@ G_STD_DECL; int position; Shallow(GD_SELF); - GDSET_INTARG_WITHIN_RANGE(position,GD_ARGV[0],0,GD_SELF->index); - GD_UNIFY(GD_ARGV[1], GD_SELF->body[position]); + GDSET_INTARG_WITHIN_RANGE(position, g_argv[0], 0, GD_SELF->index); + do_shallow_unify(g_argv[1], GD_SELF->body[position]); } GDDEF_METHOD(size_1) { G_STD_DECL; Shallow(GD_SELF); - GD_UNIFY_VALUE(GD_ARGV[0], G_MAKEINT(GD_SELF->index)); + G_UNIFY_VALUE(g_argv[0], G_MAKEINT(GD_SELF->index)); } GDDEF_METHOD(set__element_3) @@ -220,14 +220,14 @@ size = GD_SELF->index; iscnst = GD_SELF->iscnst; body = GD_SELF->body; - GDSET_INTARG_WITHIN_RANGE(position,GD_ARGV[0],0,size); + GDSET_INTARG_WITHIN_RANGE(position, g_argv[0], 0, size); GDSET_NEWOBJ(newvect); if (!iscnst) { q olddata = body[position]; GD_SELF->index = position; GD_SELF->body = (q *)olddata; - body[position] = GD_ARGV[1]; + body[position] = g_argv[1]; GD_SELF->next = GD_OBJ(newvect); newvect->body = body; } else { @@ -235,13 +235,13 @@ q *newbody; GD_ALLOC_AREA(newbody,(q*),size); for (k=0; kbody = newbody; } newvect->next = VECTOR_SHALLOW_MARK; newvect->index = size; newvect->iscnst = 0; - GD_UNIFY_VALUE(GD_ARGV[2], GD_OBJ(newvect)); + G_UNIFY_VALUE(g_argv[2], GD_OBJ(newvect)); } GDDEF_METHOD(set__element_4) @@ -259,14 +259,14 @@ body = GD_SELF->body; iscnst = GD_SELF->iscnst; - GDSET_INTARG_WITHIN_RANGE(position,GD_ARGV[0],0,size); + GDSET_INTARG_WITHIN_RANGE(position, g_argv[0], 0, size); GDSET_NEWOBJ(newvect); olddata = body[position]; - GD_UNIFY(GD_ARGV[1], olddata); + do_shallow_unify(g_argv[1], olddata); if (!iscnst) { GD_SELF->index = position; GD_SELF->body = (q *)olddata; - body[position] = GD_ARGV[2]; + body[position] = g_argv[2]; GD_SELF->next = GD_OBJ(newvect); newvect->body = body; } else { @@ -274,13 +274,13 @@ q *newbody; GD_ALLOC_AREA(newbody,(q*),size); for (k=0; kbody = newbody; } newvect->next = VECTOR_SHALLOW_MARK; newvect->index = size; newvect->iscnst = 0; - GD_UNIFY_VALUE(GD_ARGV[3], GD_OBJ(newvect)); + G_UNIFY_VALUE(g_argv[3], GD_OBJ(newvect)); } GDDEF_METHOD(split_3) @@ -293,7 +293,7 @@ Shallow(GD_SELF); size = GD_SELF->index; - GDSET_INTARG_WITHIN_RANGE(split_point,GD_ARGV[0],0,size+1); + GDSET_INTARG_WITHIN_RANGE(split_point, g_argv[0], 0, size + 1); lower_size = size-split_point; GD_ALLOC_AREA(upper_body, (q *), split_point); GD_ALLOC_AREA(lower_body, (q *), lower_size); @@ -309,15 +309,15 @@ upper->body = upper_body; lower->body = lower_body; upper->iscnst = lower->iscnst = 0; - GD_UNIFY_VALUE(GD_ARGV[1],G_MAKEFUNCTOR(upper)); - GD_UNIFY_VALUE(GD_ARGV[2],G_MAKEFUNCTOR(lower)); + G_UNIFY_VALUE(g_argv[1], G_MAKEFUNCTOR(upper)); + G_UNIFY_VALUE(g_argv[2], G_MAKEFUNCTOR(lower)); } GDDEF_METHOD(join_2) { G_STD_DECL; unsigned long size1, size2, newsize; - q anotherq = GD_ARGV[0]; + q anotherq = g_argv[0]; GD_OBJ_TYPE *another, *new; q *newbody; @@ -344,7 +344,7 @@ new->index = newsize; new->body = newbody; new->iscnst = 0; - GD_UNIFY_VALUE(GD_ARGV[1],G_MAKEFUNCTOR(new)); + G_UNIFY_VALUE(g_argv[1], G_MAKEFUNCTOR(new)); } /* Generic Method Table */ @@ -371,8 +371,8 @@ long position; Shallow(GD_SELF); - GDSET_GINTARG_WITHIN_RANGE(position,GD_ARGV[0],0,GD_SELF->index); - GD_ARGV[1] = GD_SELF->body[position]; + GDSET_GINTARG_WITHIN_RANGE(position, g_argv[0], 0, GD_SELF->index); + g_argv[1] = GD_SELF->body[position]; GD_GSUCCEED; } @@ -380,14 +380,14 @@ { G_STD_DECL; Shallow(GD_SELF); - GD_ARGV[0] = G_MAKEINT(GD_SELF->index); + g_argv[0] = G_MAKEINT(GD_SELF->index); GD_GSUCCEED; } GDDEF_GGENERIC() { G_STD_DECL; - GD_SWITCH_ON_GMETHOD { + GD_SWITCH_ON_METHOD { GD_GMETHOD_CASE(element_2); GD_GMETHOD_CASE(vector_1); GD_GMETHOD_CASE_DEFAULT; @@ -409,7 +409,7 @@ } if (size != limit) GD_PRINT(",.."); GD_PRINT("}"); - GD_RETURN_FROM_PRINT; + G_RETURN_FROM_PRINT(); } GDDEF_COMPARE() @@ -477,40 +477,40 @@ #include /* new_vector function */ -GDDEF_NEW() +G_DEF_NEW() { - GD_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GD_OBJ_TYPE *newvect; q *body; long size, k; q init; - if (GD_ARGC!=1) GD_ERROR_IN_NEW("Too few or too many arguments"); - init = GD_ARGV[0]; - GD_DEREF_FOR_NEW(init); + if( g_argc != 1 ) G_ERROR_IN_NEW("Too few or too many arguments"); + init = g_argv[0]; + G_DEREF_FOR_NEW(init); GDSET_NEWOBJ_FOR_NEW(newvect, G_SIZE_IN_Q(GD_OBJ_TYPE)); if (G_ISINT(init)) { size = G_INTVAL(init); - if (size < 0) GD_ERROR_IN_NEW("Negative size specified"); + if (size < 0) G_ERROR_IN_NEW("Negative size specified"); GD_ALLOC_AREA_FOR_NEW(body, (q*), size); for (k=0; knext = VECTOR_SHALLOW_MARK; newvect->iscnst = 0; diff -ruN klic-3.003-2002-03-20/runtime/gpointer.c klic-3.003-2002-03-21/runtime/gpointer.c --- klic-3.003-2002-03-20/runtime/gpointer.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/gpointer.c Thu Mar 21 21:33:33 2002 @@ -39,7 +39,7 @@ GDSET_NEWOBJ_IN_NEWGEN(newself); newself->pointer = GD_SELF->pointer; - GD_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } #define GDUSE_MY_GUNIFY @@ -48,15 +48,15 @@ #include -GDDEF_NEW() +G_DEF_NEW() { - GD_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GD_OBJ_TYPE *newobj; - if (GD_ARGC != 1) fatal("Argument mismatch in pointer:new"); + if (g_argc != 1) fatal("Argument mismatch in pointer:new"); G_HEAPALLOC(newobj,GD_OBJ_SIZE(newobj),(GD_OBJ_TYPE *)); newobj->method_table = &G_method_table; - newobj->pointer = (char *)GD_ARGV[0]; + newobj->pointer = (char*) g_argv[0]; GD_RETURN_FROM_NEW(newobj); } diff -ruN klic-3.003-2002-03-20/runtime/gstring.c klic-3.003-2002-03-21/runtime/gstring.c --- klic-3.003-2002-03-20/runtime/gstring.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/gstring.c Thu Mar 21 21:50:14 2002 @@ -145,7 +145,7 @@ newself->body = GD_SELF->body; G_COPY_KL1_TERM_TO_NEWGEN(GD_SELF->next, newself->next); } - GD_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } #ifdef DIST @@ -177,8 +177,8 @@ { G_STD_DECL; Shallow(GD_SELF); - GD_UNIFY_VALUE(GD_ARGV[0],G_MAKEINT(GD_SELF->index)); - GD_UNIFY_VALUE(GD_ARGV[1],G_MAKEINT(ELEMSIZE)); + G_UNIFY_VALUE(g_argv[0], G_MAKEINT(GD_SELF->index)); + G_UNIFY_VALUE(g_argv[1], G_MAKEINT(ELEMSIZE)); } GDDEF_METHOD(element_2) @@ -186,23 +186,22 @@ G_STD_DECL; long position; Shallow(GD_SELF); - GDSET_INTARG_WITHIN_RANGE(position,GD_ARGV[0],0,(long)(GD_SELF->index)); - GD_UNIFY_VALUE(GD_ARGV[1], - G_MAKEINT((unsigned long)(GD_SELF->body[position]))); + GDSET_INTARG_WITHIN_RANGE(position, g_argv[0], 0, (long) GD_SELF->index); + G_UNIFY_VALUE(g_argv[1], G_MAKEINT((unsigned long) GD_SELF->body[position])); } GDDEF_METHOD(size_1) { G_STD_DECL; Shallow(GD_SELF); - GD_UNIFY_VALUE(GD_ARGV[0],G_MAKEINT(GD_SELF->index)); + G_UNIFY_VALUE(g_argv[0], G_MAKEINT(GD_SELF->index)); } GDDEF_METHOD(element__size_1) { G_STD_DECL; Shallow(GD_SELF); - GD_UNIFY_VALUE(GD_ARGV[0],G_MAKEINT(ELEMSIZE)); + G_UNIFY_VALUE(g_argv[0], G_MAKEINT(ELEMSIZE)); } GDDEF_METHOD(set__element_3) @@ -218,8 +217,8 @@ size = GD_SELF->index; iscnst = GD_SELF->iscnst; body = GD_SELF->body; - GDSET_INTARG_WITHIN_RANGE(position,GD_ARGV[0],0,size); - GDSET_INTARG_WITHIN_RANGE(newelem,GD_ARGV[1],0,256); + GDSET_INTARG_WITHIN_RANGE(position, g_argv[0], 0, size); + GDSET_INTARG_WITHIN_RANGE(newelem, g_argv[1], 0, 256); GDSET_NEWOBJ(newstr); if (!iscnst) { unsigned char olddata = body[position]; @@ -240,7 +239,7 @@ newstr->next = STRING_SHALLOW_MARK; newstr->index = size; newstr->iscnst = 0; - GD_UNIFY_VALUE(GD_ARGV[2], GD_OBJ(newstr)); + G_UNIFY_VALUE(g_argv[2], GD_OBJ(newstr)); } GDDEF_METHOD(split_3) @@ -253,7 +252,7 @@ Shallow(GD_SELF); size = GD_SELF->index; - GDSET_INTARG_WITHIN_RANGE(split_point,GD_ARGV[0],0,size+1); + GDSET_INTARG_WITHIN_RANGE(split_point, g_argv[0], 0, size + 1); lower_size = size-split_point; GD_ALLOC_AREA(upper_body, (unsigned char *), ROUND_UP(split_point)); GD_ALLOC_AREA(lower_body, (unsigned char *), ROUND_UP(lower_size)); @@ -269,15 +268,15 @@ upper->ismbdiff = lower->ismbdiff = 0; upper->body = upper_body; lower->body = lower_body; - GD_UNIFY_VALUE(GD_ARGV[1],G_MAKEFUNCTOR(upper)); - GD_UNIFY_VALUE(GD_ARGV[2],G_MAKEFUNCTOR(lower)); + G_UNIFY_VALUE(g_argv[1], G_MAKEFUNCTOR(upper)); + G_UNIFY_VALUE(g_argv[2], G_MAKEFUNCTOR(lower)); } GDDEF_METHOD(join_2) { G_STD_DECL; unsigned long size1, size2, newsize; - q anotherq = GD_ARGV[0]; + q anotherq = g_argv[0]; GD_OBJ_TYPE *another, *new; unsigned char *newbody; @@ -305,7 +304,7 @@ new->iscnst = 0; new->ismbdiff = 0; new->body = newbody; - GD_UNIFY_VALUE(GD_ARGV[1],G_MAKEFUNCTOR(new)); + G_UNIFY_VALUE(g_argv[1], G_MAKEFUNCTOR(new)); } GDDEF_METHOD(search__character_4) @@ -315,9 +314,9 @@ unsigned long k; Shallow(GD_SELF); - GDSET_INTARG_WITHIN_RANGE(start,GD_ARGV[0],0, (long)(GD_SELF->index)); - GDSET_INTARG_WITHIN_RANGE(end,GD_ARGV[1],0, (long)(GD_SELF->index)); - GDSET_INTARG_WITHIN_RANGE(code,GD_ARGV[2],0,256L); + GDSET_INTARG_WITHIN_RANGE(start, g_argv[0], 0, (long) GD_SELF->index); + GDSET_INTARG_WITHIN_RANGE(end, g_argv[1], 0, (long) GD_SELF->index); + GDSET_INTARG_WITHIN_RANGE(code, g_argv[2], 0, 256L); if (start <= end) { for (k=start; k<=end; k++) { if (((unsigned long) GD_SELF->body[k]) == code) goto done; @@ -327,11 +326,11 @@ if (((unsigned long) GD_SELF->body[k]) == code) goto done; } } - GD_UNIFY_VALUE(GD_ARGV[3],G_MAKEINT(-1L)); + G_UNIFY_VALUE(g_argv[3], G_MAKEINT(-1L)); return; - done: - GD_UNIFY_VALUE(GD_ARGV[3],G_MAKEINT(k)); + done: + G_UNIFY_VALUE(g_argv[3], G_MAKEINT(k)); } @@ -361,8 +360,8 @@ long position; Shallow(GD_SELF); - GDSET_GINTARG_WITHIN_RANGE(position,GD_ARGV[0],0, (long)(GD_SELF->index)); - GD_ARGV[1] = G_MAKEINT((long)(GD_SELF->body[position])); + GDSET_GINTARG_WITHIN_RANGE(position, g_argv[0], 0, (long) GD_SELF->index); + g_argv[1] = G_MAKEINT((long) GD_SELF->body[position]); GD_GSUCCEED; } @@ -371,8 +370,8 @@ G_STD_DECL; Shallow(GD_SELF); - GD_ARGV[0] = G_MAKEINT(GD_SELF->index); - GD_ARGV[1] = G_MAKEINT(ELEMSIZE); + g_argv[0] = G_MAKEINT(GD_SELF->index); + g_argv[1] = G_MAKEINT(ELEMSIZE); GD_GSUCCEED; } @@ -413,7 +412,7 @@ GDDEF_GMETHOD(less__than_1) { G_STD_DECL; - q otherq = GD_ARGV[0]; + q otherq = g_argv[0]; GD_OBJ_TYPE *other; int cmp; @@ -427,7 +426,7 @@ GDDEF_GMETHOD(not__less__than_1) { G_STD_DECL; - q otherq = GD_ARGV[0]; + q otherq = g_argv[0]; GD_OBJ_TYPE *other; int cmp; @@ -446,9 +445,9 @@ Shallow(GD_SELF); size = GD_SELF->index; - if (G_INTVAL(GD_ARGV[0])!= size) GD_GFAIL; - if (G_INTVAL(GD_ARGV[1])!= ELEMSIZE) GD_GFAIL; - tmp = GD_ARGV[2]; + if( G_INTVAL(g_argv[0]) != size ) GD_GFAIL; + if( G_INTVAL(g_argv[1]) != ELEMSIZE ) GD_GFAIL; + tmp = g_argv[2]; for(k=0; kbody[k]) GD_GFAIL; } @@ -459,7 +458,7 @@ { G_STD_DECL; - GD_SWITCH_ON_GMETHOD { + GD_SWITCH_ON_METHOD { GD_GMETHOD_CASE(element_2); GD_GMETHOD_CASE(string_2); GD_GMETHOD_CASE(less__than_1); @@ -491,7 +490,7 @@ } if (limit != size) GD_PRINT(".."); GD_PUTC('"'); - GD_RETURN_FROM_PRINT; + G_RETURN_FROM_PRINT(); } GDDEF_COMPARE() @@ -551,22 +550,22 @@ #include /* new_string function */ -GDDEF_NEW() +G_DEF_NEW() { - GD_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GD_OBJ_TYPE *newstr; unsigned char *body; long size; q init; - if (GD_ARGC!=1) GD_ERROR_IN_NEW("Too few or too many arguments"); - init = GD_ARGV[0]; - GD_DEREF_FOR_NEW(init); + if( g_argc != 1 ) G_ERROR_IN_NEW("Too few or too many arguments"); + init = g_argv[0]; + G_DEREF_FOR_NEW(init); GDSET_NEWOBJ_FOR_NEW(newstr, G_SIZE_IN_Q(GD_OBJ_TYPE)); if (G_ISINT(init)) { unsigned long qsize; size = G_INTVAL(init); - if (size < 0) GD_ERROR_IN_NEW("Negative size specified"); + if (size < 0) G_ERROR_IN_NEW("Negative size specified"); qsize = ROUND_UP(size); GD_ALLOC_AREA_FOR_NEW(body, (unsigned char *), qsize); BZERO(body, qsize*sizeof(q)); @@ -576,28 +575,28 @@ q elem; if (init == NILATOM) break; elem = G_CAR_OF(init); - GD_DEREF_FOR_NEW(elem); + G_DEREF_FOR_NEW(elem); if (!G_ISINT(elem) || G_INTVAL(elem) < 0 || 256 <= G_INTVAL(elem)) { - GD_ERROR_IN_NEW("Invalid parameter"); + G_ERROR_IN_NEW("Invalid parameter"); } init = G_CDR_OF(init); - GD_DEREF_FOR_NEW(init); + G_DEREF_FOR_NEW(init); if (init!=NILATOM && !G_ISCONS(init)) - GD_ERROR_IN_NEW("Invalid parameter"); + G_ERROR_IN_NEW("Invalid parameter"); } qsize = ROUND_UP(size); - init = GD_ARGV[0]; + init = g_argv[0]; GD_ALLOC_AREA_FOR_NEW(body, (unsigned char *), qsize); for (k=0; knext = STRING_SHALLOW_MARK; newstr->iscnst = 0; @@ -743,13 +742,13 @@ #undef CLASS_NAME #define CLASS_NAME string -GDDEF_NEW() +G_DEF_NEW() { - GD_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); long elemsize; - if (GD_ARGC!=2) GD_ERROR_IN_NEW("Too few or too many arguments"); - GDSET_INTARG_FOR_NEW(elemsize, GD_ARGV[1]); - if (elemsize != 8) GD_ERROR_IN_NEW("Only byte strings are supported now"); - return byte__string_g_new(1, GD_ARGV); + if( g_argc != 2 ) G_ERROR_IN_NEW("Too few or too many arguments"); + GDSET_INTARG_FOR_NEW(elemsize, g_argv[1]); + if (elemsize != 8) G_ERROR_IN_NEW("Only byte strings are supported now"); + return byte__string_g_new(1, g_argv); } diff -ruN klic-3.003-2002-03-20/runtime/gtermarray.c klic-3.003-2002-03-21/runtime/gtermarray.c --- klic-3.003-2002-03-20/runtime/gtermarray.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/gtermarray.c Thu Mar 21 21:33:56 2002 @@ -45,7 +45,7 @@ for (i=0; i < size; i++) { G_COPY_KL1_TERM_TO_NEWGEN(GD_SELF->terms[i],newself->terms[i]); } - GD_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } #define GDUSE_MY_GUNIFY @@ -54,10 +54,10 @@ #include -GDDEF_NEW() +G_DEF_NEW() { - GD_STD_DECL_FOR_NEW; - unsigned long size = GD_ARGC; + G_STD_DECL_FOR_NEW(); + unsigned long size = g_argc; GD_OBJ_TYPE *newobj; int i; @@ -65,7 +65,7 @@ newobj->method_table = &G_method_table; newobj->nterm = size; for (i=0; iterms[i] = GD_ARGV[i]; + newobj->terms[i] = g_argv[i]; } GD_RETURN_FROM_NEW(newobj); } diff -ruN klic-3.003-2002-03-20/runtime/random.c klic-3.003-2002-03-21/runtime/random.c --- klic-3.003-2002-03-20/runtime/random.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/random.c Thu Mar 21 21:50:26 2002 @@ -34,28 +34,28 @@ G_STD_DECL; top: - if( GC_TERM == NILATOM ){ + if( g_term == NILATOM ){ GC_TERMINATE; - }else if( isref(GC_TERM) ){ - q temp = derefone(GC_TERM); - if( isref(temp) && (temp == GC_TERM || derefone(temp) == GC_TERM) ){ - GC_RETURN_WITH_HOOK(GC_TERM); + }else if( isref(g_term) ){ + q temp = derefone(g_term); + if( isref(temp) && (temp == g_term || derefone(temp) == g_term) ){ + GC_RETURN_WITH_HOOK(g_term); }else{ - GC_TERM = temp; + g_term = temp; goto top; } - }else if( iscons(GC_TERM) ){ + }else if( iscons(g_term) ){ long one_random; do{ one_random = nrand48(GC_SELF->state); }while( one_random >= GC_SELF->max ); - derefone(car_of(GC_TERM)) = makeint(one_random % GC_SELF->range); - GC_TERM = cdr_of(GC_TERM); + derefone(car_of(g_term)) = makeint(one_random % GC_SELF->range); + g_term = cdr_of(g_term); goto top; }else{ - fatalf("random_numbers: does not support message %k", GC_TERM); + fatalf("random_numbers: does not support message %k", g_term); } } @@ -81,30 +81,30 @@ #include -GCDEF_NEW() +G_DEF_NEW() { - GC_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GC_OBJ_TYPE* obj; long seed; long range; - if( GC_ARGC < 1 || 2 < GC_ARGC ){ - debug_printf("Wrong number of arguments (%d)", GC_ARGC); - GC_ERROR_IN_NEW(""); + if( g_argc < 1 || 2 < g_argc ){ + debug_printf("Wrong number of arguments (%d)", g_argc); + G_ERROR_IN_NEW(""); } - GC_DEREF_FOR_NEW(GC_ARGV[0]); - if( !isint(GC_ARGV[0]) ) GC_ERROR_IN_NEW("First argument is not integer"); - range = intval(GC_ARGV[0]); + G_DEREF_FOR_NEW(g_argv[0]); + if( !isint(g_argv[0]) ) G_ERROR_IN_NEW("First argument is not integer"); + range = intval(g_argv[0]); if( range < 1 ){ debug_printf("Invalid first argument (%d)", range); - GC_ERROR_IN_NEW(""); + G_ERROR_IN_NEW(""); } - if( GC_ARGC > 1 ){ - GC_DEREF_FOR_NEW(GC_ARGV[1]); - if( !isint(GC_ARGV[1]) ) GC_ERROR_IN_NEW("Second argument is not integer"); - seed = intval(GC_ARGV[1]); + if( g_argc > 1 ){ + G_DEREF_FOR_NEW(g_argv[1]); + if( !isint(g_argv[1]) ) G_ERROR_IN_NEW("Second argument is not integer"); + seed = intval(g_argv[1]); }else{ seed = 0; } @@ -116,6 +116,6 @@ obj->state[2] = seed >> (sizeof(seed)*0); obj->range = range; obj->max = ((~0LU << 1) >> 1) / range * range; - GC_RETURN_FROM_NEW(GC_MAKE_HOOK_VAR((struct consumer_object*) obj)); + return GC_MAKE_HOOK_VAR((struct consumer_object*) obj); } #endif /* NRAND48 */ diff -ruN klic-3.003-2002-03-20/runtime/wakeup.c klic-3.003-2002-03-21/runtime/wakeup.c --- klic-3.003-2002-03-20/runtime/wakeup.c Wed Mar 20 15:35:27 2002 +++ klic-3.003-2002-03-21/runtime/wakeup.c Thu Mar 21 21:34:07 2002 @@ -39,7 +39,7 @@ GCSET_NEWOBJ_IN_NEWGEN(newself); G_COPY_KL1_TERM_TO_NEWGEN(GC_SELF->x,newself->x); G_COPY_KL1_TERM_TO_NEWGEN(GC_SELF->y,newself->y); - GC_RETURN_FROM_GC(newself); + G_RETURN_FROM_GC(newself); } @@ -47,7 +47,7 @@ { G_STD_DECL; GC_PRINT("$$WAKEUP$"); - GC_RETURN_FROM_PRINT; + G_RETURN_FROM_PRINT(); } #define GCUSE_MY_UNIFY @@ -58,17 +58,17 @@ #include /* new_vector function */ -GCDEF_NEW() +G_DEF_NEW() { - GC_STD_DECL_FOR_NEW; + G_STD_DECL_FOR_NEW(); GC_OBJ_TYPE *wakeup; q var; - if (GC_ARGC != 2) fatal("arity mismatch in creation of a merger."); + if (g_argc != 2) fatal("arity mismatch in creation of a merger."); GCSET_NEWOBJ_FOR_NEW(wakeup,GC_OBJ_SIZE(wakeup)); - wakeup->x = GC_ARGV[0]; - wakeup->y = GC_ARGV[1]; + wakeup->x = g_argv[0]; + wakeup->y = g_argv[1]; var = GC_MAKE_HOOK_VAR((struct consumer_object*) wakeup); - GC_RETURN_FROM_NEW(var); + return var; }