diff options
Diffstat (limited to 'gcc/melt/generated/warmelt-first.0+01.c')
-rw-r--r-- | gcc/melt/generated/warmelt-first.0+01.c | 6240 |
1 files changed, 3973 insertions, 2267 deletions
diff --git a/gcc/melt/generated/warmelt-first.0+01.c b/gcc/melt/generated/warmelt-first.0+01.c index f05bb5bd956..47f80d6a556 100644 --- a/gcc/melt/generated/warmelt-first.0+01.c +++ b/gcc/melt/generated/warmelt-first.0+01.c @@ -204,192 +204,137 @@ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_35_warmelt_first_MAPOBJECT_ITERATE_TE -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_36_warmelt_first_MAPSTRING_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_36_warmelt_first_LIST_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_37_warmelt_first_MAPSTRING_ITERATE_TEST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_37_warmelt_first_LIST_ITERATE_TEST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_warmelt_first_LIST_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_warmelt_first_LIST_APPEND2LIST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_warmelt_first_LIST_ITERATE_TEST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_warmelt_first_LIST_MAP(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_warmelt_first_LIST_APPEND2LIST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_warmelt_first_LIST_FIND(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_warmelt_first_LIST_MAP(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_warmelt_first_LIST_TO_MULTIPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_warmelt_first_LIST_FIND(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_warmelt_first_LIST_TO_MULTIPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_warmelt_first_PAIRLIST_TO_MULTIPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_warmelt_first_MULTIPLE_ITERATE_TEST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_warmelt_first_PAIRLIST_TO_MULTIPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_warmelt_first_MULTIPLE_MAP(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_warmelt_first_MULTIPLE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_warmelt_first_MULTIPLE_TO_LIST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_warmelt_first_MULTIPLE_BACKWARD_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_warmelt_first_CLOSURE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_warmelt_first_MULTIPLE_EVERY_BOTH(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_warmelt_first_ROUTINE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_warmelt_first_MULTIPLE_ITERATE_TEST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_warmelt_first_INSTALL_METHOD(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_warmelt_first_MULTIPLE_MAP(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_warmelt_first_COMPARE_OBJ_RANKED(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_51_warmelt_first_MULTIPLE_TO_LIST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_51_warmelt_first_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_52_warmelt_first_CLOSURE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_52_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_53_warmelt_first_ROUTINE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_53_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_54_warmelt_first_LIST1(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_54_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_55_warmelt_first_LIST2(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_55_warmelt_first_FRESH_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_56_warmelt_first_LIST3(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_56_warmelt_first_FIND_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_57_warmelt_first_LIST4(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_57_warmelt_first_FIND_ENV_DEBUG(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_58_warmelt_first_LIST5(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_58_warmelt_first_FIND_ENCLOSING_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_59_warmelt_first_LIST6(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_59_warmelt_first_PUT_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_60_warmelt_first_INSTALL_METHOD(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_60_warmelt_first_OVERWRITE_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_61_warmelt_first_COMPARE_OBJ_RANKED(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_61_warmelt_first_POST_INITIALIZATION(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_62_warmelt_first_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); - - - - -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_63_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); - - - - -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_64_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); - - - - -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_65_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); - - - - -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_66_warmelt_first_FRESH_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); - - - - -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_67_warmelt_first_FIND_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); - - - - -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_68_warmelt_first_FIND_ENV_DEBUG(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); - - - - -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_69_warmelt_first_FIND_ENCLOSING_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); - - - - -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_70_warmelt_first_PUT_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); - - - - -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_71_warmelt_first_OVERWRITE_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); - - - - -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_72_warmelt_first_POST_INITIALIZATION(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); - - - - -melt_ptr_t MELT_MODULE_VISIBILITY meltrout_73_warmelt_first_DEBUG_MSG_FUN(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); +melt_ptr_t MELT_MODULE_VISIBILITY meltrout_62_warmelt_first_DEBUG_MSG_FUN(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_); void* start_module_melt(void*); @@ -446,7 +391,7 @@ melt_trace_start("AT_FINISH_UNIT_LAST", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2512:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2450:/ getarg"); /*_.FUN__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; @@ -455,7 +400,7 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2515:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2453:/ quasiblock"); /*^getslot*/ @@ -464,7 +409,7 @@ lab_endgetargs:; ; /*_#IS_CLOSURE__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.FUN__V2*/ curfptr[1])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2517:/ cond"); + MELT_LOCATION("warmelt-first.melt:2455:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -481,7 +426,7 @@ lab_endgetargs:; } /*noelse*/ ; - MELT_LOCATION("warmelt-first.melt:2515:/ clear"); + MELT_LOCATION("warmelt-first.melt:2453:/ clear"); /*clear*/ /*_.LASTLIST__V3*/ curfptr[2] = 0 ; /*^clear*/ /*clear*/ /*_#IS_CLOSURE__L1*/ curfnum[0] = 0 ; @@ -547,7 +492,7 @@ melt_trace_start("INIT_OPTIONSETTER", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2534:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2472:/ getarg"); /*_.OPTSYMB__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -563,13 +508,13 @@ lab_endgetargs:; #if ENABLE_CHECKING - MELT_LOCATION("warmelt-first.melt:2535:/ cppif.then"); + MELT_LOCATION("warmelt-first.melt:2473:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_CALLCOUNT__L1*/ curfnum[0] = callcount;; - MELT_LOCATION("warmelt-first.melt:2535:/ apply"); + MELT_LOCATION("warmelt-first.melt:2473:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); @@ -580,14 +525,14 @@ lab_endgetargs:; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-first.melt"; /*^apply.arg*/ - argtab[3].bp_long = 2535; + argtab[3].bp_long = 2473; /*_.DEBUG_MSG_FUN__V4*/ curfptr[3] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.OPTSYMB__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V3*/ curfptr[2] = /*_.DEBUG_MSG_FUN__V4*/ curfptr[3];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2535:/ clear"); + MELT_LOCATION("warmelt-first.melt:2473:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L1*/ curfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V4*/ curfptr[3] = 0 ;} @@ -597,7 +542,7 @@ lab_endgetargs:; /*_.IFCPP___V3*/ curfptr[2] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; - MELT_LOCATION("warmelt-first.melt:2536:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2474:/ quasiblock"); /*^getslot*/ @@ -606,7 +551,7 @@ lab_endgetargs:; ; /*_.OPTDEC__V7*/ curfptr[6] = melt_get_mapobjects((meltmapobjects_ptr_t)(/*_.OPTMAP__V6*/ curfptr[5]), (meltobject_ptr_t)(/*_.OPTSYMB__V2*/ curfptr[1]));; - MELT_LOCATION("warmelt-first.melt:2538:/ cond"); + MELT_LOCATION("warmelt-first.melt:2476:/ cond"); /*cond*/ if (/*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.OPTSYMB__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_NAMED*/ curfrout->tabval[2])))) /*then*/ { /*^cond.then*/ /*^getslot*/ @@ -620,17 +565,17 @@ lab_endgetargs:; ; #if ENABLE_CHECKING - MELT_LOCATION("warmelt-first.melt:2540:/ cppif.then"); + MELT_LOCATION("warmelt-first.melt:2478:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ curfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.OPTSYMB__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_SYMBOL*/ curfrout->tabval[3])));; - MELT_LOCATION("warmelt-first.melt:2540:/ cond"); + MELT_LOCATION("warmelt-first.melt:2478:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V10*/ curfptr[9] = (/*nil*/NULL);; - } else {MELT_LOCATION("warmelt-first.melt:2540:/ cond.else"); + } else {MELT_LOCATION("warmelt-first.melt:2478:/ cond.else"); /*^block*/ /*anyblock*/{ @@ -641,7 +586,7 @@ lab_endgetargs:; { /*^locexp*/ melt_assert_failed(( "check optsymb"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, - (2540)?(2540):__LINE__, __FUNCTION__); + (2478)?(2478):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V10*/ curfptr[9] = 0 ; @@ -655,7 +600,7 @@ lab_endgetargs:; /*_.IFCPP___V9*/ curfptr[8] = /*_.IFELSE___V10*/ curfptr[9];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2540:/ clear"); + MELT_LOCATION("warmelt-first.melt:2478:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V10*/ curfptr[9] = 0 ;} @@ -665,13 +610,13 @@ lab_endgetargs:; /*_.IFCPP___V9*/ curfptr[8] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; - MELT_LOCATION("warmelt-first.melt:2541:/ cond"); + MELT_LOCATION("warmelt-first.melt:2479:/ cond"); /*cond*/ if (/*_.OPTDEC__V7*/ curfptr[6]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2542:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2480:/ quasiblock"); /*^cond*/ @@ -688,17 +633,17 @@ lab_endgetargs:; ; #if ENABLE_CHECKING - MELT_LOCATION("warmelt-first.melt:2544:/ cppif.then"); + MELT_LOCATION("warmelt-first.melt:2482:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L3*/ curfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.OPTDEC__V7*/ curfptr[6]), (melt_ptr_t)((/*!CLASS_OPTION_DESCRIPTOR*/ curfrout->tabval[4])));; - MELT_LOCATION("warmelt-first.melt:2544:/ cond"); + MELT_LOCATION("warmelt-first.melt:2482:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V15*/ curfptr[14] = (/*nil*/NULL);; - } else {MELT_LOCATION("warmelt-first.melt:2544:/ cond.else"); + } else {MELT_LOCATION("warmelt-first.melt:2482:/ cond.else"); /*^block*/ /*anyblock*/{ @@ -709,7 +654,7 @@ lab_endgetargs:; { /*^locexp*/ melt_assert_failed(( "check optdec"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, - (2544)?(2544):__LINE__, __FUNCTION__); + (2482)?(2482):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V15*/ curfptr[14] = 0 ; @@ -723,7 +668,7 @@ lab_endgetargs:; /*_.IFCPP___V14*/ curfptr[13] = /*_.IFELSE___V15*/ curfptr[14];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2544:/ clear"); + MELT_LOCATION("warmelt-first.melt:2482:/ clear"); /*clear*/ /*_#IS_A__L3*/ curfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V15*/ curfptr[14] = 0 ;} @@ -735,13 +680,13 @@ lab_endgetargs:; ; #if ENABLE_CHECKING - MELT_LOCATION("warmelt-first.melt:2545:/ cppif.then"); + MELT_LOCATION("warmelt-first.melt:2483:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_CALLCOUNT__L4*/ curfnum[0] = callcount;; - MELT_LOCATION("warmelt-first.melt:2545:/ apply"); + MELT_LOCATION("warmelt-first.melt:2483:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); @@ -752,14 +697,14 @@ lab_endgetargs:; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-first.melt"; /*^apply.arg*/ - argtab[3].bp_long = 2545; + argtab[3].bp_long = 2483; /*_.DEBUG_MSG_FUN__V17*/ curfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.OPTDEC__V7*/ curfptr[6]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V16*/ curfptr[14] = /*_.DEBUG_MSG_FUN__V17*/ curfptr[16];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2545:/ clear"); + MELT_LOCATION("warmelt-first.melt:2483:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L4*/ curfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V17*/ curfptr[16] = 0 ;} @@ -769,7 +714,7 @@ lab_endgetargs:; /*_.IFCPP___V16*/ curfptr[14] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; - MELT_LOCATION("warmelt-first.melt:2546:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2484:/ quasiblock"); /*^apply*/ @@ -783,13 +728,13 @@ lab_endgetargs:; ; #if ENABLE_CHECKING - MELT_LOCATION("warmelt-first.melt:2548:/ cppif.then"); + MELT_LOCATION("warmelt-first.melt:2486:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_CALLCOUNT__L5*/ curfnum[0] = callcount;; - MELT_LOCATION("warmelt-first.melt:2548:/ apply"); + MELT_LOCATION("warmelt-first.melt:2486:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); @@ -800,14 +745,14 @@ lab_endgetargs:; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-first.melt"; /*^apply.arg*/ - argtab[3].bp_long = 2548; + argtab[3].bp_long = 2486; /*_.DEBUG_MSG_FUN__V21*/ curfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.OPTRES__V19*/ curfptr[18]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V20*/ curfptr[19] = /*_.DEBUG_MSG_FUN__V21*/ curfptr[20];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2548:/ clear"); + MELT_LOCATION("warmelt-first.melt:2486:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L5*/ curfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V21*/ curfptr[20] = 0 ;} @@ -817,16 +762,16 @@ lab_endgetargs:; /*_.IFCPP___V20*/ curfptr[19] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; - MELT_LOCATION("warmelt-first.melt:2549:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2487:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.OPTRES__V19*/ curfptr[18];; - MELT_LOCATION("warmelt-first.melt:2549:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2487:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.LET___V18*/ curfptr[16] = /*_.RETURN___V22*/ curfptr[20];; - MELT_LOCATION("warmelt-first.melt:2546:/ clear"); + MELT_LOCATION("warmelt-first.melt:2484:/ clear"); /*clear*/ /*_.OPTRES__V19*/ curfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V20*/ curfptr[19] = 0 ; @@ -834,7 +779,7 @@ lab_endgetargs:; /*clear*/ /*_.RETURN___V22*/ curfptr[20] = 0 ; /*_.LET___V12*/ curfptr[11] = /*_.LET___V18*/ curfptr[16];; - MELT_LOCATION("warmelt-first.melt:2542:/ clear"); + MELT_LOCATION("warmelt-first.melt:2480:/ clear"); /*clear*/ /*_.OPTFUN__V13*/ curfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V14*/ curfptr[13] = 0 ; @@ -845,7 +790,7 @@ lab_endgetargs:; /*_.IFELSE___V11*/ curfptr[9] = /*_.LET___V12*/ curfptr[11];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2541:/ clear"); + MELT_LOCATION("warmelt-first.melt:2479:/ clear"); /*clear*/ /*_.LET___V12*/ curfptr[11] = 0 ;} ; } else {/*^cond.else*/ @@ -855,18 +800,18 @@ lab_endgetargs:; { - MELT_LOCATION("warmelt-first.melt:2552:/ locexp"); + MELT_LOCATION("warmelt-first.melt:2490:/ locexp"); warning (0, "unrecognized MELT option %s. Use -f[plugin-arg-]melt-option=help", melt_string_str (/*_.OPTNAME__V8*/ curfptr[7])) ;} ; - MELT_LOCATION("warmelt-first.melt:2554:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2492:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = NULL;; - MELT_LOCATION("warmelt-first.melt:2554:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2492:/ finalreturn"); ; /*finalret*/ goto labend_rout ; - MELT_LOCATION("warmelt-first.melt:2550:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2488:/ quasiblock"); /*_.PROGN___V24*/ curfptr[19] = /*_.RETURN___V23*/ curfptr[18];; @@ -875,7 +820,7 @@ lab_endgetargs:; /*_.IFELSE___V11*/ curfptr[9] = /*_.PROGN___V24*/ curfptr[19];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2541:/ clear"); + MELT_LOCATION("warmelt-first.melt:2479:/ clear"); /*clear*/ /*_.RETURN___V23*/ curfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V24*/ curfptr[19] = 0 ;} @@ -884,7 +829,7 @@ lab_endgetargs:; ; /*_.LET___V5*/ curfptr[3] = /*_.IFELSE___V11*/ curfptr[9];; - MELT_LOCATION("warmelt-first.melt:2536:/ clear"); + MELT_LOCATION("warmelt-first.melt:2474:/ clear"); /*clear*/ /*_.OPTMAP__V6*/ curfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.OPTDEC__V7*/ curfptr[6] = 0 ; @@ -894,11 +839,11 @@ lab_endgetargs:; /*clear*/ /*_.IFCPP___V9*/ curfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V11*/ curfptr[9] = 0 ; - MELT_LOCATION("warmelt-first.melt:2534:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2472:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V5*/ curfptr[3];; - MELT_LOCATION("warmelt-first.melt:2534:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2472:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -966,7 +911,7 @@ melt_trace_start("REGISTER_OPTION", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2557:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2495:/ getarg"); /*_.OPTSYMB__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -991,7 +936,7 @@ lab_endgetargs:; /*_#IS_A__L1*/ curfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.OPTSYMB__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_SYMBOL*/ curfrout->tabval[0])));; - MELT_LOCATION("warmelt-first.melt:2560:/ cond"); + MELT_LOCATION("warmelt-first.melt:2498:/ cond"); /*cond*/ if (/*_#IS_A__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -999,7 +944,7 @@ lab_endgetargs:; /*_#IS_STRING__L3*/ curfnum[2] = (melt_magic_discr((melt_ptr_t)(/*_.OPTHELP__V3*/ curfptr[2])) == OBMAG_STRING);; - MELT_LOCATION("warmelt-first.melt:2560:/ cond"); + MELT_LOCATION("warmelt-first.melt:2498:/ cond"); /*cond*/ if (/*_#IS_STRING__L3*/ curfnum[2]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -1012,7 +957,7 @@ lab_endgetargs:; /*_#IF___L4*/ curfnum[3] = /*_#IS_CLOSURE__L5*/ curfnum[4];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2560:/ clear"); + MELT_LOCATION("warmelt-first.melt:2498:/ clear"); /*clear*/ /*_#IS_CLOSURE__L5*/ curfnum[4] = 0 ;} ; } else {/*^cond.else*/ @@ -1025,7 +970,7 @@ lab_endgetargs:; /*_#IF___L2*/ curfnum[1] = /*_#IF___L4*/ curfnum[3];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2560:/ clear"); + MELT_LOCATION("warmelt-first.melt:2498:/ clear"); /*clear*/ /*_#IS_STRING__L3*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#IF___L4*/ curfnum[3] = 0 ;} @@ -1035,20 +980,20 @@ lab_endgetargs:; /*_#IF___L2*/ curfnum[1] = 0;; } ; - MELT_LOCATION("warmelt-first.melt:2560:/ cond"); + MELT_LOCATION("warmelt-first.melt:2498:/ cond"); /*cond*/ if (/*_#IF___L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2563:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2501:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)((/*!OPTION_MAP_CONTAINER*/ curfrout->tabval[1])), 0, "CONTAINER_VALUE");/*_.OPTMAP__V5*/ curfptr[4] = slot; }; ; - MELT_LOCATION("warmelt-first.melt:2564:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2502:/ quasiblock"); /*^rawallocobj*/ @@ -1074,13 +1019,13 @@ lab_endgetargs:; /*_.OPTDESC__V6*/ curfptr[5] = /*_.INST__V7*/ curfptr[6];; { - MELT_LOCATION("warmelt-first.melt:2569:/ locexp"); + MELT_LOCATION("warmelt-first.melt:2507:/ locexp"); meltgc_put_mapobjects( (meltmapobjects_ptr_t) (/*_.OPTMAP__V5*/ curfptr[4]), (meltobject_ptr_t) (/*_.OPTSYMB__V2*/ curfptr[1]), (melt_ptr_t)(/*_.OPTDESC__V6*/ curfptr[5]));} ; - MELT_LOCATION("warmelt-first.melt:2563:/ clear"); + MELT_LOCATION("warmelt-first.melt:2501:/ clear"); /*clear*/ /*_.OPTMAP__V5*/ curfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.OPTDESC__V6*/ curfptr[5] = 0 ; @@ -1091,7 +1036,7 @@ lab_endgetargs:; ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2557:/ clear"); + MELT_LOCATION("warmelt-first.melt:2495:/ clear"); /*clear*/ /*_#IS_A__L1*/ curfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_#IF___L2*/ curfnum[1] = 0 ;} @@ -1155,7 +1100,7 @@ melt_trace_start("OPTION_HELPER_FUN", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2572:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2510:/ getarg"); /*_.HELPSYMB__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -1169,14 +1114,14 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2573:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2511:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)((/*!OPTION_MAP_CONTAINER*/ curfrout->tabval[0])), 0, "CONTAINER_VALUE");/*_.OPTMAP__V4*/ curfptr[3] = slot; }; ; - MELT_LOCATION("warmelt-first.melt:2574:/ cond"); + MELT_LOCATION("warmelt-first.melt:2512:/ cond"); /*cond*/ if (/*_?*/ curfram__.loc_CSTRING__o0) /*then*/ { /*^cond.then*/ /*^block*/ @@ -1189,7 +1134,7 @@ lab_endgetargs:; /*_.SYMB__V5*/ curfptr[4] = /*_.GET_RAW_SYMBOL__V6*/ curfptr[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2574:/ clear"); + MELT_LOCATION("warmelt-first.melt:2512:/ clear"); /*clear*/ /*_.GET_RAW_SYMBOL__V6*/ curfptr[5] = 0 ;} ; } else {/*^cond.else*/ @@ -1205,13 +1150,13 @@ lab_endgetargs:; /*_#IS_A__L1*/ curfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.OPTD__V7*/ curfptr[5]), (melt_ptr_t)((/*!CLASS_OPTION_DESCRIPTOR*/ curfrout->tabval[1])));; - MELT_LOCATION("warmelt-first.melt:2578:/ cond"); + MELT_LOCATION("warmelt-first.melt:2516:/ cond"); /*cond*/ if (/*_#IS_A__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2579:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2517:/ quasiblock"); /*^getslot*/ @@ -1220,28 +1165,28 @@ lab_endgetargs:; ; { - MELT_LOCATION("warmelt-first.melt:2582:/ locexp"); + MELT_LOCATION("warmelt-first.melt:2520:/ locexp"); inform (UNKNOWN_LOCATION, "MELT help for option %s : %s", /*_?*/ curfram__.loc_CSTRING__o0, melt_string_str ((melt_ptr_t) /*_.OPTHELP__V10*/ curfptr[9])) ;} ; - MELT_LOCATION("warmelt-first.melt:2585:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2523:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.HELPSYMB__V2*/ curfptr[1];; - MELT_LOCATION("warmelt-first.melt:2585:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2523:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.LET___V9*/ curfptr[8] = /*_.RETURN___V11*/ curfptr[10];; - MELT_LOCATION("warmelt-first.melt:2579:/ clear"); + MELT_LOCATION("warmelt-first.melt:2517:/ clear"); /*clear*/ /*_.OPTHELP__V10*/ curfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V11*/ curfptr[10] = 0 ; /*_.IFELSE___V8*/ curfptr[7] = /*_.LET___V9*/ curfptr[8];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2578:/ clear"); + MELT_LOCATION("warmelt-first.melt:2516:/ clear"); /*clear*/ /*_.LET___V9*/ curfptr[8] = 0 ;} ; } else {/*^cond.else*/ @@ -1249,7 +1194,7 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2588:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2526:/ quasiblock"); /*^apply*/ @@ -1257,7 +1202,7 @@ lab_endgetargs:; /*_.SORTEDSYMBTUP__V13*/ curfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!MAPOBJECT_SORTED_ATTRIBUTE_TUPLE*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.OPTMAP__V4*/ curfptr[3]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } ; - MELT_LOCATION("warmelt-first.melt:2590:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2528:/ quasiblock"); /*^newclosure*/ @@ -1265,7 +1210,7 @@ lab_endgetargs:; meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_5*/ curfrout->tabval[5])), (0)); ; /*_.LAMBDA___V14*/ curfptr[8] = /*_.LAMBDA___V15*/ curfptr[14];; - MELT_LOCATION("warmelt-first.melt:2589:/ apply"); + MELT_LOCATION("warmelt-first.melt:2527:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); @@ -1278,7 +1223,7 @@ lab_endgetargs:; (melt_multiple_length((melt_ptr_t)(/*_.SORTEDSYMBTUP__V13*/ curfptr[10])));; { - MELT_LOCATION("warmelt-first.melt:2596:/ locexp"); + MELT_LOCATION("warmelt-first.melt:2534:/ locexp"); int i=0; inform (UNKNOWN_LOCATION, "There are %d MELT options", (int) /*_#NBSYMB__L2*/ curfnum[1]); @@ -1295,16 +1240,16 @@ lab_endgetargs:; inform (UNKNOWN_LOCATION, "Use -f[plugin-arg-]melt-option=help=X for help about MELT option X"); ;} ; - MELT_LOCATION("warmelt-first.melt:2611:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2549:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.HELPSYMB__V2*/ curfptr[1];; - MELT_LOCATION("warmelt-first.melt:2611:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2549:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.LET___V12*/ curfptr[9] = /*_.RETURN___V17*/ curfptr[16];; - MELT_LOCATION("warmelt-first.melt:2588:/ clear"); + MELT_LOCATION("warmelt-first.melt:2526:/ clear"); /*clear*/ /*_.SORTEDSYMBTUP__V13*/ curfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V14*/ curfptr[8] = 0 ; @@ -1314,7 +1259,7 @@ lab_endgetargs:; /*clear*/ /*_#NBSYMB__L2*/ curfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V17*/ curfptr[16] = 0 ; - MELT_LOCATION("warmelt-first.melt:2587:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2525:/ quasiblock"); /*_.PROGN___V18*/ curfptr[10] = /*_.LET___V12*/ curfptr[9];; @@ -1323,7 +1268,7 @@ lab_endgetargs:; /*_.IFELSE___V8*/ curfptr[7] = /*_.PROGN___V18*/ curfptr[10];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2578:/ clear"); + MELT_LOCATION("warmelt-first.melt:2516:/ clear"); /*clear*/ /*_.LET___V12*/ curfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V18*/ curfptr[10] = 0 ;} @@ -1332,7 +1277,7 @@ lab_endgetargs:; ; /*_.LET___V3*/ curfptr[2] = /*_.IFELSE___V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:2573:/ clear"); + MELT_LOCATION("warmelt-first.melt:2511:/ clear"); /*clear*/ /*_.OPTMAP__V4*/ curfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_.SYMB__V5*/ curfptr[4] = 0 ; @@ -1342,11 +1287,11 @@ lab_endgetargs:; /*clear*/ /*_#IS_A__L1*/ curfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V8*/ curfptr[7] = 0 ; - MELT_LOCATION("warmelt-first.melt:2572:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2510:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V3*/ curfptr[2];; - MELT_LOCATION("warmelt-first.melt:2572:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2510:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -1412,7 +1357,7 @@ melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2590:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2528:/ getarg"); /*_.SY__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; @@ -1433,11 +1378,11 @@ lab_endgetargs:; /*_.NAMED_NAME__V3*/ curfptr[2] = NULL;; } ; - MELT_LOCATION("warmelt-first.melt:2590:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2528:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.NAMED_NAME__V3*/ curfptr[2];; - MELT_LOCATION("warmelt-first.melt:2590:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2528:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -1503,7 +1448,7 @@ melt_trace_start("MAPOBJECT_EVERY", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2667:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2605:/ getarg"); /*_.MAP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -1521,7 +1466,7 @@ lab_endgetargs:; /*_#IS_MAPOBJECT__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.MAP__V2*/ curfptr[1])) == OBMAG_MAPOBJECTS);; - MELT_LOCATION("warmelt-first.melt:2671:/ cond"); + MELT_LOCATION("warmelt-first.melt:2609:/ cond"); /*cond*/ if (/*_#IS_MAPOBJECT__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -1529,7 +1474,7 @@ lab_endgetargs:; /*_#IS_CLOSURE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2672:/ cond"); + MELT_LOCATION("warmelt-first.melt:2610:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -1552,7 +1497,7 @@ lab_endgetargs:; - MELT_LOCATION("warmelt-first.melt:2676:/ apply"); + MELT_LOCATION("warmelt-first.melt:2614:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); @@ -1568,7 +1513,7 @@ lab_endgetargs:; /*citerepilog*/ - MELT_LOCATION("warmelt-first.melt:2673:/ clear"); + MELT_LOCATION("warmelt-first.melt:2611:/ clear"); /*clear*/ /*_.CURAT__V4*/ curfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_.CURVAL__V5*/ curfptr[4] = 0 ; @@ -1582,14 +1527,14 @@ lab_endgetargs:; ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2671:/ clear"); + MELT_LOCATION("warmelt-first.melt:2609:/ clear"); /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ;} ; } /*noelse*/ ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2667:/ clear"); + MELT_LOCATION("warmelt-first.melt:2605:/ clear"); /*clear*/ /*_#IS_MAPOBJECT__L1*/ curfnum[0] = 0 ;} ; @@ -1650,7 +1595,7 @@ melt_trace_start("MAPOBJECT_ITERATE_TEST", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2682:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2620:/ getarg"); /*_.MAP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -1668,7 +1613,7 @@ lab_endgetargs:; /*_#IS_MAPOBJECT__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.MAP__V2*/ curfptr[1])) == OBMAG_MAPOBJECTS);; - MELT_LOCATION("warmelt-first.melt:2689:/ cond"); + MELT_LOCATION("warmelt-first.melt:2627:/ cond"); /*cond*/ if (/*_#IS_MAPOBJECT__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -1676,7 +1621,7 @@ lab_endgetargs:; /*_#IS_CLOSURE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2690:/ cond"); + MELT_LOCATION("warmelt-first.melt:2628:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -1699,7 +1644,7 @@ lab_endgetargs:; - MELT_LOCATION("warmelt-first.melt:2694:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2632:/ quasiblock"); /*^multiapply*/ @@ -1722,17 +1667,17 @@ lab_endgetargs:; /*_#NULL__L3*/ curfnum[2] = ((/*_.TEST__V7*/ curfptr[6]) == NULL);; - MELT_LOCATION("warmelt-first.melt:2697:/ cond"); + MELT_LOCATION("warmelt-first.melt:2635:/ cond"); /*cond*/ if (/*_#NULL__L3*/ curfnum[2]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2698:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2636:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.CURAT__V4*/ curfptr[3];; - MELT_LOCATION("warmelt-first.melt:2698:/ putxtraresult"); + MELT_LOCATION("warmelt-first.melt:2636:/ putxtraresult"); if (!xrestab_ || !xresdescr_) goto labend_rout; if (xresdescr_[0] != BPAR_PTR) goto labend_rout; if (xrestab_[0].bp_aptr) *(xrestab_[0].bp_aptr) = (melt_ptr_t) (/*_.CURVAL__V5*/ curfptr[4]); @@ -1748,7 +1693,7 @@ lab_endgetargs:; /*_.IF___V9*/ curfptr[8] = /*_.RETURN___V10*/ curfptr[9];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2697:/ clear"); + MELT_LOCATION("warmelt-first.melt:2635:/ clear"); /*clear*/ /*_.RETURN___V10*/ curfptr[9] = 0 ;} ; } else {/*^cond.else*/ @@ -1760,7 +1705,7 @@ lab_endgetargs:; /*_.MULTI___V6*/ curfptr[5] = /*_.IF___V9*/ curfptr[8];; - MELT_LOCATION("warmelt-first.melt:2694:/ clear"); + MELT_LOCATION("warmelt-first.melt:2632:/ clear"); /*clear*/ /*_#NULL__L3*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V9*/ curfptr[8] = 0 ; @@ -1774,7 +1719,7 @@ lab_endgetargs:; /*citerepilog*/ - MELT_LOCATION("warmelt-first.melt:2691:/ clear"); + MELT_LOCATION("warmelt-first.melt:2629:/ clear"); /*clear*/ /*_.CURAT__V4*/ curfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_.CURVAL__V5*/ curfptr[4] = 0 ; @@ -1788,14 +1733,14 @@ lab_endgetargs:; ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2689:/ clear"); + MELT_LOCATION("warmelt-first.melt:2627:/ clear"); /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ;} ; } /*noelse*/ ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2682:/ clear"); + MELT_LOCATION("warmelt-first.melt:2620:/ clear"); /*clear*/ /*_#IS_MAPOBJECT__L1*/ curfnum[0] = 0 ;} ; @@ -1813,7 +1758,7 @@ melt_trace_end("MAPOBJECT_ITERATE_TEST", callcount); melt_topframe = (struct ca melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_36_warmelt_first_MAPSTRING_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_36_warmelt_first_LIST_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -1824,386 +1769,7 @@ meltrout_36_warmelt_first_MAPSTRING_EVERY(meltclosure_ptr_t closp_, melt_ptr_t f #define callcount 0L #endif - struct frame_meltrout_36_warmelt_first_MAPSTRING_EVERY_st { unsigned nbvar; -#if ENABLE_CHECKING - const char* flocs; -#endif - struct meltclosure_st *clos; - struct excepth_melt_st *exh; - struct callframe_melt_st *prev; -#define CURFRAM_NBVARPTR 6 - void* varptr[6]; -#define CURFRAM_NBVARNUM 2 - long varnum[2]; -/*others*/ - long _spare_; } - *framptr_=0, curfram__; - if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ - int ix=0; - framptr_ = (void*)firstargp_; - gt_ggc_mx_melt_un (framptr_->clos); - for(ix=0; ix<6; ix++) - if (framptr_->varptr[ix]) - gt_ggc_mx_melt_un (framptr_->varptr[ix]); - return NULL; - }/*end markggc*/; - memset(&curfram__, 0, sizeof(curfram__)); - curfram__.nbvar = 6; - curfram__.clos = closp_; - curfram__.prev = (struct callframe_melt_st *) melt_topframe; - melt_topframe = (struct callframe_melt_st *) &curfram__; -melt_trace_start("MAPSTRING_EVERY", callcount); -/*getargs*/ - - /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2702:/ getarg"); - /*_.MAP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; - - /*getarg#1*/ - /*^getarg*/ - if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; - /*_.F__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) != NULL); - - ; - goto lab_endgetargs; -lab_endgetargs:; -/*body*/ -/*^block*/ -/*anyblock*/{ - - /*_#IS_MAPSTRING__L1*/ curfnum[0] = - (melt_magic_discr((melt_ptr_t)(/*_.MAP__V2*/ curfptr[1])) == OBMAG_MAPSTRINGS);; - MELT_LOCATION("warmelt-first.melt:2706:/ cond"); - /*cond*/ if (/*_#IS_MAPSTRING__L1*/ curfnum[0]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*_#IS_CLOSURE__L2*/ curfnum[1] = - (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2707:/ cond"); - /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*citerblock FOREACH_IN_MAPSTRING*/ { - /*cit1__EACHSTRMAP :*/ int cit1__EACHSTRMAP_ix=0, cit1__EACHSTRMAP_siz=0; - for (cit1__EACHSTRMAP_ix=0; - /* we retrieve in cit1__EACHSTRMAP_siz the size at each iteration since it could change. */ - cit1__EACHSTRMAP_ix>=0 && (cit1__EACHSTRMAP_siz= melt_size_mapstrings(/*_.MAP__V2*/ curfptr[1]))>0 - && cit1__EACHSTRMAP_ix < cit1__EACHSTRMAP_siz; - cit1__EACHSTRMAP_ix++) { - const char* cit1__EACHSTRMAP_str = NULL; - const char* cit1__EACHSTRMAP_nam = NULL; - /*_.CURAT__V4*/ curfptr[3] = NULL; - /*_.CURVAL__V5*/ curfptr[4] = NULL; - cit1__EACHSTRMAP_str = ((struct meltmapstrings_st*)/*_.MAP__V2*/ curfptr[1])->entab[cit1__EACHSTRMAP_ix].e_at; - if (cit1__EACHSTRMAP_str == HTAB_DELETED_ENTRY) { /*_.CURAT__V4*/ curfptr[3] = NULL; continue; }; - if (!cit1__EACHSTRMAP_str) continue; - /*_.CURVAL__V5*/ curfptr[4] = ((struct meltmapstrings_st*)/*_.MAP__V2*/ curfptr[1])->entab[cit1__EACHSTRMAP_ix].e_va; - if (!/*_.CURVAL__V5*/ curfptr[4]) continue; - if (melt_is_instance_of(/*_.CURVAL__V5*/ curfptr[4], MELT_PREDEF (CLASS_NAMED)) - && (/*_.CURAT__V4*/ curfptr[3] = melt_object_nth_field ((melt_ptr_t) /*_.CURVAL__V5*/ curfptr[4], FNAMED_NAME)) != NULL - && (cit1__EACHSTRMAP_nam = melt_string_str ((melt_ptr_t) /*_.CURAT__V4*/ curfptr[3])) != (char*)0 - && !strcmp (cit1__EACHSTRMAP_nam, cit1__EACHSTRMAP_str)) - /*_.CURAT__V4*/ curfptr[3] = /*_.CURAT__V4*/ curfptr[3]; - else { - /*_.CURAT__V4*/ curfptr[3] = NULL; - /*_.CURAT__V4*/ curfptr[3] = meltgc_new_stringdup((meltobject_ptr_t) MELT_PREDEF (DISCR_STRING), cit1__EACHSTRMAP_str); - } - cit1__EACHSTRMAP_str = (const char*)0; - cit1__EACHSTRMAP_nam = (const char*)0; - - - - MELT_LOCATION("warmelt-first.melt:2711:/ apply"); - /*apply*/{ - union meltparam_un argtab[1]; - memset(&argtab, 0, sizeof(argtab)); - /*^apply.arg*/ - argtab[0].bp_aptr = (melt_ptr_t*) &/*_.CURVAL__V5*/ curfptr[4]; - /*_.F__V6*/ curfptr[5] = melt_apply ((meltclosure_ptr_t)(/*_.F__V3*/ curfptr[2]), (melt_ptr_t)(/*_.CURAT__V4*/ curfptr[3]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); - } - ; - /* end cit1__EACHSTRMAP */ - /*_.CURAT__V4*/ curfptr[3] = NULL; - /*_.CURVAL__V5*/ curfptr[4] = NULL; } - - - /*citerepilog*/ - - MELT_LOCATION("warmelt-first.melt:2708:/ clear"); - /*clear*/ /*_.CURAT__V4*/ curfptr[3] = 0 ; - /*^clear*/ - /*clear*/ /*_.CURVAL__V5*/ curfptr[4] = 0 ; - /*^clear*/ - /*clear*/ /*_.F__V6*/ curfptr[5] = 0 ;} /*endciterblock FOREACH_IN_MAPSTRING*/ - ; - /*epilog*/ - } - ; - } /*noelse*/ - ; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2706:/ clear"); - /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ;} - ; - } /*noelse*/ - ; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2702:/ clear"); - /*clear*/ /*_#IS_MAPSTRING__L1*/ curfnum[0] = 0 ;} - -; - goto labend_rout; -labend_rout: -melt_trace_end("MAPSTRING_EVERY", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; - return (melt_ptr_t)(/*noretval*/ NULL); -#undef callcount -#undef CURFRAM_NBVARNUM -#undef CURFRAM_NBVARPTR -} /*end meltrout_36_warmelt_first_MAPSTRING_EVERY*/ - - - - - -melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_37_warmelt_first_MAPSTRING_ITERATE_TEST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, - const char xresdescr_[], union meltparam_un *xrestab_) -{ -#if ENABLE_CHECKING - static long call_counter__; - long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; -#define callcount thiscallcounter__ -#else -#define callcount 0L -#endif - - struct frame_meltrout_37_warmelt_first_MAPSTRING_ITERATE_TEST_st { unsigned nbvar; -#if ENABLE_CHECKING - const char* flocs; -#endif - struct meltclosure_st *clos; - struct excepth_melt_st *exh; - struct callframe_melt_st *prev; -#define CURFRAM_NBVARPTR 10 - void* varptr[10]; -#define CURFRAM_NBVARNUM 3 - long varnum[3]; -/*others*/ - long _spare_; } - *framptr_=0, curfram__; - if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ - int ix=0; - framptr_ = (void*)firstargp_; - gt_ggc_mx_melt_un (framptr_->clos); - for(ix=0; ix<10; ix++) - if (framptr_->varptr[ix]) - gt_ggc_mx_melt_un (framptr_->varptr[ix]); - return NULL; - }/*end markggc*/; - memset(&curfram__, 0, sizeof(curfram__)); - curfram__.nbvar = 10; - curfram__.clos = closp_; - curfram__.prev = (struct callframe_melt_st *) melt_topframe; - melt_topframe = (struct callframe_melt_st *) &curfram__; -melt_trace_start("MAPSTRING_ITERATE_TEST", callcount); -/*getargs*/ - - /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2715:/ getarg"); - /*_.MAP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; - - /*getarg#1*/ - /*^getarg*/ - if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; - /*_.F__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) != NULL); - - ; - goto lab_endgetargs; -lab_endgetargs:; -/*body*/ -/*^block*/ -/*anyblock*/{ - - /*_#IS_MAPSTRING__L1*/ curfnum[0] = - (melt_magic_discr((melt_ptr_t)(/*_.MAP__V2*/ curfptr[1])) == OBMAG_MAPSTRINGS);; - MELT_LOCATION("warmelt-first.melt:2720:/ cond"); - /*cond*/ if (/*_#IS_MAPSTRING__L1*/ curfnum[0]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*_#IS_CLOSURE__L2*/ curfnum[1] = - (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2721:/ cond"); - /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*citerblock FOREACH_IN_MAPSTRING*/ { - /*cit1__EACHSTRMAP :*/ int cit1__EACHSTRMAP_ix=0, cit1__EACHSTRMAP_siz=0; - for (cit1__EACHSTRMAP_ix=0; - /* we retrieve in cit1__EACHSTRMAP_siz the size at each iteration since it could change. */ - cit1__EACHSTRMAP_ix>=0 && (cit1__EACHSTRMAP_siz= melt_size_mapstrings(/*_.MAP__V2*/ curfptr[1]))>0 - && cit1__EACHSTRMAP_ix < cit1__EACHSTRMAP_siz; - cit1__EACHSTRMAP_ix++) { - const char* cit1__EACHSTRMAP_str = NULL; - const char* cit1__EACHSTRMAP_nam = NULL; - /*_.CURAT__V4*/ curfptr[3] = NULL; - /*_.CURVAL__V5*/ curfptr[4] = NULL; - cit1__EACHSTRMAP_str = ((struct meltmapstrings_st*)/*_.MAP__V2*/ curfptr[1])->entab[cit1__EACHSTRMAP_ix].e_at; - if (cit1__EACHSTRMAP_str == HTAB_DELETED_ENTRY) { /*_.CURAT__V4*/ curfptr[3] = NULL; continue; }; - if (!cit1__EACHSTRMAP_str) continue; - /*_.CURVAL__V5*/ curfptr[4] = ((struct meltmapstrings_st*)/*_.MAP__V2*/ curfptr[1])->entab[cit1__EACHSTRMAP_ix].e_va; - if (!/*_.CURVAL__V5*/ curfptr[4]) continue; - if (melt_is_instance_of(/*_.CURVAL__V5*/ curfptr[4], MELT_PREDEF (CLASS_NAMED)) - && (/*_.CURAT__V4*/ curfptr[3] = melt_object_nth_field ((melt_ptr_t) /*_.CURVAL__V5*/ curfptr[4], FNAMED_NAME)) != NULL - && (cit1__EACHSTRMAP_nam = melt_string_str ((melt_ptr_t) /*_.CURAT__V4*/ curfptr[3])) != (char*)0 - && !strcmp (cit1__EACHSTRMAP_nam, cit1__EACHSTRMAP_str)) - /*_.CURAT__V4*/ curfptr[3] = /*_.CURAT__V4*/ curfptr[3]; - else { - /*_.CURAT__V4*/ curfptr[3] = NULL; - /*_.CURAT__V4*/ curfptr[3] = meltgc_new_stringdup((meltobject_ptr_t) MELT_PREDEF (DISCR_STRING), cit1__EACHSTRMAP_str); - } - cit1__EACHSTRMAP_str = (const char*)0; - cit1__EACHSTRMAP_nam = (const char*)0; - - - - MELT_LOCATION("warmelt-first.melt:2725:/ quasiblock"); - - - /*^multiapply*/ - /*multiapply 2args, 1x.res*/ { - union meltparam_un argtab[1]; - - union meltparam_un restab[1]; - memset(&restab, 0, sizeof(restab)); - memset(&argtab, 0, sizeof(argtab)); - /*^multiapply.arg*/ - argtab[0].bp_aptr = (melt_ptr_t*) &/*_.CURVAL__V5*/ curfptr[4]; - /*^multiapply.xres*/ - restab[0].bp_aptr = (melt_ptr_t*) &/*_.OTHER__V8*/ curfptr[7]; - /*^multiapply.appl*/ - /*_.TEST__V7*/ curfptr[6] = melt_apply ((meltclosure_ptr_t)(/*_.F__V3*/ curfptr[2]), (melt_ptr_t)(/*_.CURAT__V4*/ curfptr[3]), (BPARSTR_PTR ""), argtab, (BPARSTR_PTR ""), restab); - } - ; - /*^quasiblock*/ - - - /*_#NULL__L3*/ curfnum[2] = - ((/*_.TEST__V7*/ curfptr[6]) == NULL);; - MELT_LOCATION("warmelt-first.melt:2728:/ cond"); - /*cond*/ if (/*_#NULL__L3*/ curfnum[2]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - MELT_LOCATION("warmelt-first.melt:2729:/ quasiblock"); - - - /*_.RETVAL___V1*/ curfptr[0] = /*_.CURAT__V4*/ curfptr[3];; - MELT_LOCATION("warmelt-first.melt:2729:/ putxtraresult"); - if (!xrestab_ || !xresdescr_) goto labend_rout; - if (xresdescr_[0] != BPAR_PTR) goto labend_rout; - if (xrestab_[0].bp_aptr) *(xrestab_[0].bp_aptr) = (melt_ptr_t) (/*_.CURVAL__V5*/ curfptr[4]); - ; - /*^putxtraresult*/ - if (!xrestab_ || !xresdescr_) goto labend_rout; - if (xresdescr_[1] != BPAR_PTR) goto labend_rout; - if (xrestab_[1].bp_aptr) *(xrestab_[1].bp_aptr) = (melt_ptr_t) (/*_.OTHER__V8*/ curfptr[7]); - ; - /*^finalreturn*/ - ; - /*finalret*/ goto labend_rout ; - /*_.IF___V9*/ curfptr[8] = /*_.RETURN___V10*/ curfptr[9];; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2728:/ clear"); - /*clear*/ /*_.RETURN___V10*/ curfptr[9] = 0 ;} - ; - } else {/*^cond.else*/ - - /*_.IF___V9*/ curfptr[8] = NULL;; - } - ; - /*^compute*/ - - /*_.MULTI___V6*/ curfptr[5] = /*_.IF___V9*/ curfptr[8];; - - MELT_LOCATION("warmelt-first.melt:2725:/ clear"); - /*clear*/ /*_#NULL__L3*/ curfnum[2] = 0 ; - /*^clear*/ - /*clear*/ /*_.IF___V9*/ curfptr[8] = 0 ; - - /*^clear*/ - /*clear*/ /*_.OTHER__V8*/ curfptr[7] = 0 ; - /* end cit1__EACHSTRMAP */ - /*_.CURAT__V4*/ curfptr[3] = NULL; - /*_.CURVAL__V5*/ curfptr[4] = NULL; } - - - /*citerepilog*/ - - MELT_LOCATION("warmelt-first.melt:2722:/ clear"); - /*clear*/ /*_.CURAT__V4*/ curfptr[3] = 0 ; - /*^clear*/ - /*clear*/ /*_.CURVAL__V5*/ curfptr[4] = 0 ; - /*^clear*/ - /*clear*/ /*_.MULTI___V6*/ curfptr[5] = 0 ;} /*endciterblock FOREACH_IN_MAPSTRING*/ - ; - /*epilog*/ - } - ; - } /*noelse*/ - ; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2720:/ clear"); - /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ;} - ; - } /*noelse*/ - ; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2715:/ clear"); - /*clear*/ /*_#IS_MAPSTRING__L1*/ curfnum[0] = 0 ;} - -; - goto labend_rout; -labend_rout: -melt_trace_end("MAPSTRING_ITERATE_TEST", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; - return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); -#undef callcount -#undef CURFRAM_NBVARNUM -#undef CURFRAM_NBVARPTR -} /*end meltrout_37_warmelt_first_MAPSTRING_ITERATE_TEST*/ - - - - - -melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_38_warmelt_first_LIST_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, - const char xresdescr_[], union meltparam_un *xrestab_) -{ -#if ENABLE_CHECKING - static long call_counter__; - long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; -#define callcount thiscallcounter__ -#else -#define callcount 0L -#endif - - struct frame_meltrout_38_warmelt_first_LIST_EVERY_st { unsigned nbvar; + struct frame_meltrout_36_warmelt_first_LIST_EVERY_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -2235,7 +1801,7 @@ melt_trace_start("LIST_EVERY", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2753:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2660:/ getarg"); /*_.LIS__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -2253,7 +1819,7 @@ lab_endgetargs:; /*_#IS_LIST__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.LIS__V2*/ curfptr[1])) == OBMAG_LIST);; - MELT_LOCATION("warmelt-first.melt:2755:/ cond"); + MELT_LOCATION("warmelt-first.melt:2662:/ cond"); /*cond*/ if (/*_#IS_LIST__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -2261,7 +1827,7 @@ lab_endgetargs:; /*_#IS_CLOSURE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2756:/ cond"); + MELT_LOCATION("warmelt-first.melt:2663:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -2275,7 +1841,7 @@ lab_endgetargs:; /*_.CURCOMP__V5*/ curfptr[4] = melt_pair_head(/*_.CURPAIR__V4*/ curfptr[3]); - MELT_LOCATION("warmelt-first.melt:2760:/ apply"); + MELT_LOCATION("warmelt-first.melt:2667:/ apply"); /*apply*/{ /*_.F__V6*/ curfptr[5] = melt_apply ((meltclosure_ptr_t)(/*_.F__V3*/ curfptr[2]), (melt_ptr_t)(/*_.CURCOMP__V5*/ curfptr[4]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } @@ -2284,7 +1850,7 @@ lab_endgetargs:; /*citerepilog*/ - MELT_LOCATION("warmelt-first.melt:2757:/ clear"); + MELT_LOCATION("warmelt-first.melt:2664:/ clear"); /*clear*/ /*_.CURPAIR__V4*/ curfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_.CURCOMP__V5*/ curfptr[4] = 0 ; @@ -2298,14 +1864,14 @@ lab_endgetargs:; ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2755:/ clear"); + MELT_LOCATION("warmelt-first.melt:2662:/ clear"); /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ;} ; } /*noelse*/ ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2753:/ clear"); + MELT_LOCATION("warmelt-first.melt:2660:/ clear"); /*clear*/ /*_#IS_LIST__L1*/ curfnum[0] = 0 ;} ; @@ -2316,14 +1882,14 @@ melt_trace_end("LIST_EVERY", callcount); melt_topframe = (struct callframe_melt #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_38_warmelt_first_LIST_EVERY*/ +} /*end meltrout_36_warmelt_first_LIST_EVERY*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_39_warmelt_first_LIST_ITERATE_TEST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_37_warmelt_first_LIST_ITERATE_TEST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -2334,7 +1900,7 @@ meltrout_39_warmelt_first_LIST_ITERATE_TEST(meltclosure_ptr_t closp_, melt_ptr_t #define callcount 0L #endif - struct frame_meltrout_39_warmelt_first_LIST_ITERATE_TEST_st { unsigned nbvar; + struct frame_meltrout_37_warmelt_first_LIST_ITERATE_TEST_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -2366,7 +1932,7 @@ melt_trace_start("LIST_ITERATE_TEST", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2764:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2671:/ getarg"); /*_.LIS__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -2384,7 +1950,7 @@ lab_endgetargs:; /*_#IS_LIST__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.LIS__V2*/ curfptr[1])) == OBMAG_LIST);; - MELT_LOCATION("warmelt-first.melt:2768:/ cond"); + MELT_LOCATION("warmelt-first.melt:2675:/ cond"); /*cond*/ if (/*_#IS_LIST__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -2392,7 +1958,7 @@ lab_endgetargs:; /*_#IS_CLOSURE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2769:/ cond"); + MELT_LOCATION("warmelt-first.melt:2676:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -2406,7 +1972,7 @@ lab_endgetargs:; /*_.CURCOMP__V5*/ curfptr[4] = melt_pair_head(/*_.CURPAIR__V4*/ curfptr[3]); - MELT_LOCATION("warmelt-first.melt:2773:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2680:/ quasiblock"); /*^multiapply*/ @@ -2429,7 +1995,7 @@ lab_endgetargs:; /*_#NULL__L3*/ curfnum[2] = ((/*_.TEST__V7*/ curfptr[6]) == NULL);; - MELT_LOCATION("warmelt-first.melt:2776:/ cond"); + MELT_LOCATION("warmelt-first.melt:2683:/ cond"); /*cond*/ if (/*_#NULL__L3*/ curfnum[2]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -2439,7 +2005,7 @@ lab_endgetargs:; /*_.RETVAL___V1*/ curfptr[0] = /*_.CURCOMP__V5*/ curfptr[4];; - MELT_LOCATION("warmelt-first.melt:2776:/ putxtraresult"); + MELT_LOCATION("warmelt-first.melt:2683:/ putxtraresult"); if (!xrestab_ || !xresdescr_) goto labend_rout; if (xresdescr_[0] != BPAR_PTR) goto labend_rout; if (xrestab_[0].bp_aptr) *(xrestab_[0].bp_aptr) = (melt_ptr_t) (/*_.OTHER__V8*/ curfptr[7]); @@ -2450,7 +2016,7 @@ lab_endgetargs:; /*_.IF___V9*/ curfptr[8] = /*_.RETURN___V10*/ curfptr[9];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2776:/ clear"); + MELT_LOCATION("warmelt-first.melt:2683:/ clear"); /*clear*/ /*_.RETURN___V10*/ curfptr[9] = 0 ;} ; } else {/*^cond.else*/ @@ -2462,7 +2028,7 @@ lab_endgetargs:; /*_.MULTI___V6*/ curfptr[5] = /*_.IF___V9*/ curfptr[8];; - MELT_LOCATION("warmelt-first.melt:2773:/ clear"); + MELT_LOCATION("warmelt-first.melt:2680:/ clear"); /*clear*/ /*_#NULL__L3*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V9*/ curfptr[8] = 0 ; @@ -2473,7 +2039,7 @@ lab_endgetargs:; /*citerepilog*/ - MELT_LOCATION("warmelt-first.melt:2770:/ clear"); + MELT_LOCATION("warmelt-first.melt:2677:/ clear"); /*clear*/ /*_.CURPAIR__V4*/ curfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_.CURCOMP__V5*/ curfptr[4] = 0 ; @@ -2487,14 +2053,14 @@ lab_endgetargs:; ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2768:/ clear"); + MELT_LOCATION("warmelt-first.melt:2675:/ clear"); /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ;} ; } /*noelse*/ ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2764:/ clear"); + MELT_LOCATION("warmelt-first.melt:2671:/ clear"); /*clear*/ /*_#IS_LIST__L1*/ curfnum[0] = 0 ;} ; @@ -2505,14 +2071,14 @@ melt_trace_end("LIST_ITERATE_TEST", callcount); melt_topframe = (struct callfra #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_39_warmelt_first_LIST_ITERATE_TEST*/ +} /*end meltrout_37_warmelt_first_LIST_ITERATE_TEST*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_40_warmelt_first_LIST_APPEND2LIST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_38_warmelt_first_LIST_APPEND2LIST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -2523,7 +2089,7 @@ meltrout_40_warmelt_first_LIST_APPEND2LIST(meltclosure_ptr_t closp_, melt_ptr_t #define callcount 0L #endif - struct frame_meltrout_40_warmelt_first_LIST_APPEND2LIST_st { unsigned nbvar; + struct frame_meltrout_38_warmelt_first_LIST_APPEND2LIST_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -2555,7 +2121,7 @@ melt_trace_start("LIST_APPEND2LIST", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2780:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2687:/ getarg"); /*_.DLIST__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -2577,7 +2143,7 @@ lab_endgetargs:; /*_#NOT__L2*/ curfnum[1] = (!(/*_#IS_LIST__L1*/ curfnum[0]));; - MELT_LOCATION("warmelt-first.melt:2784:/ cond"); + MELT_LOCATION("warmelt-first.melt:2691:/ cond"); /*cond*/ if (/*_#NOT__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -2587,13 +2153,13 @@ lab_endgetargs:; /*_.RETVAL___V1*/ curfptr[0] = /*_.DLIST__V2*/ curfptr[1];; - MELT_LOCATION("warmelt-first.melt:2784:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2691:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IF___V4*/ curfptr[3] = /*_.RETURN___V5*/ curfptr[4];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2784:/ clear"); + MELT_LOCATION("warmelt-first.melt:2691:/ clear"); /*clear*/ /*_.RETURN___V5*/ curfptr[4] = 0 ;} ; } else {/*^cond.else*/ @@ -2609,7 +2175,7 @@ lab_endgetargs:; /*_#NOT__L4*/ curfnum[3] = (!(/*_#IS_LIST__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:2785:/ cond"); + MELT_LOCATION("warmelt-first.melt:2692:/ cond"); /*cond*/ if (/*_#NOT__L4*/ curfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -2617,12 +2183,12 @@ lab_endgetargs:; /*_.MAKE_LIST__V7*/ curfptr[6] = (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[0]))));; - MELT_LOCATION("warmelt-first.melt:2785:/ compute"); + MELT_LOCATION("warmelt-first.melt:2692:/ compute"); /*_.DLIST__V2*/ curfptr[1] = /*_.SETQ___V8*/ curfptr[7] = /*_.MAKE_LIST__V7*/ curfptr[6];; /*_.IF___V6*/ curfptr[4] = /*_.SETQ___V8*/ curfptr[7];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2785:/ clear"); + MELT_LOCATION("warmelt-first.melt:2692:/ clear"); /*clear*/ /*_.MAKE_LIST__V7*/ curfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V8*/ curfptr[7] = 0 ;} @@ -2642,30 +2208,30 @@ lab_endgetargs:; { - MELT_LOCATION("warmelt-first.melt:2789:/ locexp"); + MELT_LOCATION("warmelt-first.melt:2696:/ locexp"); meltgc_append_list((melt_ptr_t)(/*_.DLIST__V2*/ curfptr[1]), (melt_ptr_t)(/*_.CURCOMP__V10*/ curfptr[7]));} ; } /* end cit1__EACHLIST */ /*citerepilog*/ - MELT_LOCATION("warmelt-first.melt:2786:/ clear"); + MELT_LOCATION("warmelt-first.melt:2693:/ clear"); /*clear*/ /*_.CURPAIR__V9*/ curfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.CURCOMP__V10*/ curfptr[7] = 0 ;} /*endciterblock FOREACH_IN_LIST*/ ; - MELT_LOCATION("warmelt-first.melt:2790:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2697:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.DLIST__V2*/ curfptr[1];; - MELT_LOCATION("warmelt-first.melt:2790:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2697:/ finalreturn"); ; /*finalret*/ goto labend_rout ; - MELT_LOCATION("warmelt-first.melt:2780:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2687:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.RETURN___V11*/ curfptr[10];; - MELT_LOCATION("warmelt-first.melt:2780:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2687:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -2693,14 +2259,14 @@ melt_trace_end("LIST_APPEND2LIST", callcount); melt_topframe = (struct callfram #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_40_warmelt_first_LIST_APPEND2LIST*/ +} /*end meltrout_38_warmelt_first_LIST_APPEND2LIST*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_41_warmelt_first_LIST_MAP(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_39_warmelt_first_LIST_MAP(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -2711,7 +2277,7 @@ meltrout_41_warmelt_first_LIST_MAP(meltclosure_ptr_t closp_, melt_ptr_t firstarg #define callcount 0L #endif - struct frame_meltrout_41_warmelt_first_LIST_MAP_st { unsigned nbvar; + struct frame_meltrout_39_warmelt_first_LIST_MAP_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -2743,7 +2309,7 @@ melt_trace_start("LIST_MAP", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2795:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2702:/ getarg"); /*_.LIS__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -2761,7 +2327,7 @@ lab_endgetargs:; /*_#IS_LIST__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.LIS__V2*/ curfptr[1])) == OBMAG_LIST);; - MELT_LOCATION("warmelt-first.melt:2799:/ cond"); + MELT_LOCATION("warmelt-first.melt:2706:/ cond"); /*cond*/ if (/*_#IS_LIST__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -2769,13 +2335,13 @@ lab_endgetargs:; /*_#IS_CLOSURE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2800:/ cond"); + MELT_LOCATION("warmelt-first.melt:2707:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2801:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2708:/ quasiblock"); /*_.RESLIS__V7*/ curfptr[6] = @@ -2784,7 +2350,7 @@ lab_endgetargs:; /*_.CURPAIR__V8*/ curfptr[7] = (melt_list_first((melt_ptr_t)(/*_.LIS__V2*/ curfptr[1])));; - MELT_LOCATION("warmelt-first.melt:2803:/ loop"); + MELT_LOCATION("warmelt-first.melt:2710:/ loop"); /*loop*/{ labloop_LISLOOP_1:;/*^loopbody*/ /*^block*/ @@ -2796,7 +2362,7 @@ lab_endgetargs:; /*_#NOT__L4*/ curfnum[3] = (!(/*_#IS_PAIR__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:2804:/ cond"); + MELT_LOCATION("warmelt-first.melt:2711:/ cond"); /*cond*/ if (/*_#NOT__L4*/ curfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -2817,12 +2383,12 @@ lab_endgetargs:; ; } /*noelse*/ ; - MELT_LOCATION("warmelt-first.melt:2805:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2712:/ quasiblock"); /*_.CURELEM__V11*/ curfptr[10] = (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V8*/ curfptr[7])));; - MELT_LOCATION("warmelt-first.melt:2806:/ apply"); + MELT_LOCATION("warmelt-first.melt:2713:/ apply"); /*apply*/{ /*_.F__V12*/ curfptr[11] = melt_apply ((meltclosure_ptr_t)(/*_.F__V3*/ curfptr[2]), (melt_ptr_t)(/*_.CURELEM__V11*/ curfptr[10]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } @@ -2833,17 +2399,17 @@ lab_endgetargs:; meltgc_append_list((melt_ptr_t)(/*_.RESLIS__V7*/ curfptr[6]), (melt_ptr_t)(/*_.F__V12*/ curfptr[11]));} ; - MELT_LOCATION("warmelt-first.melt:2805:/ clear"); + MELT_LOCATION("warmelt-first.melt:2712:/ clear"); /*clear*/ /*_.CURELEM__V11*/ curfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.F__V12*/ curfptr[11] = 0 ; /*_.PAIR_TAIL__V13*/ curfptr[10] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V8*/ curfptr[7])));; - MELT_LOCATION("warmelt-first.melt:2807:/ compute"); + MELT_LOCATION("warmelt-first.melt:2714:/ compute"); /*_.CURPAIR__V8*/ curfptr[7] = /*_.SETQ___V14*/ curfptr[11] = /*_.PAIR_TAIL__V13*/ curfptr[10];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2803:/ clear"); + MELT_LOCATION("warmelt-first.melt:2710:/ clear"); /*clear*/ /*_#IS_PAIR__L3*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L4*/ curfnum[3] = 0 ; @@ -2863,7 +2429,7 @@ lab_endgetargs:; /*_.LET___V6*/ curfptr[5] = /*_.FOREVER___V9*/ curfptr[8];; - MELT_LOCATION("warmelt-first.melt:2801:/ clear"); + MELT_LOCATION("warmelt-first.melt:2708:/ clear"); /*clear*/ /*_.RESLIS__V7*/ curfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.CURPAIR__V8*/ curfptr[7] = 0 ; @@ -2872,7 +2438,7 @@ lab_endgetargs:; /*_.IF___V5*/ curfptr[4] = /*_.LET___V6*/ curfptr[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2800:/ clear"); + MELT_LOCATION("warmelt-first.melt:2707:/ clear"); /*clear*/ /*_.LET___V6*/ curfptr[5] = 0 ;} ; } else {/*^cond.else*/ @@ -2885,7 +2451,7 @@ lab_endgetargs:; /*_.IF___V4*/ curfptr[3] = /*_.IF___V5*/ curfptr[4];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2799:/ clear"); + MELT_LOCATION("warmelt-first.melt:2706:/ clear"); /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V5*/ curfptr[4] = 0 ;} @@ -2895,11 +2461,11 @@ lab_endgetargs:; /*_.IF___V4*/ curfptr[3] = NULL;; } ; - MELT_LOCATION("warmelt-first.melt:2795:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2702:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.IF___V4*/ curfptr[3];; - MELT_LOCATION("warmelt-first.melt:2795:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2702:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -2917,14 +2483,14 @@ melt_trace_end("LIST_MAP", callcount); melt_topframe = (struct callframe_melt_s #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_41_warmelt_first_LIST_MAP*/ +} /*end meltrout_39_warmelt_first_LIST_MAP*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_42_warmelt_first_LIST_FIND(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_40_warmelt_first_LIST_FIND(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -2935,7 +2501,7 @@ meltrout_42_warmelt_first_LIST_FIND(meltclosure_ptr_t closp_, melt_ptr_t firstar #define callcount 0L #endif - struct frame_meltrout_42_warmelt_first_LIST_FIND_st { unsigned nbvar; + struct frame_meltrout_40_warmelt_first_LIST_FIND_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -2967,7 +2533,7 @@ melt_trace_start("LIST_FIND", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2812:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2719:/ getarg"); /*_.LIS__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -2992,13 +2558,13 @@ lab_endgetargs:; /*_#IS_LIST__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.LIS__V2*/ curfptr[1])) == OBMAG_LIST);; - MELT_LOCATION("warmelt-first.melt:2815:/ cond"); + MELT_LOCATION("warmelt-first.melt:2722:/ cond"); /*cond*/ if (/*_#IS_LIST__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2816:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2723:/ quasiblock"); /*_.CURPAIR__V7*/ curfptr[6] = @@ -3007,13 +2573,13 @@ lab_endgetargs:; /*_#IS_CLOSURE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.F__V4*/ curfptr[3])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2817:/ cond"); + MELT_LOCATION("warmelt-first.melt:2724:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2818:/ loop"); + MELT_LOCATION("warmelt-first.melt:2725:/ loop"); /*loop*/{ labloop_LISLOOP_2:;/*^loopbody*/ /*^block*/ @@ -3025,7 +2591,7 @@ lab_endgetargs:; /*_#NOT__L4*/ curfnum[3] = (!(/*_#IS_PAIR__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:2819:/ cond"); + MELT_LOCATION("warmelt-first.melt:2726:/ cond"); /*cond*/ if (/*_#NOT__L4*/ curfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -3046,12 +2612,12 @@ lab_endgetargs:; ; } /*noelse*/ ; - MELT_LOCATION("warmelt-first.melt:2820:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2727:/ quasiblock"); /*_.CURELEM__V12*/ curfptr[11] = (melt_pair_head((melt_ptr_t)(/*_.CURPAIR__V7*/ curfptr[6])));; - MELT_LOCATION("warmelt-first.melt:2821:/ apply"); + MELT_LOCATION("warmelt-first.melt:2728:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); @@ -3060,7 +2626,7 @@ lab_endgetargs:; /*_.T__V13*/ curfptr[12] = melt_apply ((meltclosure_ptr_t)(/*_.F__V4*/ curfptr[3]), (melt_ptr_t)(/*_.CURELEM__V12*/ curfptr[11]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; - MELT_LOCATION("warmelt-first.melt:2822:/ cond"); + MELT_LOCATION("warmelt-first.melt:2729:/ cond"); /*cond*/ if (/*_.T__V13*/ curfptr[12]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -3070,13 +2636,13 @@ lab_endgetargs:; /*_.RETVAL___V1*/ curfptr[0] = /*_.T__V13*/ curfptr[12];; - MELT_LOCATION("warmelt-first.melt:2822:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2729:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IF___V14*/ curfptr[13] = /*_.RETURN___V15*/ curfptr[14];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2822:/ clear"); + MELT_LOCATION("warmelt-first.melt:2729:/ clear"); /*clear*/ /*_.RETURN___V15*/ curfptr[14] = 0 ;} ; } else {/*^cond.else*/ @@ -3088,11 +2654,11 @@ lab_endgetargs:; /*_.PAIR_TAIL__V16*/ curfptr[14] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V7*/ curfptr[6])));; - MELT_LOCATION("warmelt-first.melt:2823:/ compute"); + MELT_LOCATION("warmelt-first.melt:2730:/ compute"); /*_.CURPAIR__V7*/ curfptr[6] = /*_.SETQ___V17*/ curfptr[16] = /*_.PAIR_TAIL__V16*/ curfptr[14];; /*_.LET___V11*/ curfptr[10] = /*_.SETQ___V17*/ curfptr[16];; - MELT_LOCATION("warmelt-first.melt:2820:/ clear"); + MELT_LOCATION("warmelt-first.melt:2727:/ clear"); /*clear*/ /*_.CURELEM__V12*/ curfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.T__V13*/ curfptr[12] = 0 ; @@ -3104,7 +2670,7 @@ lab_endgetargs:; /*clear*/ /*_.SETQ___V17*/ curfptr[16] = 0 ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2818:/ clear"); + MELT_LOCATION("warmelt-first.melt:2725:/ clear"); /*clear*/ /*_#IS_PAIR__L3*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L4*/ curfnum[3] = 0 ; @@ -3123,7 +2689,7 @@ lab_endgetargs:; /*_.IFELSE___V8*/ curfptr[7] = /*_.FOREVER___V9*/ curfptr[8];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2817:/ clear"); + MELT_LOCATION("warmelt-first.melt:2724:/ clear"); /*clear*/ /*_.FOREVER___V9*/ curfptr[8] = 0 ;} ; } else {/*^cond.else*/ @@ -3131,7 +2697,7 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2825:/ loop"); + MELT_LOCATION("warmelt-first.melt:2732:/ loop"); /*loop*/{ labloop_MEMLOOP_1:;/*^loopbody*/ /*^block*/ @@ -3143,7 +2709,7 @@ lab_endgetargs:; /*_#NOT__L6*/ curfnum[3] = (!(/*_#IS_PAIR__L5*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:2826:/ cond"); + MELT_LOCATION("warmelt-first.melt:2733:/ cond"); /*cond*/ if (/*_#NOT__L6*/ curfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -3164,7 +2730,7 @@ lab_endgetargs:; ; } /*noelse*/ ; - MELT_LOCATION("warmelt-first.melt:2827:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2734:/ quasiblock"); /*_.CURELEM__V21*/ curfptr[14] = @@ -3173,7 +2739,7 @@ lab_endgetargs:; /*_#__L7*/ curfnum[6] = ((/*_.CURELEM__V21*/ curfptr[14]) == (/*_.X__V3*/ curfptr[2]));; - MELT_LOCATION("warmelt-first.melt:2828:/ cond"); + MELT_LOCATION("warmelt-first.melt:2735:/ cond"); /*cond*/ if (/*_#__L7*/ curfnum[6]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -3183,13 +2749,13 @@ lab_endgetargs:; /*_.RETVAL___V1*/ curfptr[0] = /*_.CURELEM__V21*/ curfptr[14];; - MELT_LOCATION("warmelt-first.melt:2828:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2735:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IF___V22*/ curfptr[16] = /*_.RETURN___V23*/ curfptr[10];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2828:/ clear"); + MELT_LOCATION("warmelt-first.melt:2735:/ clear"); /*clear*/ /*_.RETURN___V23*/ curfptr[10] = 0 ;} ; } else {/*^cond.else*/ @@ -3201,11 +2767,11 @@ lab_endgetargs:; /*_.PAIR_TAIL__V24*/ curfptr[8] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V7*/ curfptr[6])));; - MELT_LOCATION("warmelt-first.melt:2829:/ compute"); + MELT_LOCATION("warmelt-first.melt:2736:/ compute"); /*_.CURPAIR__V7*/ curfptr[6] = /*_.SETQ___V25*/ curfptr[10] = /*_.PAIR_TAIL__V24*/ curfptr[8];; /*_.LET___V20*/ curfptr[13] = /*_.SETQ___V25*/ curfptr[10];; - MELT_LOCATION("warmelt-first.melt:2827:/ clear"); + MELT_LOCATION("warmelt-first.melt:2734:/ clear"); /*clear*/ /*_.CURELEM__V21*/ curfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_#__L7*/ curfnum[6] = 0 ; @@ -3217,7 +2783,7 @@ lab_endgetargs:; /*clear*/ /*_.SETQ___V25*/ curfptr[10] = 0 ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2825:/ clear"); + MELT_LOCATION("warmelt-first.melt:2732:/ clear"); /*clear*/ /*_#IS_PAIR__L5*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L6*/ curfnum[3] = 0 ; @@ -3236,14 +2802,14 @@ lab_endgetargs:; /*_.IFELSE___V8*/ curfptr[7] = /*_.FOREVER___V18*/ curfptr[11];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2817:/ clear"); + MELT_LOCATION("warmelt-first.melt:2724:/ clear"); /*clear*/ /*_.FOREVER___V18*/ curfptr[11] = 0 ;} ; } ; /*_.LET___V6*/ curfptr[5] = /*_.IFELSE___V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:2816:/ clear"); + MELT_LOCATION("warmelt-first.melt:2723:/ clear"); /*clear*/ /*_.CURPAIR__V7*/ curfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ; @@ -3252,7 +2818,7 @@ lab_endgetargs:; /*_.IF___V5*/ curfptr[4] = /*_.LET___V6*/ curfptr[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2815:/ clear"); + MELT_LOCATION("warmelt-first.melt:2722:/ clear"); /*clear*/ /*_.LET___V6*/ curfptr[5] = 0 ;} ; } else {/*^cond.else*/ @@ -3260,11 +2826,11 @@ lab_endgetargs:; /*_.IF___V5*/ curfptr[4] = NULL;; } ; - MELT_LOCATION("warmelt-first.melt:2812:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2719:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.IF___V5*/ curfptr[4];; - MELT_LOCATION("warmelt-first.melt:2812:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2719:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -3282,14 +2848,14 @@ melt_trace_end("LIST_FIND", callcount); melt_topframe = (struct callframe_melt_ #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_42_warmelt_first_LIST_FIND*/ +} /*end meltrout_40_warmelt_first_LIST_FIND*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_43_warmelt_first_LIST_TO_MULTIPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_41_warmelt_first_LIST_TO_MULTIPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -3300,7 +2866,7 @@ meltrout_43_warmelt_first_LIST_TO_MULTIPLE(meltclosure_ptr_t closp_, melt_ptr_t #define callcount 0L #endif - struct frame_meltrout_43_warmelt_first_LIST_TO_MULTIPLE_st { unsigned nbvar; + struct frame_meltrout_41_warmelt_first_LIST_TO_MULTIPLE_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -3332,7 +2898,7 @@ melt_trace_start("LIST_TO_MULTIPLE", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2835:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2742:/ getarg"); /*_.LIS__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -3357,7 +2923,7 @@ lab_endgetargs:; /*_#NULL__L1*/ curfnum[0] = ((/*_.DISC__V3*/ curfptr[2]) == NULL);; - MELT_LOCATION("warmelt-first.melt:2836:/ cond"); + MELT_LOCATION("warmelt-first.melt:2743:/ cond"); /*cond*/ if (/*_#NULL__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -3368,7 +2934,7 @@ lab_endgetargs:; /*_.IF___V5*/ curfptr[4] = /*_.SETQ___V6*/ curfptr[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2836:/ clear"); + MELT_LOCATION("warmelt-first.melt:2743:/ clear"); /*clear*/ /*_.SETQ___V6*/ curfptr[5] = 0 ;} ; } else {/*^cond.else*/ @@ -3380,13 +2946,13 @@ lab_endgetargs:; /*_#IS_LIST__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.LIS__V2*/ curfptr[1])) == OBMAG_LIST);; - MELT_LOCATION("warmelt-first.melt:2837:/ cond"); + MELT_LOCATION("warmelt-first.melt:2744:/ cond"); /*cond*/ if (/*_#IS_LIST__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2838:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2745:/ quasiblock"); /*_#LN__L3*/ curfnum[2] = @@ -3403,7 +2969,7 @@ lab_endgetargs:; /*_.CURPAIR__V11*/ curfptr[10] = (melt_list_first((melt_ptr_t)(/*_.LIS__V2*/ curfptr[1])));; - MELT_LOCATION("warmelt-first.melt:2844:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2751:/ quasiblock"); /*^newclosure*/ @@ -3429,7 +2995,7 @@ lab_endgetargs:; ((meltclosure_ptr_t)/*_.LAMBDA___V13*/ curfptr[12])->tabval[2] = (melt_ptr_t)(/*_.TUP__V9*/ curfptr[8]); ; /*_.LAMBDA___V12*/ curfptr[11] = /*_.LAMBDA___V13*/ curfptr[12];; - MELT_LOCATION("warmelt-first.melt:2842:/ apply"); + MELT_LOCATION("warmelt-first.melt:2749:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); @@ -3440,7 +3006,7 @@ lab_endgetargs:; ; /*_.LET___V8*/ curfptr[7] = /*_.TUP__V9*/ curfptr[8];; - MELT_LOCATION("warmelt-first.melt:2838:/ clear"); + MELT_LOCATION("warmelt-first.melt:2745:/ clear"); /*clear*/ /*_#LN__L3*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_.TUP__V9*/ curfptr[8] = 0 ; @@ -3455,7 +3021,7 @@ lab_endgetargs:; /*_.IF___V7*/ curfptr[5] = /*_.LET___V8*/ curfptr[7];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2837:/ clear"); + MELT_LOCATION("warmelt-first.melt:2744:/ clear"); /*clear*/ /*_.LET___V8*/ curfptr[7] = 0 ;} ; } else {/*^cond.else*/ @@ -3463,11 +3029,11 @@ lab_endgetargs:; /*_.IF___V7*/ curfptr[5] = NULL;; } ; - MELT_LOCATION("warmelt-first.melt:2835:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2742:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.IF___V7*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:2835:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2742:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -3489,14 +3055,14 @@ melt_trace_end("LIST_TO_MULTIPLE", callcount); melt_topframe = (struct callfram #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_43_warmelt_first_LIST_TO_MULTIPLE*/ +} /*end meltrout_41_warmelt_first_LIST_TO_MULTIPLE*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_44_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_42_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -3507,7 +3073,7 @@ meltrout_44_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp #define callcount 0L #endif - struct frame_meltrout_44_warmelt_first_LAMBDA__st { unsigned nbvar; + struct frame_meltrout_42_warmelt_first_LAMBDA__st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -3539,7 +3105,7 @@ melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2844:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2751:/ getarg"); /*_.C__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; @@ -3548,7 +3114,7 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2845:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2752:/ quasiblock"); /*_#IX__L1*/ curfnum[0] = @@ -3557,7 +3123,7 @@ lab_endgetargs:; /*_#IS_CLOSURE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)((/*~F*/ curfclos->tabval[1]))) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2846:/ cond"); + MELT_LOCATION("warmelt-first.melt:2753:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -3571,7 +3137,7 @@ lab_endgetargs:; /*_.TC__V3*/ curfptr[2] = /*_.F__V4*/ curfptr[3];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2846:/ clear"); + MELT_LOCATION("warmelt-first.melt:2753:/ clear"); /*clear*/ /*_.F__V4*/ curfptr[3] = 0 ;} ; } else {/*^cond.else*/ @@ -3585,16 +3151,16 @@ lab_endgetargs:; ((/*_#IX__L1*/ curfnum[0]) + (1));; { - MELT_LOCATION("warmelt-first.melt:2848:/ locexp"); + MELT_LOCATION("warmelt-first.melt:2755:/ locexp"); melt_put_int((melt_ptr_t)((/*~IXB*/ curfclos->tabval[0])), (/*_#I__L3*/ curfnum[2]));} ; { - MELT_LOCATION("warmelt-first.melt:2849:/ locexp"); + MELT_LOCATION("warmelt-first.melt:2756:/ locexp"); meltgc_multiple_put_nth((melt_ptr_t)((/*~TUP*/ curfclos->tabval[2])), (/*_#IX__L1*/ curfnum[0]), (melt_ptr_t)(/*_.TC__V3*/ curfptr[2]));} ; - MELT_LOCATION("warmelt-first.melt:2845:/ clear"); + MELT_LOCATION("warmelt-first.melt:2752:/ clear"); /*clear*/ /*_#IX__L1*/ curfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ; @@ -3613,14 +3179,14 @@ melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_44_warmelt_first_LAMBDA_*/ +} /*end meltrout_42_warmelt_first_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_45_warmelt_first_PAIRLIST_TO_MULTIPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_43_warmelt_first_PAIRLIST_TO_MULTIPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -3631,7 +3197,7 @@ meltrout_45_warmelt_first_PAIRLIST_TO_MULTIPLE(meltclosure_ptr_t closp_, melt_pt #define callcount 0L #endif - struct frame_meltrout_45_warmelt_first_PAIRLIST_TO_MULTIPLE_st { unsigned nbvar; + struct frame_meltrout_43_warmelt_first_PAIRLIST_TO_MULTIPLE_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -3663,7 +3229,7 @@ melt_trace_start("PAIRLIST_TO_MULTIPLE", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2855:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2762:/ getarg"); /*_.PAIR__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -3688,7 +3254,7 @@ lab_endgetargs:; /*_#NULL__L1*/ curfnum[0] = ((/*_.DISC__V3*/ curfptr[2]) == NULL);; - MELT_LOCATION("warmelt-first.melt:2861:/ cond"); + MELT_LOCATION("warmelt-first.melt:2768:/ cond"); /*cond*/ if (/*_#NULL__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -3699,7 +3265,7 @@ lab_endgetargs:; /*_.IF___V5*/ curfptr[4] = /*_.SETQ___V6*/ curfptr[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2861:/ clear"); + MELT_LOCATION("warmelt-first.melt:2768:/ clear"); /*clear*/ /*_.SETQ___V6*/ curfptr[5] = 0 ;} ; } else {/*^cond.else*/ @@ -3707,15 +3273,15 @@ lab_endgetargs:; /*_.IF___V5*/ curfptr[4] = NULL;; } ; - MELT_LOCATION("warmelt-first.melt:2862:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2769:/ quasiblock"); /*_#LN__L2*/ curfnum[1] = 0;; - MELT_LOCATION("warmelt-first.melt:2863:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2770:/ quasiblock"); /*_.CURPAIR__V9*/ curfptr[8] = /*_.PAIR__V2*/ curfptr[1];; - MELT_LOCATION("warmelt-first.melt:2864:/ loop"); + MELT_LOCATION("warmelt-first.melt:2771:/ loop"); /*loop*/{ labloop_LOOPLN_1:;/*^loopbody*/ /*^block*/ @@ -3727,7 +3293,7 @@ lab_endgetargs:; /*_#NOT__L4*/ curfnum[3] = (!(/*_#IS_PAIR__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:2865:/ cond"); + MELT_LOCATION("warmelt-first.melt:2772:/ cond"); /*cond*/ if (/*_#NOT__L4*/ curfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -3750,15 +3316,15 @@ lab_endgetargs:; ; /*_#I__L5*/ curfnum[4] = ((/*_#LN__L2*/ curfnum[1]) + (1));; - MELT_LOCATION("warmelt-first.melt:2866:/ compute"); + MELT_LOCATION("warmelt-first.melt:2773:/ compute"); /*_#LN__L2*/ curfnum[1] = /*_#SETQ___L6*/ curfnum[5] = /*_#I__L5*/ curfnum[4];; /*_.PAIR_TAIL__V12*/ curfptr[11] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V9*/ curfptr[8])));; - MELT_LOCATION("warmelt-first.melt:2867:/ compute"); + MELT_LOCATION("warmelt-first.melt:2774:/ compute"); /*_.CURPAIR__V9*/ curfptr[8] = /*_.SETQ___V13*/ curfptr[12] = /*_.PAIR_TAIL__V12*/ curfptr[11];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2864:/ clear"); + MELT_LOCATION("warmelt-first.melt:2771:/ clear"); /*clear*/ /*_#IS_PAIR__L3*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L4*/ curfnum[3] = 0 ; @@ -3782,11 +3348,11 @@ lab_endgetargs:; /*_.LET___V8*/ curfptr[7] = /*_.FOREVER___V10*/ curfptr[9];; - MELT_LOCATION("warmelt-first.melt:2863:/ clear"); + MELT_LOCATION("warmelt-first.melt:2770:/ clear"); /*clear*/ /*_.CURPAIR__V9*/ curfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.FOREVER___V10*/ curfptr[9] = 0 ; - MELT_LOCATION("warmelt-first.melt:2868:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2775:/ quasiblock"); /*_.TUP__V15*/ curfptr[12] = @@ -3797,7 +3363,7 @@ lab_endgetargs:; /*^compute*/ /*_.CURPAIR__V16*/ curfptr[8] = /*_.PAIR__V2*/ curfptr[1];; - MELT_LOCATION("warmelt-first.melt:2872:/ loop"); + MELT_LOCATION("warmelt-first.melt:2779:/ loop"); /*loop*/{ labloop_LOOPFI_1:;/*^loopbody*/ /*^block*/ @@ -3809,7 +3375,7 @@ lab_endgetargs:; /*_#NOT__L9*/ curfnum[4] = (!(/*_#IS_PAIR__L8*/ curfnum[3]));; - MELT_LOCATION("warmelt-first.melt:2873:/ cond"); + MELT_LOCATION("warmelt-first.melt:2780:/ cond"); /*cond*/ if (/*_#NOT__L9*/ curfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -3830,7 +3396,7 @@ lab_endgetargs:; ; } /*noelse*/ ; - MELT_LOCATION("warmelt-first.melt:2874:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2781:/ quasiblock"); /*_.C__V20*/ curfptr[19] = @@ -3839,7 +3405,7 @@ lab_endgetargs:; /*_#IS_CLOSURE__L10*/ curfnum[5] = (melt_magic_discr((melt_ptr_t)(/*_.F__V4*/ curfptr[3])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2875:/ cond"); + MELT_LOCATION("warmelt-first.melt:2782:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L10*/ curfnum[5]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -3853,7 +3419,7 @@ lab_endgetargs:; /*_.TC__V21*/ curfptr[20] = /*_.F__V22*/ curfptr[21];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2875:/ clear"); + MELT_LOCATION("warmelt-first.melt:2782:/ clear"); /*clear*/ /*_.F__V22*/ curfptr[21] = 0 ;} ; } else {/*^cond.else*/ @@ -3863,20 +3429,20 @@ lab_endgetargs:; ; { - MELT_LOCATION("warmelt-first.melt:2876:/ locexp"); + MELT_LOCATION("warmelt-first.melt:2783:/ locexp"); meltgc_multiple_put_nth((melt_ptr_t)(/*_.TUP__V15*/ curfptr[12]), (/*_#IX__L7*/ curfnum[2]), (melt_ptr_t)(/*_.TC__V21*/ curfptr[20]));} ; /*_#I__L11*/ curfnum[10] = ((/*_#IX__L7*/ curfnum[2]) + (1));; - MELT_LOCATION("warmelt-first.melt:2877:/ compute"); + MELT_LOCATION("warmelt-first.melt:2784:/ compute"); /*_#IX__L7*/ curfnum[2] = /*_#SETQ___L12*/ curfnum[11] = /*_#I__L11*/ curfnum[10];; /*_.PAIR_TAIL__V23*/ curfptr[21] = (melt_pair_tail((melt_ptr_t)(/*_.CURPAIR__V16*/ curfptr[8])));; - MELT_LOCATION("warmelt-first.melt:2878:/ compute"); + MELT_LOCATION("warmelt-first.melt:2785:/ compute"); /*_.CURPAIR__V16*/ curfptr[8] = /*_.SETQ___V24*/ curfptr[23] = /*_.PAIR_TAIL__V23*/ curfptr[21];; /*_.LET___V19*/ curfptr[18] = /*_.SETQ___V24*/ curfptr[23];; - MELT_LOCATION("warmelt-first.melt:2874:/ clear"); + MELT_LOCATION("warmelt-first.melt:2781:/ clear"); /*clear*/ /*_.C__V20*/ curfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_#IS_CLOSURE__L10*/ curfnum[5] = 0 ; @@ -3892,7 +3458,7 @@ lab_endgetargs:; /*clear*/ /*_.SETQ___V24*/ curfptr[23] = 0 ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2872:/ clear"); + MELT_LOCATION("warmelt-first.melt:2779:/ clear"); /*clear*/ /*_#IS_PAIR__L8*/ curfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L9*/ curfnum[4] = 0 ; @@ -3906,16 +3472,16 @@ lab_endgetargs:; /*_.FOREVER___V17*/ curfptr[9] = /*_.LOOPFI__V18*/ curfptr[17];; } ; - MELT_LOCATION("warmelt-first.melt:2879:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2786:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.TUP__V15*/ curfptr[12];; - MELT_LOCATION("warmelt-first.melt:2879:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2786:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.LET___V14*/ curfptr[11] = /*_.RETURN___V25*/ curfptr[19];; - MELT_LOCATION("warmelt-first.melt:2868:/ clear"); + MELT_LOCATION("warmelt-first.melt:2775:/ clear"); /*clear*/ /*_.TUP__V15*/ curfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_#IX__L7*/ curfnum[2] = 0 ; @@ -3927,17 +3493,17 @@ lab_endgetargs:; /*clear*/ /*_.RETURN___V25*/ curfptr[19] = 0 ; /*_.LET___V7*/ curfptr[5] = /*_.LET___V14*/ curfptr[11];; - MELT_LOCATION("warmelt-first.melt:2862:/ clear"); + MELT_LOCATION("warmelt-first.melt:2769:/ clear"); /*clear*/ /*_#LN__L2*/ curfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V8*/ curfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V14*/ curfptr[11] = 0 ; - MELT_LOCATION("warmelt-first.melt:2855:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2762:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V7*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:2855:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2762:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -3957,571 +3523,14 @@ melt_trace_end("PAIRLIST_TO_MULTIPLE", callcount); melt_topframe = (struct call #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_45_warmelt_first_PAIRLIST_TO_MULTIPLE*/ - - - - - -melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_46_warmelt_first_MULTIPLE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, - const char xresdescr_[], union meltparam_un *xrestab_) -{ -#if ENABLE_CHECKING - static long call_counter__; - long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; -#define callcount thiscallcounter__ -#else -#define callcount 0L -#endif - - struct frame_meltrout_46_warmelt_first_MULTIPLE_EVERY_st { unsigned nbvar; -#if ENABLE_CHECKING - const char* flocs; -#endif - struct meltclosure_st *clos; - struct excepth_melt_st *exh; - struct callframe_melt_st *prev; -#define CURFRAM_NBVARPTR 5 - void* varptr[5]; -#define CURFRAM_NBVARNUM 3 - long varnum[3]; -/*others*/ - long _spare_; } - *framptr_=0, curfram__; - if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ - int ix=0; - framptr_ = (void*)firstargp_; - gt_ggc_mx_melt_un (framptr_->clos); - for(ix=0; ix<5; ix++) - if (framptr_->varptr[ix]) - gt_ggc_mx_melt_un (framptr_->varptr[ix]); - return NULL; - }/*end markggc*/; - memset(&curfram__, 0, sizeof(curfram__)); - curfram__.nbvar = 5; - curfram__.clos = closp_; - curfram__.prev = (struct callframe_melt_st *) melt_topframe; - melt_topframe = (struct callframe_melt_st *) &curfram__; -melt_trace_start("MULTIPLE_EVERY", callcount); -/*getargs*/ - - /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2920:/ getarg"); - /*_.TUP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; - - /*getarg#1*/ - /*^getarg*/ - if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; - /*_.F__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) != NULL); - - ; - goto lab_endgetargs; -lab_endgetargs:; -/*body*/ -/*^block*/ -/*anyblock*/{ - - /*_#IS_MULTIPLE__L1*/ curfnum[0] = - (melt_magic_discr((melt_ptr_t)(/*_.TUP__V2*/ curfptr[1])) == OBMAG_MULTIPLE);; - MELT_LOCATION("warmelt-first.melt:2923:/ cond"); - /*cond*/ if (/*_#IS_MULTIPLE__L1*/ curfnum[0]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*_#IS_CLOSURE__L2*/ curfnum[1] = - (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2924:/ cond"); - /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*citerblock FOREACH_IN_MULTIPLE*/ { - /* start cit1__EACHTUP: */ - long cit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.TUP__V2*/ curfptr[1]); - for (/*_#IX__L3*/ curfnum[2] = 0; - (/*_#IX__L3*/ curfnum[2] >= 0) && (/*_#IX__L3*/ curfnum[2] < cit1__EACHTUP_ln); - /*_#IX__L3*/ curfnum[2]++) { - /*_.COMP__V4*/ curfptr[3] = melt_multiple_nth((melt_ptr_t)(/*_.TUP__V2*/ curfptr[1]), /*_#IX__L3*/ curfnum[2]); - - - - MELT_LOCATION("warmelt-first.melt:2928:/ apply"); - /*apply*/{ - union meltparam_un argtab[1]; - memset(&argtab, 0, sizeof(argtab)); - /*^apply.arg*/ - argtab[0].bp_long = /*_#IX__L3*/ curfnum[2]; - /*_.F__V5*/ curfptr[4] = melt_apply ((meltclosure_ptr_t)(/*_.F__V3*/ curfptr[2]), (melt_ptr_t)(/*_.COMP__V4*/ curfptr[3]), (BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); - } - ; - if (/*_#IX__L3*/ curfnum[2]<0) break; - } /* end cit1__EACHTUP */ - - /*citerepilog*/ - - MELT_LOCATION("warmelt-first.melt:2925:/ clear"); - /*clear*/ /*_.COMP__V4*/ curfptr[3] = 0 ; - /*^clear*/ - /*clear*/ /*_#IX__L3*/ curfnum[2] = 0 ; - /*^clear*/ - /*clear*/ /*_.F__V5*/ curfptr[4] = 0 ;} /*endciterblock FOREACH_IN_MULTIPLE*/ - ; - /*epilog*/ - } - ; - } /*noelse*/ - ; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2923:/ clear"); - /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ;} - ; - } /*noelse*/ - ; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2920:/ clear"); - /*clear*/ /*_#IS_MULTIPLE__L1*/ curfnum[0] = 0 ;} - -; - goto labend_rout; -labend_rout: -melt_trace_end("MULTIPLE_EVERY", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; - return (melt_ptr_t)(/*noretval*/ NULL); -#undef callcount -#undef CURFRAM_NBVARNUM -#undef CURFRAM_NBVARPTR -} /*end meltrout_46_warmelt_first_MULTIPLE_EVERY*/ - - - - - -melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_47_warmelt_first_MULTIPLE_BACKWARD_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, - const char xresdescr_[], union meltparam_un *xrestab_) -{ -#if ENABLE_CHECKING - static long call_counter__; - long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; -#define callcount thiscallcounter__ -#else -#define callcount 0L -#endif - - struct frame_meltrout_47_warmelt_first_MULTIPLE_BACKWARD_EVERY_st { unsigned nbvar; -#if ENABLE_CHECKING - const char* flocs; -#endif - struct meltclosure_st *clos; - struct excepth_melt_st *exh; - struct callframe_melt_st *prev; -#define CURFRAM_NBVARPTR 5 - void* varptr[5]; -#define CURFRAM_NBVARNUM 3 - long varnum[3]; -/*others*/ - long _spare_; } - *framptr_=0, curfram__; - if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ - int ix=0; - framptr_ = (void*)firstargp_; - gt_ggc_mx_melt_un (framptr_->clos); - for(ix=0; ix<5; ix++) - if (framptr_->varptr[ix]) - gt_ggc_mx_melt_un (framptr_->varptr[ix]); - return NULL; - }/*end markggc*/; - memset(&curfram__, 0, sizeof(curfram__)); - curfram__.nbvar = 5; - curfram__.clos = closp_; - curfram__.prev = (struct callframe_melt_st *) melt_topframe; - melt_topframe = (struct callframe_melt_st *) &curfram__; -melt_trace_start("MULTIPLE_BACKWARD_EVERY", callcount); -/*getargs*/ - - /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2931:/ getarg"); - /*_.TUP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; - - /*getarg#1*/ - /*^getarg*/ - if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; - /*_.F__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) != NULL); - - ; - goto lab_endgetargs; -lab_endgetargs:; -/*body*/ -/*^block*/ -/*anyblock*/{ - - /*_#IS_MULTIPLE__L1*/ curfnum[0] = - (melt_magic_discr((melt_ptr_t)(/*_.TUP__V2*/ curfptr[1])) == OBMAG_MULTIPLE);; - MELT_LOCATION("warmelt-first.melt:2934:/ cond"); - /*cond*/ if (/*_#IS_MULTIPLE__L1*/ curfnum[0]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*_#IS_CLOSURE__L2*/ curfnum[1] = - (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2935:/ cond"); - /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*citerblock FOREACH_IN_MULTIPLE_BACKWARD*/ { - /* start cit1__EACHTUPBACK: */ - long cit1__EACHTUPBACK_ln = melt_multiple_length((melt_ptr_t)/*_.TUP__V2*/ curfptr[1]); - long cit1__EACHTUPBACK_ix = 0; - for (cit1__EACHTUPBACK_ix = cit1__EACHTUPBACK_ln - 1; - cit1__EACHTUPBACK_ix >= 0; - cit1__EACHTUPBACK_ix--) { - /*_.COMP__V4*/ curfptr[3] = melt_multiple_nth((melt_ptr_t)(/*_.TUP__V2*/ curfptr[1]), cit1__EACHTUPBACK_ix); - /*_#IX__L3*/ curfnum[2] = cit1__EACHTUPBACK_ix; - - - MELT_LOCATION("warmelt-first.melt:2939:/ apply"); - /*apply*/{ - union meltparam_un argtab[1]; - memset(&argtab, 0, sizeof(argtab)); - /*^apply.arg*/ - argtab[0].bp_long = /*_#IX__L3*/ curfnum[2]; - /*_.F__V5*/ curfptr[4] = melt_apply ((meltclosure_ptr_t)(/*_.F__V3*/ curfptr[2]), (melt_ptr_t)(/*_.COMP__V4*/ curfptr[3]), (BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); - } - ; - } /* end cit1__EACHTUPBACK */ - - /*citerepilog*/ - - MELT_LOCATION("warmelt-first.melt:2936:/ clear"); - /*clear*/ /*_.COMP__V4*/ curfptr[3] = 0 ; - /*^clear*/ - /*clear*/ /*_#IX__L3*/ curfnum[2] = 0 ; - /*^clear*/ - /*clear*/ /*_.F__V5*/ curfptr[4] = 0 ;} /*endciterblock FOREACH_IN_MULTIPLE_BACKWARD*/ - ; - /*epilog*/ - } - ; - } /*noelse*/ - ; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2934:/ clear"); - /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ;} - ; - } /*noelse*/ - ; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2931:/ clear"); - /*clear*/ /*_#IS_MULTIPLE__L1*/ curfnum[0] = 0 ;} - -; - goto labend_rout; -labend_rout: -melt_trace_end("MULTIPLE_BACKWARD_EVERY", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; - return (melt_ptr_t)(/*noretval*/ NULL); -#undef callcount -#undef CURFRAM_NBVARNUM -#undef CURFRAM_NBVARPTR -} /*end meltrout_47_warmelt_first_MULTIPLE_BACKWARD_EVERY*/ - - - - - -melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_48_warmelt_first_MULTIPLE_EVERY_BOTH(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, - const char xresdescr_[], union meltparam_un *xrestab_) -{ -#if ENABLE_CHECKING - static long call_counter__; - long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; -#define callcount thiscallcounter__ -#else -#define callcount 0L -#endif - - struct frame_meltrout_48_warmelt_first_MULTIPLE_EVERY_BOTH_st { unsigned nbvar; -#if ENABLE_CHECKING - const char* flocs; -#endif - struct meltclosure_st *clos; - struct excepth_melt_st *exh; - struct callframe_melt_st *prev; -#define CURFRAM_NBVARPTR 13 - void* varptr[13]; -#define CURFRAM_NBVARNUM 10 - long varnum[10]; -/*others*/ - long _spare_; } - *framptr_=0, curfram__; - if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ - int ix=0; - framptr_ = (void*)firstargp_; - gt_ggc_mx_melt_un (framptr_->clos); - for(ix=0; ix<13; ix++) - if (framptr_->varptr[ix]) - gt_ggc_mx_melt_un (framptr_->varptr[ix]); - return NULL; - }/*end markggc*/; - memset(&curfram__, 0, sizeof(curfram__)); - curfram__.nbvar = 13; - curfram__.clos = closp_; - curfram__.prev = (struct callframe_melt_st *) melt_topframe; - melt_topframe = (struct callframe_melt_st *) &curfram__; -melt_trace_start("MULTIPLE_EVERY_BOTH", callcount); -/*getargs*/ - - /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2943:/ getarg"); - /*_.TUP1__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; - - /*getarg#1*/ - /*^getarg*/ - if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; - /*_.TUP2__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.TUP2__V3*/ curfptr[2])) != NULL); - - - /*getarg#2*/ - /*^getarg*/ - if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; - /*_.F__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.F__V4*/ curfptr[3])) != NULL); - - ; - goto lab_endgetargs; -lab_endgetargs:; -/*body*/ -/*^block*/ -/*anyblock*/{ - - /*_#IS_MULTIPLE__L1*/ curfnum[0] = - (melt_magic_discr((melt_ptr_t)(/*_.TUP1__V2*/ curfptr[1])) == OBMAG_MULTIPLE);; - MELT_LOCATION("warmelt-first.melt:2946:/ cond"); - /*cond*/ if (/*_#IS_MULTIPLE__L1*/ curfnum[0]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*_#IS_MULTIPLE__L2*/ curfnum[1] = - (melt_magic_discr((melt_ptr_t)(/*_.TUP2__V3*/ curfptr[2])) == OBMAG_MULTIPLE);; - MELT_LOCATION("warmelt-first.melt:2947:/ cond"); - /*cond*/ if (/*_#IS_MULTIPLE__L2*/ curfnum[1]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*_#IS_CLOSURE__L3*/ curfnum[2] = - (melt_magic_discr((melt_ptr_t)(/*_.F__V4*/ curfptr[3])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2948:/ cond"); - /*cond*/ if (/*_#IS_CLOSURE__L3*/ curfnum[2]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - MELT_LOCATION("warmelt-first.melt:2949:/ quasiblock"); - - - /*_#LN1__L4*/ curfnum[3] = - (melt_multiple_length((melt_ptr_t)(/*_.TUP1__V2*/ curfptr[1])));; - /*^compute*/ - - /*_#LN2__L5*/ curfnum[4] = - (melt_multiple_length((melt_ptr_t)(/*_.TUP2__V3*/ curfptr[2])));; - /*^compute*/ - - /*_#IX__L6*/ curfnum[5] = 0;; - MELT_LOCATION("warmelt-first.melt:2952:/ loop"); - /*loop*/{ labloop_TUPLOOP_1:;/*^loopbody*/ - - /*^block*/ - /*anyblock*/{ - - /*_#I__L7*/ curfnum[6] = - ((/*_#IX__L6*/ curfnum[5]) >= (/*_#LN1__L4*/ curfnum[3]));; - MELT_LOCATION("warmelt-first.melt:2953:/ cond"); - /*cond*/ if (/*_#I__L7*/ curfnum[6]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*^quasiblock*/ - - - /*^compute*/ - /*_.TUPLOOP__V10*/ curfptr[9] = NULL;; - - /*^exit*/ - /*exit*/{ - goto labexit_TUPLOOP_1;} - ; - /*epilog*/ - } - ; - } /*noelse*/ - ; - /*_#I__L8*/ curfnum[7] = - ((/*_#IX__L6*/ curfnum[5]) >= (/*_#LN2__L5*/ curfnum[4]));; - MELT_LOCATION("warmelt-first.melt:2954:/ cond"); - /*cond*/ if (/*_#I__L8*/ curfnum[7]) /*then*/ { - /*^cond.then*/ - /*^block*/ - /*anyblock*/{ - - /*^quasiblock*/ - - - /*^compute*/ - /*_.TUPLOOP__V10*/ curfptr[9] = NULL;; - - /*^exit*/ - /*exit*/{ - goto labexit_TUPLOOP_1;} - ; - /*epilog*/ - } - ; - } /*noelse*/ - ; - /*_.MULTIPLE_NTH__V11*/ curfptr[10] = - (melt_multiple_nth((melt_ptr_t)(/*_.TUP1__V2*/ curfptr[1]), (/*_#IX__L6*/ curfnum[5])));; - /*^compute*/ - - /*_.MULTIPLE_NTH__V12*/ curfptr[11] = - (melt_multiple_nth((melt_ptr_t)(/*_.TUP2__V3*/ curfptr[2]), (/*_#IX__L6*/ curfnum[5])));; - MELT_LOCATION("warmelt-first.melt:2955:/ apply"); - /*apply*/{ - union meltparam_un argtab[2]; - memset(&argtab, 0, sizeof(argtab)); - /*^apply.arg*/ - argtab[0].bp_aptr = (melt_ptr_t*) &/*_.MULTIPLE_NTH__V12*/ curfptr[11]; - /*^apply.arg*/ - argtab[1].bp_long = /*_#IX__L6*/ curfnum[5]; - /*_.F__V13*/ curfptr[12] = melt_apply ((meltclosure_ptr_t)(/*_.F__V4*/ curfptr[3]), (melt_ptr_t)(/*_.MULTIPLE_NTH__V11*/ curfptr[10]), (BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); - } - ; - /*_#I__L9*/ curfnum[8] = - ((/*_#IX__L6*/ curfnum[5]) + (1));; - MELT_LOCATION("warmelt-first.melt:2956:/ compute"); - /*_#IX__L6*/ curfnum[5] = /*_#SETQ___L10*/ curfnum[9] = /*_#I__L9*/ curfnum[8];; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2952:/ clear"); - /*clear*/ /*_#I__L7*/ curfnum[6] = 0 ; - /*^clear*/ - /*clear*/ /*_#I__L8*/ curfnum[7] = 0 ; - /*^clear*/ - /*clear*/ /*_.MULTIPLE_NTH__V11*/ curfptr[10] = 0 ; - /*^clear*/ - /*clear*/ /*_.MULTIPLE_NTH__V12*/ curfptr[11] = 0 ; - /*^clear*/ - /*clear*/ /*_.F__V13*/ curfptr[12] = 0 ; - /*^clear*/ - /*clear*/ /*_#I__L9*/ curfnum[8] = 0 ; - /*^clear*/ - /*clear*/ /*_#SETQ___L10*/ curfnum[9] = 0 ;} - ; - ; - goto labloop_TUPLOOP_1; - labexit_TUPLOOP_1:;/*^loopepilog*/ - /*loopepilog*/ - /*_.FOREVER___V9*/ curfptr[8] = /*_.TUPLOOP__V10*/ curfptr[9];; - } - ; - /*^compute*/ - - /*_.LET___V8*/ curfptr[7] = /*_.FOREVER___V9*/ curfptr[8];; - - MELT_LOCATION("warmelt-first.melt:2949:/ clear"); - /*clear*/ /*_#LN1__L4*/ curfnum[3] = 0 ; - /*^clear*/ - /*clear*/ /*_#LN2__L5*/ curfnum[4] = 0 ; - /*^clear*/ - /*clear*/ /*_#IX__L6*/ curfnum[5] = 0 ; - /*^clear*/ - /*clear*/ /*_.FOREVER___V9*/ curfptr[8] = 0 ; - /*_.IF___V7*/ curfptr[6] = /*_.LET___V8*/ curfptr[7];; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2948:/ clear"); - /*clear*/ /*_.LET___V8*/ curfptr[7] = 0 ;} - ; - } else {/*^cond.else*/ - - /*_.IF___V7*/ curfptr[6] = NULL;; - } - ; - /*^compute*/ - - /*_.IF___V6*/ curfptr[5] = /*_.IF___V7*/ curfptr[6];; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2947:/ clear"); - /*clear*/ /*_#IS_CLOSURE__L3*/ curfnum[2] = 0 ; - /*^clear*/ - /*clear*/ /*_.IF___V7*/ curfptr[6] = 0 ;} - ; - } else {/*^cond.else*/ - - /*_.IF___V6*/ curfptr[5] = NULL;; - } - ; - /*^compute*/ - - /*_.IF___V5*/ curfptr[4] = /*_.IF___V6*/ curfptr[5];; - /*epilog*/ - - MELT_LOCATION("warmelt-first.melt:2946:/ clear"); - /*clear*/ /*_#IS_MULTIPLE__L2*/ curfnum[1] = 0 ; - /*^clear*/ - /*clear*/ /*_.IF___V6*/ curfptr[5] = 0 ;} - ; - } else {/*^cond.else*/ - - /*_.IF___V5*/ curfptr[4] = NULL;; - } - ; - MELT_LOCATION("warmelt-first.melt:2943:/ quasiblock"); - - - /*_.RETVAL___V1*/ curfptr[0] = /*_.IF___V5*/ curfptr[4];; - MELT_LOCATION("warmelt-first.melt:2943:/ finalreturn"); - ; - /*finalret*/ goto labend_rout ; - /*epilog*/ - - /*^clear*/ - /*clear*/ /*_#IS_MULTIPLE__L1*/ curfnum[0] = 0 ; - /*^clear*/ - /*clear*/ /*_.IF___V5*/ curfptr[4] = 0 ;} - -; - goto labend_rout; -labend_rout: -melt_trace_end("MULTIPLE_EVERY_BOTH", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; - return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); -#undef callcount -#undef CURFRAM_NBVARNUM -#undef CURFRAM_NBVARPTR -} /*end meltrout_48_warmelt_first_MULTIPLE_EVERY_BOTH*/ +} /*end meltrout_43_warmelt_first_PAIRLIST_TO_MULTIPLE*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_49_warmelt_first_MULTIPLE_ITERATE_TEST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_44_warmelt_first_MULTIPLE_ITERATE_TEST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -4532,7 +3541,7 @@ meltrout_49_warmelt_first_MULTIPLE_ITERATE_TEST(meltclosure_ptr_t closp_, melt_p #define callcount 0L #endif - struct frame_meltrout_49_warmelt_first_MULTIPLE_ITERATE_TEST_st { unsigned nbvar; + struct frame_meltrout_44_warmelt_first_MULTIPLE_ITERATE_TEST_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -4564,7 +3573,7 @@ melt_trace_start("MULTIPLE_ITERATE_TEST", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2960:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2827:/ getarg"); /*_.TUP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -4582,7 +3591,7 @@ lab_endgetargs:; /*_#IS_MULTIPLE__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.TUP__V2*/ curfptr[1])) == OBMAG_MULTIPLE);; - MELT_LOCATION("warmelt-first.melt:2964:/ cond"); + MELT_LOCATION("warmelt-first.melt:2831:/ cond"); /*cond*/ if (/*_#IS_MULTIPLE__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -4590,7 +3599,7 @@ lab_endgetargs:; /*_#IS_CLOSURE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2965:/ cond"); + MELT_LOCATION("warmelt-first.melt:2832:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -4606,7 +3615,7 @@ lab_endgetargs:; - MELT_LOCATION("warmelt-first.melt:2969:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2836:/ quasiblock"); /*^multiapply*/ @@ -4629,7 +3638,7 @@ lab_endgetargs:; /*_#NULL__L4*/ curfnum[3] = ((/*_.TEST__V6*/ curfptr[5]) == NULL);; - MELT_LOCATION("warmelt-first.melt:2972:/ cond"); + MELT_LOCATION("warmelt-first.melt:2839:/ cond"); /*cond*/ if (/*_#NULL__L4*/ curfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -4639,7 +3648,7 @@ lab_endgetargs:; /*_.RETVAL___V1*/ curfptr[0] = /*_.COMP__V4*/ curfptr[3];; - MELT_LOCATION("warmelt-first.melt:2972:/ putxtraresult"); + MELT_LOCATION("warmelt-first.melt:2839:/ putxtraresult"); if (!xrestab_ || !xresdescr_) goto labend_rout; if (xresdescr_[0] != BPAR_LONG) goto labend_rout; if (xrestab_[0].bp_longptr) *(xrestab_[0].bp_longptr) = (/*_#IX__L3*/ curfnum[2]); @@ -4655,7 +3664,7 @@ lab_endgetargs:; /*_.IF___V8*/ curfptr[7] = /*_.RETURN___V9*/ curfptr[8];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2972:/ clear"); + MELT_LOCATION("warmelt-first.melt:2839:/ clear"); /*clear*/ /*_.RETURN___V9*/ curfptr[8] = 0 ;} ; } else {/*^cond.else*/ @@ -4667,7 +3676,7 @@ lab_endgetargs:; /*_.MULTI___V5*/ curfptr[4] = /*_.IF___V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:2969:/ clear"); + MELT_LOCATION("warmelt-first.melt:2836:/ clear"); /*clear*/ /*_#NULL__L4*/ curfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V8*/ curfptr[7] = 0 ; @@ -4679,7 +3688,7 @@ lab_endgetargs:; /*citerepilog*/ - MELT_LOCATION("warmelt-first.melt:2966:/ clear"); + MELT_LOCATION("warmelt-first.melt:2833:/ clear"); /*clear*/ /*_.COMP__V4*/ curfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_#IX__L3*/ curfnum[2] = 0 ; @@ -4693,14 +3702,14 @@ lab_endgetargs:; ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2964:/ clear"); + MELT_LOCATION("warmelt-first.melt:2831:/ clear"); /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ;} ; } /*noelse*/ ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2960:/ clear"); + MELT_LOCATION("warmelt-first.melt:2827:/ clear"); /*clear*/ /*_#IS_MULTIPLE__L1*/ curfnum[0] = 0 ;} ; @@ -4711,14 +3720,14 @@ melt_trace_end("MULTIPLE_ITERATE_TEST", callcount); melt_topframe = (struct cal #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_49_warmelt_first_MULTIPLE_ITERATE_TEST*/ +} /*end meltrout_44_warmelt_first_MULTIPLE_ITERATE_TEST*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_50_warmelt_first_MULTIPLE_MAP(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_45_warmelt_first_MULTIPLE_MAP(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -4729,7 +3738,7 @@ meltrout_50_warmelt_first_MULTIPLE_MAP(meltclosure_ptr_t closp_, melt_ptr_t firs #define callcount 0L #endif - struct frame_meltrout_50_warmelt_first_MULTIPLE_MAP_st { unsigned nbvar; + struct frame_meltrout_45_warmelt_first_MULTIPLE_MAP_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -4761,7 +3770,7 @@ melt_trace_start("MULTIPLE_MAP", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2975:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2844:/ getarg"); /*_.TUP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -4779,7 +3788,7 @@ lab_endgetargs:; /*_#IS_MULTIPLE__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.TUP__V2*/ curfptr[1])) == OBMAG_MULTIPLE);; - MELT_LOCATION("warmelt-first.melt:2978:/ cond"); + MELT_LOCATION("warmelt-first.melt:2847:/ cond"); /*cond*/ if (/*_#IS_MULTIPLE__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -4787,13 +3796,13 @@ lab_endgetargs:; /*_#IS_CLOSURE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:2979:/ cond"); + MELT_LOCATION("warmelt-first.melt:2848:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2980:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2849:/ quasiblock"); /*_#LN__L3*/ curfnum[2] = @@ -4805,15 +3814,15 @@ lab_endgetargs:; /*_.RES__V7*/ curfptr[6] = (meltgc_new_multiple((meltobject_ptr_t)((/*!DISCR_MULTIPLE*/ curfrout->tabval[0])), (/*_#LN__L3*/ curfnum[2])));; - MELT_LOCATION("warmelt-first.melt:2984:/ loop"); - /*loop*/{ labloop_TUPLOOP_2:;/*^loopbody*/ + MELT_LOCATION("warmelt-first.melt:2853:/ loop"); + /*loop*/{ labloop_TUPLOOP_1:;/*^loopbody*/ /*^block*/ /*anyblock*/{ /*_#I__L5*/ curfnum[4] = ((/*_#IX__L4*/ curfnum[3]) >= (/*_#LN__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:2985:/ cond"); + MELT_LOCATION("warmelt-first.melt:2854:/ cond"); /*cond*/ if (/*_#I__L5*/ curfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -4827,19 +3836,19 @@ lab_endgetargs:; /*^exit*/ /*exit*/{ - goto labexit_TUPLOOP_2;} + goto labexit_TUPLOOP_1;} ; /*epilog*/ } ; } /*noelse*/ ; - MELT_LOCATION("warmelt-first.melt:2986:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2855:/ quasiblock"); /*_.CURCOMP__V10*/ curfptr[9] = (melt_multiple_nth((melt_ptr_t)(/*_.TUP__V2*/ curfptr[1]), (/*_#IX__L4*/ curfnum[3])));; - MELT_LOCATION("warmelt-first.melt:2987:/ apply"); + MELT_LOCATION("warmelt-first.melt:2856:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); @@ -4854,17 +3863,17 @@ lab_endgetargs:; meltgc_multiple_put_nth((melt_ptr_t)(/*_.RES__V7*/ curfptr[6]), (/*_#IX__L4*/ curfnum[3]), (melt_ptr_t)(/*_.F__V11*/ curfptr[10]));} ; - MELT_LOCATION("warmelt-first.melt:2986:/ clear"); + MELT_LOCATION("warmelt-first.melt:2855:/ clear"); /*clear*/ /*_.CURCOMP__V10*/ curfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.F__V11*/ curfptr[10] = 0 ; /*_#I__L6*/ curfnum[5] = ((/*_#IX__L4*/ curfnum[3]) + (1));; - MELT_LOCATION("warmelt-first.melt:2988:/ compute"); + MELT_LOCATION("warmelt-first.melt:2857:/ compute"); /*_#IX__L4*/ curfnum[3] = /*_#SETQ___L7*/ curfnum[6] = /*_#I__L6*/ curfnum[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2984:/ clear"); + MELT_LOCATION("warmelt-first.melt:2853:/ clear"); /*clear*/ /*_#I__L5*/ curfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_#I__L6*/ curfnum[5] = 0 ; @@ -4872,8 +3881,8 @@ lab_endgetargs:; /*clear*/ /*_#SETQ___L7*/ curfnum[6] = 0 ;} ; ; - goto labloop_TUPLOOP_2; - labexit_TUPLOOP_2:;/*^loopepilog*/ + goto labloop_TUPLOOP_1; + labexit_TUPLOOP_1:;/*^loopepilog*/ /*loopepilog*/ /*_.FOREVER___V8*/ curfptr[7] = /*_.TUPLOOP__V9*/ curfptr[8];; } @@ -4882,7 +3891,7 @@ lab_endgetargs:; /*_.LET___V6*/ curfptr[5] = /*_.FOREVER___V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:2980:/ clear"); + MELT_LOCATION("warmelt-first.melt:2849:/ clear"); /*clear*/ /*_#LN__L3*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#IX__L4*/ curfnum[3] = 0 ; @@ -4893,7 +3902,7 @@ lab_endgetargs:; /*_.IF___V5*/ curfptr[4] = /*_.LET___V6*/ curfptr[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2979:/ clear"); + MELT_LOCATION("warmelt-first.melt:2848:/ clear"); /*clear*/ /*_.LET___V6*/ curfptr[5] = 0 ;} ; } else {/*^cond.else*/ @@ -4906,7 +3915,7 @@ lab_endgetargs:; /*_.IF___V4*/ curfptr[3] = /*_.IF___V5*/ curfptr[4];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2978:/ clear"); + MELT_LOCATION("warmelt-first.melt:2847:/ clear"); /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V5*/ curfptr[4] = 0 ;} @@ -4916,11 +3925,11 @@ lab_endgetargs:; /*_.IF___V4*/ curfptr[3] = NULL;; } ; - MELT_LOCATION("warmelt-first.melt:2975:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2844:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.IF___V4*/ curfptr[3];; - MELT_LOCATION("warmelt-first.melt:2975:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2844:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -4938,14 +3947,14 @@ melt_trace_end("MULTIPLE_MAP", callcount); melt_topframe = (struct callframe_me #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_50_warmelt_first_MULTIPLE_MAP*/ +} /*end meltrout_45_warmelt_first_MULTIPLE_MAP*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_51_warmelt_first_MULTIPLE_TO_LIST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_46_warmelt_first_MULTIPLE_TO_LIST(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -4956,7 +3965,7 @@ meltrout_51_warmelt_first_MULTIPLE_TO_LIST(meltclosure_ptr_t closp_, melt_ptr_t #define callcount 0L #endif - struct frame_meltrout_51_warmelt_first_MULTIPLE_TO_LIST_st { unsigned nbvar; + struct frame_meltrout_46_warmelt_first_MULTIPLE_TO_LIST_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -4988,7 +3997,7 @@ melt_trace_start("MULTIPLE_TO_LIST", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:2992:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2861:/ getarg"); /*_.TUP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -5013,7 +4022,7 @@ lab_endgetargs:; /*_#NULL__L1*/ curfnum[0] = ((/*_.DISC__V3*/ curfptr[2]) == NULL);; - MELT_LOCATION("warmelt-first.melt:2996:/ cond"); + MELT_LOCATION("warmelt-first.melt:2865:/ cond"); /*cond*/ if (/*_#NULL__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -5024,7 +4033,7 @@ lab_endgetargs:; /*_.IF___V5*/ curfptr[4] = /*_.SETQ___V6*/ curfptr[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2996:/ clear"); + MELT_LOCATION("warmelt-first.melt:2865:/ clear"); /*clear*/ /*_.SETQ___V6*/ curfptr[5] = 0 ;} ; } else {/*^cond.else*/ @@ -5036,13 +4045,13 @@ lab_endgetargs:; /*_#IS_MULTIPLE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.TUP__V2*/ curfptr[1])) == OBMAG_MULTIPLE);; - MELT_LOCATION("warmelt-first.melt:2997:/ cond"); + MELT_LOCATION("warmelt-first.melt:2866:/ cond"); /*cond*/ if (/*_#IS_MULTIPLE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:2998:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2867:/ quasiblock"); /*_.LIS__V9*/ curfptr[8] = @@ -5059,13 +4068,13 @@ lab_endgetargs:; /*_#IS_CLOSURE__L4*/ curfnum[3] = (melt_magic_discr((melt_ptr_t)(/*_.TRANSF__V4*/ curfptr[3])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:3002:/ cond"); + MELT_LOCATION("warmelt-first.melt:2871:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L4*/ curfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3003:/ apply"); + MELT_LOCATION("warmelt-first.melt:2872:/ apply"); /*apply*/{ /*_.TRANSF__V11*/ curfptr[10] = melt_apply ((meltclosure_ptr_t)(/*_.TRANSF__V4*/ curfptr[3]), (melt_ptr_t)(/*_.COMP__V10*/ curfptr[9]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0); } @@ -5077,7 +4086,7 @@ lab_endgetargs:; ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3002:/ clear"); + MELT_LOCATION("warmelt-first.melt:2871:/ clear"); /*clear*/ /*_.TRANSF__V11*/ curfptr[10] = 0 ;} ; } else {/*^cond.else*/ @@ -5087,7 +4096,7 @@ lab_endgetargs:; { - MELT_LOCATION("warmelt-first.melt:3004:/ locexp"); + MELT_LOCATION("warmelt-first.melt:2873:/ locexp"); meltgc_append_list((melt_ptr_t)(/*_.LIS__V9*/ curfptr[8]), (melt_ptr_t)(/*_.COMP__V10*/ curfptr[9]));} ; /*epilog*/ @@ -5100,30 +4109,30 @@ lab_endgetargs:; /*citerepilog*/ - MELT_LOCATION("warmelt-first.melt:2999:/ clear"); + MELT_LOCATION("warmelt-first.melt:2868:/ clear"); /*clear*/ /*_.COMP__V10*/ curfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_#IX__L3*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#IS_CLOSURE__L4*/ curfnum[3] = 0 ;} /*endciterblock FOREACH_IN_MULTIPLE*/ ; - MELT_LOCATION("warmelt-first.melt:3005:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2874:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.LIS__V9*/ curfptr[8];; - MELT_LOCATION("warmelt-first.melt:3005:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2874:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.LET___V8*/ curfptr[7] = /*_.RETURN___V12*/ curfptr[10];; - MELT_LOCATION("warmelt-first.melt:2998:/ clear"); + MELT_LOCATION("warmelt-first.melt:2867:/ clear"); /*clear*/ /*_.LIS__V9*/ curfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V12*/ curfptr[10] = 0 ; /*_.IF___V7*/ curfptr[5] = /*_.LET___V8*/ curfptr[7];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:2997:/ clear"); + MELT_LOCATION("warmelt-first.melt:2866:/ clear"); /*clear*/ /*_.LET___V8*/ curfptr[7] = 0 ;} ; } else {/*^cond.else*/ @@ -5131,11 +4140,11 @@ lab_endgetargs:; /*_.IF___V7*/ curfptr[5] = NULL;; } ; - MELT_LOCATION("warmelt-first.melt:2992:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2861:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.IF___V7*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:2992:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2861:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -5157,14 +4166,14 @@ melt_trace_end("MULTIPLE_TO_LIST", callcount); melt_topframe = (struct callfram #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_51_warmelt_first_MULTIPLE_TO_LIST*/ +} /*end meltrout_46_warmelt_first_MULTIPLE_TO_LIST*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_52_warmelt_first_CLOSURE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_47_warmelt_first_CLOSURE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -5175,7 +4184,7 @@ meltrout_52_warmelt_first_CLOSURE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t fir #define callcount 0L #endif - struct frame_meltrout_52_warmelt_first_CLOSURE_EVERY_st { unsigned nbvar; + struct frame_meltrout_47_warmelt_first_CLOSURE_EVERY_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -5207,7 +4216,7 @@ melt_trace_start("CLOSURE_EVERY", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:3010:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2879:/ getarg"); /*_.CLO__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -5225,7 +4234,7 @@ lab_endgetargs:; /*_#IS_CLOSURE__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.CLO__V2*/ curfptr[1])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:3012:/ cond"); + MELT_LOCATION("warmelt-first.melt:2881:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -5233,13 +4242,13 @@ lab_endgetargs:; /*_#IS_CLOSURE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:3013:/ cond"); + MELT_LOCATION("warmelt-first.melt:2882:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3014:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2883:/ quasiblock"); /*_#LN__L3*/ curfnum[2] = @@ -5247,7 +4256,7 @@ lab_endgetargs:; /*^compute*/ /*_#IX__L4*/ curfnum[3] = 0;; - MELT_LOCATION("warmelt-first.melt:3016:/ loop"); + MELT_LOCATION("warmelt-first.melt:2885:/ loop"); /*loop*/{ labloop_CLOLOOP_1:;/*^loopbody*/ /*^block*/ @@ -5255,7 +4264,7 @@ lab_endgetargs:; /*_#I__L5*/ curfnum[4] = ((/*_#IX__L4*/ curfnum[3]) >= (/*_#LN__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:3017:/ cond"); + MELT_LOCATION("warmelt-first.melt:2886:/ cond"); /*cond*/ if (/*_#I__L5*/ curfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -5278,7 +4287,7 @@ lab_endgetargs:; ; /*_.CLOSURE_NTH__V9*/ curfptr[8] = (melt_closure_nth((melt_ptr_t)(/*_.CLO__V2*/ curfptr[1]), (int)(/*_#IX__L4*/ curfnum[3])));; - MELT_LOCATION("warmelt-first.melt:3018:/ apply"); + MELT_LOCATION("warmelt-first.melt:2887:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); @@ -5289,11 +4298,11 @@ lab_endgetargs:; ; /*_#I__L6*/ curfnum[5] = ((/*_#IX__L4*/ curfnum[3]) + (1));; - MELT_LOCATION("warmelt-first.melt:3019:/ compute"); + MELT_LOCATION("warmelt-first.melt:2888:/ compute"); /*_#IX__L4*/ curfnum[3] = /*_#SETQ___L7*/ curfnum[6] = /*_#I__L6*/ curfnum[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3016:/ clear"); + MELT_LOCATION("warmelt-first.melt:2885:/ clear"); /*clear*/ /*_#I__L5*/ curfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.CLOSURE_NTH__V9*/ curfptr[8] = 0 ; @@ -5315,7 +4324,7 @@ lab_endgetargs:; /*_.LET___V6*/ curfptr[5] = /*_.FOREVER___V7*/ curfptr[6];; - MELT_LOCATION("warmelt-first.melt:3014:/ clear"); + MELT_LOCATION("warmelt-first.melt:2883:/ clear"); /*clear*/ /*_#LN__L3*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#IX__L4*/ curfnum[3] = 0 ; @@ -5324,7 +4333,7 @@ lab_endgetargs:; /*_.IF___V5*/ curfptr[4] = /*_.LET___V6*/ curfptr[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3013:/ clear"); + MELT_LOCATION("warmelt-first.melt:2882:/ clear"); /*clear*/ /*_.LET___V6*/ curfptr[5] = 0 ;} ; } else {/*^cond.else*/ @@ -5337,7 +4346,7 @@ lab_endgetargs:; /*_.IF___V4*/ curfptr[3] = /*_.IF___V5*/ curfptr[4];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3012:/ clear"); + MELT_LOCATION("warmelt-first.melt:2881:/ clear"); /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V5*/ curfptr[4] = 0 ;} @@ -5347,11 +4356,11 @@ lab_endgetargs:; /*_.IF___V4*/ curfptr[3] = NULL;; } ; - MELT_LOCATION("warmelt-first.melt:3010:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2879:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.IF___V4*/ curfptr[3];; - MELT_LOCATION("warmelt-first.melt:3010:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2879:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -5369,14 +4378,14 @@ melt_trace_end("CLOSURE_EVERY", callcount); melt_topframe = (struct callframe_m #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_52_warmelt_first_CLOSURE_EVERY*/ +} /*end meltrout_47_warmelt_first_CLOSURE_EVERY*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_53_warmelt_first_ROUTINE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_48_warmelt_first_ROUTINE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -5387,7 +4396,7 @@ meltrout_53_warmelt_first_ROUTINE_EVERY(meltclosure_ptr_t closp_, melt_ptr_t fir #define callcount 0L #endif - struct frame_meltrout_53_warmelt_first_ROUTINE_EVERY_st { unsigned nbvar; + struct frame_meltrout_48_warmelt_first_ROUTINE_EVERY_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -5419,7 +4428,7 @@ melt_trace_start("ROUTINE_EVERY", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:3023:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2892:/ getarg"); /*_.ROU__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -5437,7 +4446,7 @@ lab_endgetargs:; /*_#IS_ROUTINE__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.ROU__V2*/ curfptr[1])) == OBMAG_ROUTINE);; - MELT_LOCATION("warmelt-first.melt:3025:/ cond"); + MELT_LOCATION("warmelt-first.melt:2894:/ cond"); /*cond*/ if (/*_#IS_ROUTINE__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -5445,13 +4454,13 @@ lab_endgetargs:; /*_#IS_CLOSURE__L2*/ curfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ curfptr[2])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:3026:/ cond"); + MELT_LOCATION("warmelt-first.melt:2895:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3027:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2896:/ quasiblock"); /*_#LN__L3*/ curfnum[2] = @@ -5459,7 +4468,7 @@ lab_endgetargs:; /*^compute*/ /*_#IX__L4*/ curfnum[3] = 0;; - MELT_LOCATION("warmelt-first.melt:3029:/ loop"); + MELT_LOCATION("warmelt-first.melt:2898:/ loop"); /*loop*/{ labloop_ROULOOP_1:;/*^loopbody*/ /*^block*/ @@ -5467,7 +4476,7 @@ lab_endgetargs:; /*_#I__L5*/ curfnum[4] = ((/*_#IX__L4*/ curfnum[3]) >= (/*_#LN__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:3030:/ cond"); + MELT_LOCATION("warmelt-first.melt:2899:/ cond"); /*cond*/ if (/*_#I__L5*/ curfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -5490,7 +4499,7 @@ lab_endgetargs:; ; /*_.ROUTINE_NTH__V9*/ curfptr[8] = (melt_routine_nth((melt_ptr_t)(/*_.ROU__V2*/ curfptr[1]), (int) (/*_#IX__L4*/ curfnum[3])));; - MELT_LOCATION("warmelt-first.melt:3031:/ apply"); + MELT_LOCATION("warmelt-first.melt:2900:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); @@ -5501,11 +4510,11 @@ lab_endgetargs:; ; /*_#I__L6*/ curfnum[5] = ((/*_#IX__L4*/ curfnum[3]) + (1));; - MELT_LOCATION("warmelt-first.melt:3032:/ compute"); + MELT_LOCATION("warmelt-first.melt:2901:/ compute"); /*_#IX__L4*/ curfnum[3] = /*_#SETQ___L7*/ curfnum[6] = /*_#I__L6*/ curfnum[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3029:/ clear"); + MELT_LOCATION("warmelt-first.melt:2898:/ clear"); /*clear*/ /*_#I__L5*/ curfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.ROUTINE_NTH__V9*/ curfptr[8] = 0 ; @@ -5527,7 +4536,7 @@ lab_endgetargs:; /*_.LET___V6*/ curfptr[5] = /*_.FOREVER___V7*/ curfptr[6];; - MELT_LOCATION("warmelt-first.melt:3027:/ clear"); + MELT_LOCATION("warmelt-first.melt:2896:/ clear"); /*clear*/ /*_#LN__L3*/ curfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#IX__L4*/ curfnum[3] = 0 ; @@ -5536,7 +4545,7 @@ lab_endgetargs:; /*_.IF___V5*/ curfptr[4] = /*_.LET___V6*/ curfptr[5];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3026:/ clear"); + MELT_LOCATION("warmelt-first.melt:2895:/ clear"); /*clear*/ /*_.LET___V6*/ curfptr[5] = 0 ;} ; } else {/*^cond.else*/ @@ -5549,7 +4558,7 @@ lab_endgetargs:; /*_.IF___V4*/ curfptr[3] = /*_.IF___V5*/ curfptr[4];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3025:/ clear"); + MELT_LOCATION("warmelt-first.melt:2894:/ clear"); /*clear*/ /*_#IS_CLOSURE__L2*/ curfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V5*/ curfptr[4] = 0 ;} @@ -5559,11 +4568,11 @@ lab_endgetargs:; /*_.IF___V4*/ curfptr[3] = NULL;; } ; - MELT_LOCATION("warmelt-first.melt:3023:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2892:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.IF___V4*/ curfptr[3];; - MELT_LOCATION("warmelt-first.melt:3023:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2892:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -5581,14 +4590,14 @@ melt_trace_end("ROUTINE_EVERY", callcount); melt_topframe = (struct callframe_m #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_53_warmelt_first_ROUTINE_EVERY*/ +} /*end meltrout_48_warmelt_first_ROUTINE_EVERY*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_54_warmelt_first_LIST1(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_49_warmelt_first_INSTALL_METHOD(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -5599,745 +4608,7 @@ meltrout_54_warmelt_first_LIST1(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, #define callcount 0L #endif - struct frame_meltrout_54_warmelt_first_LIST1_st { unsigned nbvar; -#if ENABLE_CHECKING - const char* flocs; -#endif - struct meltclosure_st *clos; - struct excepth_melt_st *exh; - struct callframe_melt_st *prev; -#define CURFRAM_NBVARPTR 4 - void* varptr[4]; -/*no varnum*/ -#define CURFRAM_NBVARNUM /*none*/0 -/*others*/ - long _spare_; } - *framptr_=0, curfram__; - if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ - int ix=0; - framptr_ = (void*)firstargp_; - gt_ggc_mx_melt_un (framptr_->clos); - for(ix=0; ix<4; ix++) - if (framptr_->varptr[ix]) - gt_ggc_mx_melt_un (framptr_->varptr[ix]); - return NULL; - }/*end markggc*/; - memset(&curfram__, 0, sizeof(curfram__)); - curfram__.nbvar = 4; - curfram__.clos = closp_; - curfram__.prev = (struct callframe_melt_st *) melt_topframe; - melt_topframe = (struct callframe_melt_st *) &curfram__; -melt_trace_start("LIST1", callcount); -/*getargs*/ - - /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:3035:/ getarg"); - /*_.V1__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; - ; - goto lab_endgetargs; -lab_endgetargs:; -/*body*/ -/*^block*/ -/*anyblock*/{ - - MELT_LOCATION("warmelt-first.melt:3037:/ quasiblock"); - - - /*_.LIS__V4*/ curfptr[3] = - (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[0]))));; - - { - MELT_LOCATION("warmelt-first.melt:3039:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V4*/ curfptr[3]), (melt_ptr_t)(/*_.V1__V2*/ curfptr[1]));} - ; - /*_.LET___V3*/ curfptr[2] = /*_.LIS__V4*/ curfptr[3];; - - MELT_LOCATION("warmelt-first.melt:3037:/ clear"); - /*clear*/ /*_.LIS__V4*/ curfptr[3] = 0 ; - MELT_LOCATION("warmelt-first.melt:3035:/ quasiblock"); - - - /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V3*/ curfptr[2];; - MELT_LOCATION("warmelt-first.melt:3035:/ finalreturn"); - ; - /*finalret*/ goto labend_rout ; - /*epilog*/ - - /*^clear*/ - /*clear*/ /*_.LET___V3*/ curfptr[2] = 0 ;} - -; - goto labend_rout; -labend_rout: -melt_trace_end("LIST1", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; - return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); -#undef callcount -#undef CURFRAM_NBVARNUM -#undef CURFRAM_NBVARPTR -} /*end meltrout_54_warmelt_first_LIST1*/ - - - - - -melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_55_warmelt_first_LIST2(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, - const char xresdescr_[], union meltparam_un *xrestab_) -{ -#if ENABLE_CHECKING - static long call_counter__; - long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; -#define callcount thiscallcounter__ -#else -#define callcount 0L -#endif - - struct frame_meltrout_55_warmelt_first_LIST2_st { unsigned nbvar; -#if ENABLE_CHECKING - const char* flocs; -#endif - struct meltclosure_st *clos; - struct excepth_melt_st *exh; - struct callframe_melt_st *prev; -#define CURFRAM_NBVARPTR 5 - void* varptr[5]; -/*no varnum*/ -#define CURFRAM_NBVARNUM /*none*/0 -/*others*/ - long _spare_; } - *framptr_=0, curfram__; - if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ - int ix=0; - framptr_ = (void*)firstargp_; - gt_ggc_mx_melt_un (framptr_->clos); - for(ix=0; ix<5; ix++) - if (framptr_->varptr[ix]) - gt_ggc_mx_melt_un (framptr_->varptr[ix]); - return NULL; - }/*end markggc*/; - memset(&curfram__, 0, sizeof(curfram__)); - curfram__.nbvar = 5; - curfram__.clos = closp_; - curfram__.prev = (struct callframe_melt_st *) melt_topframe; - melt_topframe = (struct callframe_melt_st *) &curfram__; -melt_trace_start("LIST2", callcount); -/*getargs*/ - - /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:3043:/ getarg"); - /*_.V1__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; - - /*getarg#1*/ - /*^getarg*/ - if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; - /*_.V2__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V2__V3*/ curfptr[2])) != NULL); - - ; - goto lab_endgetargs; -lab_endgetargs:; -/*body*/ -/*^block*/ -/*anyblock*/{ - - MELT_LOCATION("warmelt-first.melt:3045:/ quasiblock"); - - - /*_.LIS__V5*/ curfptr[4] = - (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[0]))));; - - { - MELT_LOCATION("warmelt-first.melt:3047:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V5*/ curfptr[4]), (melt_ptr_t)(/*_.V1__V2*/ curfptr[1]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3048:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V5*/ curfptr[4]), (melt_ptr_t)(/*_.V2__V3*/ curfptr[2]));} - ; - /*_.LET___V4*/ curfptr[3] = /*_.LIS__V5*/ curfptr[4];; - - MELT_LOCATION("warmelt-first.melt:3045:/ clear"); - /*clear*/ /*_.LIS__V5*/ curfptr[4] = 0 ; - MELT_LOCATION("warmelt-first.melt:3043:/ quasiblock"); - - - /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V4*/ curfptr[3];; - MELT_LOCATION("warmelt-first.melt:3043:/ finalreturn"); - ; - /*finalret*/ goto labend_rout ; - /*epilog*/ - - /*^clear*/ - /*clear*/ /*_.LET___V4*/ curfptr[3] = 0 ;} - -; - goto labend_rout; -labend_rout: -melt_trace_end("LIST2", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; - return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); -#undef callcount -#undef CURFRAM_NBVARNUM -#undef CURFRAM_NBVARPTR -} /*end meltrout_55_warmelt_first_LIST2*/ - - - - - -melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_56_warmelt_first_LIST3(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, - const char xresdescr_[], union meltparam_un *xrestab_) -{ -#if ENABLE_CHECKING - static long call_counter__; - long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; -#define callcount thiscallcounter__ -#else -#define callcount 0L -#endif - - struct frame_meltrout_56_warmelt_first_LIST3_st { unsigned nbvar; -#if ENABLE_CHECKING - const char* flocs; -#endif - struct meltclosure_st *clos; - struct excepth_melt_st *exh; - struct callframe_melt_st *prev; -#define CURFRAM_NBVARPTR 6 - void* varptr[6]; -/*no varnum*/ -#define CURFRAM_NBVARNUM /*none*/0 -/*others*/ - long _spare_; } - *framptr_=0, curfram__; - if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ - int ix=0; - framptr_ = (void*)firstargp_; - gt_ggc_mx_melt_un (framptr_->clos); - for(ix=0; ix<6; ix++) - if (framptr_->varptr[ix]) - gt_ggc_mx_melt_un (framptr_->varptr[ix]); - return NULL; - }/*end markggc*/; - memset(&curfram__, 0, sizeof(curfram__)); - curfram__.nbvar = 6; - curfram__.clos = closp_; - curfram__.prev = (struct callframe_melt_st *) melt_topframe; - melt_topframe = (struct callframe_melt_st *) &curfram__; -melt_trace_start("LIST3", callcount); -/*getargs*/ - - /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:3052:/ getarg"); - /*_.V1__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; - - /*getarg#1*/ - /*^getarg*/ - if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; - /*_.V2__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V2__V3*/ curfptr[2])) != NULL); - - - /*getarg#2*/ - /*^getarg*/ - if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; - /*_.V3__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V3__V4*/ curfptr[3])) != NULL); - - ; - goto lab_endgetargs; -lab_endgetargs:; -/*body*/ -/*^block*/ -/*anyblock*/{ - - MELT_LOCATION("warmelt-first.melt:3054:/ quasiblock"); - - - /*_.LIS__V6*/ curfptr[5] = - (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[0]))));; - - { - MELT_LOCATION("warmelt-first.melt:3056:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V6*/ curfptr[5]), (melt_ptr_t)(/*_.V1__V2*/ curfptr[1]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3057:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V6*/ curfptr[5]), (melt_ptr_t)(/*_.V2__V3*/ curfptr[2]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3058:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V6*/ curfptr[5]), (melt_ptr_t)(/*_.V3__V4*/ curfptr[3]));} - ; - /*_.LET___V5*/ curfptr[4] = /*_.LIS__V6*/ curfptr[5];; - - MELT_LOCATION("warmelt-first.melt:3054:/ clear"); - /*clear*/ /*_.LIS__V6*/ curfptr[5] = 0 ; - MELT_LOCATION("warmelt-first.melt:3052:/ quasiblock"); - - - /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V5*/ curfptr[4];; - MELT_LOCATION("warmelt-first.melt:3052:/ finalreturn"); - ; - /*finalret*/ goto labend_rout ; - /*epilog*/ - - /*^clear*/ - /*clear*/ /*_.LET___V5*/ curfptr[4] = 0 ;} - -; - goto labend_rout; -labend_rout: -melt_trace_end("LIST3", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; - return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); -#undef callcount -#undef CURFRAM_NBVARNUM -#undef CURFRAM_NBVARPTR -} /*end meltrout_56_warmelt_first_LIST3*/ - - - - - -melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_57_warmelt_first_LIST4(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, - const char xresdescr_[], union meltparam_un *xrestab_) -{ -#if ENABLE_CHECKING - static long call_counter__; - long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; -#define callcount thiscallcounter__ -#else -#define callcount 0L -#endif - - struct frame_meltrout_57_warmelt_first_LIST4_st { unsigned nbvar; -#if ENABLE_CHECKING - const char* flocs; -#endif - struct meltclosure_st *clos; - struct excepth_melt_st *exh; - struct callframe_melt_st *prev; -#define CURFRAM_NBVARPTR 7 - void* varptr[7]; -/*no varnum*/ -#define CURFRAM_NBVARNUM /*none*/0 -/*others*/ - long _spare_; } - *framptr_=0, curfram__; - if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ - int ix=0; - framptr_ = (void*)firstargp_; - gt_ggc_mx_melt_un (framptr_->clos); - for(ix=0; ix<7; ix++) - if (framptr_->varptr[ix]) - gt_ggc_mx_melt_un (framptr_->varptr[ix]); - return NULL; - }/*end markggc*/; - memset(&curfram__, 0, sizeof(curfram__)); - curfram__.nbvar = 7; - curfram__.clos = closp_; - curfram__.prev = (struct callframe_melt_st *) melt_topframe; - melt_topframe = (struct callframe_melt_st *) &curfram__; -melt_trace_start("LIST4", callcount); -/*getargs*/ - - /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:3062:/ getarg"); - /*_.V1__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; - - /*getarg#1*/ - /*^getarg*/ - if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; - /*_.V2__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V2__V3*/ curfptr[2])) != NULL); - - - /*getarg#2*/ - /*^getarg*/ - if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; - /*_.V3__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V3__V4*/ curfptr[3])) != NULL); - - - /*getarg#3*/ - /*^getarg*/ - if (xargdescr_[2] != BPAR_PTR) goto lab_endgetargs; - /*_.V4__V5*/ curfptr[4] = (xargtab_[2].bp_aptr) ? (*(xargtab_[2].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V4__V5*/ curfptr[4])) != NULL); - - ; - goto lab_endgetargs; -lab_endgetargs:; -/*body*/ -/*^block*/ -/*anyblock*/{ - - MELT_LOCATION("warmelt-first.melt:3064:/ quasiblock"); - - - /*_.LIS__V7*/ curfptr[6] = - (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[0]))));; - - { - MELT_LOCATION("warmelt-first.melt:3066:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V7*/ curfptr[6]), (melt_ptr_t)(/*_.V1__V2*/ curfptr[1]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3067:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V7*/ curfptr[6]), (melt_ptr_t)(/*_.V2__V3*/ curfptr[2]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3068:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V7*/ curfptr[6]), (melt_ptr_t)(/*_.V3__V4*/ curfptr[3]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3069:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V7*/ curfptr[6]), (melt_ptr_t)(/*_.V4__V5*/ curfptr[4]));} - ; - /*_.LET___V6*/ curfptr[5] = /*_.LIS__V7*/ curfptr[6];; - - MELT_LOCATION("warmelt-first.melt:3064:/ clear"); - /*clear*/ /*_.LIS__V7*/ curfptr[6] = 0 ; - MELT_LOCATION("warmelt-first.melt:3062:/ quasiblock"); - - - /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V6*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:3062:/ finalreturn"); - ; - /*finalret*/ goto labend_rout ; - /*epilog*/ - - /*^clear*/ - /*clear*/ /*_.LET___V6*/ curfptr[5] = 0 ;} - -; - goto labend_rout; -labend_rout: -melt_trace_end("LIST4", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; - return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); -#undef callcount -#undef CURFRAM_NBVARNUM -#undef CURFRAM_NBVARPTR -} /*end meltrout_57_warmelt_first_LIST4*/ - - - - - -melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_58_warmelt_first_LIST5(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, - const char xresdescr_[], union meltparam_un *xrestab_) -{ -#if ENABLE_CHECKING - static long call_counter__; - long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; -#define callcount thiscallcounter__ -#else -#define callcount 0L -#endif - - struct frame_meltrout_58_warmelt_first_LIST5_st { unsigned nbvar; -#if ENABLE_CHECKING - const char* flocs; -#endif - struct meltclosure_st *clos; - struct excepth_melt_st *exh; - struct callframe_melt_st *prev; -#define CURFRAM_NBVARPTR 8 - void* varptr[8]; -/*no varnum*/ -#define CURFRAM_NBVARNUM /*none*/0 -/*others*/ - long _spare_; } - *framptr_=0, curfram__; - if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ - int ix=0; - framptr_ = (void*)firstargp_; - gt_ggc_mx_melt_un (framptr_->clos); - for(ix=0; ix<8; ix++) - if (framptr_->varptr[ix]) - gt_ggc_mx_melt_un (framptr_->varptr[ix]); - return NULL; - }/*end markggc*/; - memset(&curfram__, 0, sizeof(curfram__)); - curfram__.nbvar = 8; - curfram__.clos = closp_; - curfram__.prev = (struct callframe_melt_st *) melt_topframe; - melt_topframe = (struct callframe_melt_st *) &curfram__; -melt_trace_start("LIST5", callcount); -/*getargs*/ - - /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:3073:/ getarg"); - /*_.V1__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; - - /*getarg#1*/ - /*^getarg*/ - if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; - /*_.V2__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V2__V3*/ curfptr[2])) != NULL); - - - /*getarg#2*/ - /*^getarg*/ - if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; - /*_.V3__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V3__V4*/ curfptr[3])) != NULL); - - - /*getarg#3*/ - /*^getarg*/ - if (xargdescr_[2] != BPAR_PTR) goto lab_endgetargs; - /*_.V4__V5*/ curfptr[4] = (xargtab_[2].bp_aptr) ? (*(xargtab_[2].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V4__V5*/ curfptr[4])) != NULL); - - - /*getarg#4*/ - /*^getarg*/ - if (xargdescr_[3] != BPAR_PTR) goto lab_endgetargs; - /*_.V5__V6*/ curfptr[5] = (xargtab_[3].bp_aptr) ? (*(xargtab_[3].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V5__V6*/ curfptr[5])) != NULL); - - ; - goto lab_endgetargs; -lab_endgetargs:; -/*body*/ -/*^block*/ -/*anyblock*/{ - - MELT_LOCATION("warmelt-first.melt:3075:/ quasiblock"); - - - /*_.LIS__V8*/ curfptr[7] = - (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[0]))));; - - { - MELT_LOCATION("warmelt-first.melt:3077:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V8*/ curfptr[7]), (melt_ptr_t)(/*_.V1__V2*/ curfptr[1]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3078:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V8*/ curfptr[7]), (melt_ptr_t)(/*_.V2__V3*/ curfptr[2]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3079:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V8*/ curfptr[7]), (melt_ptr_t)(/*_.V3__V4*/ curfptr[3]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3080:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V8*/ curfptr[7]), (melt_ptr_t)(/*_.V4__V5*/ curfptr[4]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3081:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V8*/ curfptr[7]), (melt_ptr_t)(/*_.V5__V6*/ curfptr[5]));} - ; - /*_.LET___V7*/ curfptr[6] = /*_.LIS__V8*/ curfptr[7];; - - MELT_LOCATION("warmelt-first.melt:3075:/ clear"); - /*clear*/ /*_.LIS__V8*/ curfptr[7] = 0 ; - MELT_LOCATION("warmelt-first.melt:3073:/ quasiblock"); - - - /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V7*/ curfptr[6];; - MELT_LOCATION("warmelt-first.melt:3073:/ finalreturn"); - ; - /*finalret*/ goto labend_rout ; - /*epilog*/ - - /*^clear*/ - /*clear*/ /*_.LET___V7*/ curfptr[6] = 0 ;} - -; - goto labend_rout; -labend_rout: -melt_trace_end("LIST5", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; - return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); -#undef callcount -#undef CURFRAM_NBVARNUM -#undef CURFRAM_NBVARPTR -} /*end meltrout_58_warmelt_first_LIST5*/ - - - - - -melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_59_warmelt_first_LIST6(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, - const char xresdescr_[], union meltparam_un *xrestab_) -{ -#if ENABLE_CHECKING - static long call_counter__; - long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; -#define callcount thiscallcounter__ -#else -#define callcount 0L -#endif - - struct frame_meltrout_59_warmelt_first_LIST6_st { unsigned nbvar; -#if ENABLE_CHECKING - const char* flocs; -#endif - struct meltclosure_st *clos; - struct excepth_melt_st *exh; - struct callframe_melt_st *prev; -#define CURFRAM_NBVARPTR 9 - void* varptr[9]; -/*no varnum*/ -#define CURFRAM_NBVARNUM /*none*/0 -/*others*/ - long _spare_; } - *framptr_=0, curfram__; - if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ - int ix=0; - framptr_ = (void*)firstargp_; - gt_ggc_mx_melt_un (framptr_->clos); - for(ix=0; ix<9; ix++) - if (framptr_->varptr[ix]) - gt_ggc_mx_melt_un (framptr_->varptr[ix]); - return NULL; - }/*end markggc*/; - memset(&curfram__, 0, sizeof(curfram__)); - curfram__.nbvar = 9; - curfram__.clos = closp_; - curfram__.prev = (struct callframe_melt_st *) melt_topframe; - melt_topframe = (struct callframe_melt_st *) &curfram__; -melt_trace_start("LIST6", callcount); -/*getargs*/ - - /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:3085:/ getarg"); - /*_.V1__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; - - /*getarg#1*/ - /*^getarg*/ - if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; - /*_.V2__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V2__V3*/ curfptr[2])) != NULL); - - - /*getarg#2*/ - /*^getarg*/ - if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; - /*_.V3__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V3__V4*/ curfptr[3])) != NULL); - - - /*getarg#3*/ - /*^getarg*/ - if (xargdescr_[2] != BPAR_PTR) goto lab_endgetargs; - /*_.V4__V5*/ curfptr[4] = (xargtab_[2].bp_aptr) ? (*(xargtab_[2].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V4__V5*/ curfptr[4])) != NULL); - - - /*getarg#4*/ - /*^getarg*/ - if (xargdescr_[3] != BPAR_PTR) goto lab_endgetargs; - /*_.V5__V6*/ curfptr[5] = (xargtab_[3].bp_aptr) ? (*(xargtab_[3].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V5__V6*/ curfptr[5])) != NULL); - - - /*getarg#5*/ - /*^getarg*/ - if (xargdescr_[4] != BPAR_PTR) goto lab_endgetargs; - /*_.V6__V7*/ curfptr[6] = (xargtab_[4].bp_aptr) ? (*(xargtab_[4].bp_aptr)) : NULL; - gcc_assert(melt_discr((melt_ptr_t)(/*_.V6__V7*/ curfptr[6])) != NULL); - - ; - goto lab_endgetargs; -lab_endgetargs:; -/*body*/ -/*^block*/ -/*anyblock*/{ - - MELT_LOCATION("warmelt-first.melt:3087:/ quasiblock"); - - - /*_.LIS__V9*/ curfptr[8] = - (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[0]))));; - - { - MELT_LOCATION("warmelt-first.melt:3089:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V9*/ curfptr[8]), (melt_ptr_t)(/*_.V1__V2*/ curfptr[1]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3090:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V9*/ curfptr[8]), (melt_ptr_t)(/*_.V2__V3*/ curfptr[2]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3091:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V9*/ curfptr[8]), (melt_ptr_t)(/*_.V3__V4*/ curfptr[3]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3092:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V9*/ curfptr[8]), (melt_ptr_t)(/*_.V4__V5*/ curfptr[4]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3093:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V9*/ curfptr[8]), (melt_ptr_t)(/*_.V5__V6*/ curfptr[5]));} - ; - - { - MELT_LOCATION("warmelt-first.melt:3094:/ locexp"); - meltgc_append_list((melt_ptr_t)(/*_.LIS__V9*/ curfptr[8]), (melt_ptr_t)(/*_.V6__V7*/ curfptr[6]));} - ; - /*_.LET___V8*/ curfptr[7] = /*_.LIS__V9*/ curfptr[8];; - - MELT_LOCATION("warmelt-first.melt:3087:/ clear"); - /*clear*/ /*_.LIS__V9*/ curfptr[8] = 0 ; - MELT_LOCATION("warmelt-first.melt:3085:/ quasiblock"); - - - /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:3085:/ finalreturn"); - ; - /*finalret*/ goto labend_rout ; - /*epilog*/ - - /*^clear*/ - /*clear*/ /*_.LET___V8*/ curfptr[7] = 0 ;} - -; - goto labend_rout; -labend_rout: -melt_trace_end("LIST6", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; - return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); -#undef callcount -#undef CURFRAM_NBVARNUM -#undef CURFRAM_NBVARPTR -} /*end meltrout_59_warmelt_first_LIST6*/ - - - - - -melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_60_warmelt_first_INSTALL_METHOD(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, - const char xresdescr_[], union meltparam_un *xrestab_) -{ -#if ENABLE_CHECKING - static long call_counter__; - long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; -#define callcount thiscallcounter__ -#else -#define callcount 0L -#endif - - struct frame_meltrout_60_warmelt_first_INSTALL_METHOD_st { unsigned nbvar; + struct frame_meltrout_49_warmelt_first_INSTALL_METHOD_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -6369,7 +4640,7 @@ melt_trace_start("INSTALL_METHOD", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:3099:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2904:/ getarg"); /*_.CLA__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -6394,7 +4665,7 @@ lab_endgetargs:; /*_#IS_A__L1*/ curfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.CLA__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_DISCRIMINANT*/ curfrout->tabval[0])));; - MELT_LOCATION("warmelt-first.melt:3101:/ cond"); + MELT_LOCATION("warmelt-first.melt:2906:/ cond"); /*cond*/ if (/*_#IS_A__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -6402,7 +4673,7 @@ lab_endgetargs:; /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.SEL__V3*/ curfptr[2]), (melt_ptr_t)((/*!CLASS_SELECTOR*/ curfrout->tabval[1])));; - MELT_LOCATION("warmelt-first.melt:3102:/ cond"); + MELT_LOCATION("warmelt-first.melt:2907:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -6410,22 +4681,22 @@ lab_endgetargs:; /*_#IS_CLOSURE__L3*/ curfnum[2] = (melt_magic_discr((melt_ptr_t)(/*_.FUN__V4*/ curfptr[3])) == OBMAG_CLOSURE);; - MELT_LOCATION("warmelt-first.melt:3103:/ cond"); + MELT_LOCATION("warmelt-first.melt:2908:/ cond"); /*cond*/ if (/*_#IS_CLOSURE__L3*/ curfnum[2]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3104:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2909:/ quasiblock"); - MELT_LOCATION("warmelt-first.melt:3106:/ getslot"); + MELT_LOCATION("warmelt-first.melt:2911:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CLA__V2*/ curfptr[1]), 2, "DISC_METHODICT");/*_.MAPDICT__V5*/ curfptr[4] = slot; }; ; /*_#IS_MAPOBJECT__L4*/ curfnum[3] = (melt_magic_discr((melt_ptr_t)(/*_.MAPDICT__V5*/ curfptr[4])) == OBMAG_MAPOBJECTS);; - MELT_LOCATION("warmelt-first.melt:3107:/ cond"); + MELT_LOCATION("warmelt-first.melt:2912:/ cond"); /*cond*/ if (/*_#IS_MAPOBJECT__L4*/ curfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -6433,7 +4704,7 @@ lab_endgetargs:; { - MELT_LOCATION("warmelt-first.melt:3108:/ locexp"); + MELT_LOCATION("warmelt-first.melt:2913:/ locexp"); meltgc_put_mapobjects( (meltmapobjects_ptr_t) (/*_.MAPDICT__V5*/ curfptr[4]), (meltobject_ptr_t) (/*_.SEL__V3*/ curfptr[2]), (melt_ptr_t)(/*_.FUN__V4*/ curfptr[3]));} @@ -6441,17 +4712,17 @@ lab_endgetargs:; /*epilog*/ } ; - } else {MELT_LOCATION("warmelt-first.melt:3107:/ cond.else"); + } else {MELT_LOCATION("warmelt-first.melt:2912:/ cond.else"); /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3109:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2914:/ quasiblock"); /*_.NEWMAPDICT__V6*/ curfptr[5] = (meltgc_new_mapobjects( (meltobject_ptr_t) ((/*!DISCR_METHOD_MAP*/ curfrout->tabval[2])), (35)));; - MELT_LOCATION("warmelt-first.melt:3110:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2915:/ quasiblock"); /*^putslot*/ @@ -6465,13 +4736,13 @@ lab_endgetargs:; { - MELT_LOCATION("warmelt-first.melt:3111:/ locexp"); + MELT_LOCATION("warmelt-first.melt:2916:/ locexp"); meltgc_put_mapobjects( (meltmapobjects_ptr_t) (/*_.NEWMAPDICT__V6*/ curfptr[5]), (meltobject_ptr_t) (/*_.SEL__V3*/ curfptr[2]), (melt_ptr_t)(/*_.FUN__V4*/ curfptr[3]));} ; - MELT_LOCATION("warmelt-first.melt:3109:/ clear"); + MELT_LOCATION("warmelt-first.melt:2914:/ clear"); /*clear*/ /*_.NEWMAPDICT__V6*/ curfptr[5] = 0 ; /*epilog*/ } @@ -6479,7 +4750,7 @@ lab_endgetargs:; } ; - MELT_LOCATION("warmelt-first.melt:3104:/ clear"); + MELT_LOCATION("warmelt-first.melt:2909:/ clear"); /*clear*/ /*_.MAPDICT__V5*/ curfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_#IS_MAPOBJECT__L4*/ curfnum[3] = 0 ; @@ -6490,21 +4761,21 @@ lab_endgetargs:; ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3102:/ clear"); + MELT_LOCATION("warmelt-first.melt:2907:/ clear"); /*clear*/ /*_#IS_CLOSURE__L3*/ curfnum[2] = 0 ;} ; } /*noelse*/ ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3101:/ clear"); + MELT_LOCATION("warmelt-first.melt:2906:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ;} ; } /*noelse*/ ; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3099:/ clear"); + MELT_LOCATION("warmelt-first.melt:2904:/ clear"); /*clear*/ /*_#IS_A__L1*/ curfnum[0] = 0 ;} ; @@ -6515,14 +4786,14 @@ melt_trace_end("INSTALL_METHOD", callcount); melt_topframe = (struct callframe_ #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_60_warmelt_first_INSTALL_METHOD*/ +} /*end meltrout_49_warmelt_first_INSTALL_METHOD*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_61_warmelt_first_COMPARE_OBJ_RANKED(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_50_warmelt_first_COMPARE_OBJ_RANKED(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -6533,7 +4804,7 @@ meltrout_61_warmelt_first_COMPARE_OBJ_RANKED(meltclosure_ptr_t closp_, melt_ptr_ #define callcount 0L #endif - struct frame_meltrout_61_warmelt_first_COMPARE_OBJ_RANKED_st { unsigned nbvar; + struct frame_meltrout_50_warmelt_first_COMPARE_OBJ_RANKED_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -6565,7 +4836,7 @@ melt_trace_start("COMPARE_OBJ_RANKED", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:3120:/ getarg"); + MELT_LOCATION("warmelt-first.melt:2925:/ getarg"); /*_.X1__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ @@ -6618,23 +4889,23 @@ lab_endgetargs:; /*_#__L1*/ curfnum[0] = ((/*_.X1__V2*/ curfptr[1]) == (/*_.X2__V4*/ curfptr[3]));; - MELT_LOCATION("warmelt-first.melt:3121:/ cond"); + MELT_LOCATION("warmelt-first.melt:2926:/ cond"); /*cond*/ if (/*_#__L1*/ curfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3122:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2927:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VEQ__V7*/ curfptr[6];; - MELT_LOCATION("warmelt-first.melt:3122:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2927:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V9*/ curfptr[8] = /*_.RETURN___V10*/ curfptr[9];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3121:/ clear"); + MELT_LOCATION("warmelt-first.melt:2926:/ clear"); /*clear*/ /*_.RETURN___V10*/ curfptr[9] = 0 ;} ; } else {/*^cond.else*/ @@ -6642,7 +4913,7 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3123:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2928:/ quasiblock"); /*_.X1DIS__V12*/ curfptr[11] = @@ -6663,39 +4934,39 @@ lab_endgetargs:; /*_#__L4*/ curfnum[3] = ((/*_.X1DIS__V12*/ curfptr[11]) != (/*_.X2DIS__V13*/ curfptr[12]));; - MELT_LOCATION("warmelt-first.melt:3128:/ cond"); + MELT_LOCATION("warmelt-first.melt:2933:/ cond"); /*cond*/ if (/*_#__L4*/ curfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3129:/ getslot"); + MELT_LOCATION("warmelt-first.melt:2934:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.X1DIS__V12*/ curfptr[11]), 1, "NAMED_NAME");/*_.NAMED_NAME__V15*/ curfptr[14] = slot; }; ; - MELT_LOCATION("warmelt-first.melt:3130:/ getslot"); + MELT_LOCATION("warmelt-first.melt:2935:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.X2DIS__V13*/ curfptr[12]), 1, "NAMED_NAME");/*_.NAMED_NAME__V16*/ curfptr[15] = slot; }; ; /*_#STRING___L5*/ curfnum[4] = melt_string_less((melt_ptr_t)(/*_.NAMED_NAME__V15*/ curfptr[14]), (melt_ptr_t)(/*_.NAMED_NAME__V16*/ curfptr[15]));; - MELT_LOCATION("warmelt-first.melt:3129:/ cond"); + MELT_LOCATION("warmelt-first.melt:2934:/ cond"); /*cond*/ if (/*_#STRING___L5*/ curfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3131:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2936:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VLESS__V6*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:3131:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2936:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V17*/ curfptr[16] = /*_.RETURN___V18*/ curfptr[17];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3129:/ clear"); + MELT_LOCATION("warmelt-first.melt:2934:/ clear"); /*clear*/ /*_.RETURN___V18*/ curfptr[17] = 0 ;} ; } else {/*^cond.else*/ @@ -6703,17 +4974,17 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3132:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2937:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VGREAT__V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:3132:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2937:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V17*/ curfptr[16] = /*_.RETURN___V19*/ curfptr[17];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3129:/ clear"); + MELT_LOCATION("warmelt-first.melt:2934:/ clear"); /*clear*/ /*_.RETURN___V19*/ curfptr[17] = 0 ;} ; } @@ -6721,7 +4992,7 @@ lab_endgetargs:; /*_.IFELSE___V14*/ curfptr[13] = /*_.IFELSE___V17*/ curfptr[16];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3128:/ clear"); + MELT_LOCATION("warmelt-first.melt:2933:/ clear"); /*clear*/ /*_.NAMED_NAME__V15*/ curfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_.NAMED_NAME__V16*/ curfptr[15] = 0 ; @@ -6737,42 +5008,42 @@ lab_endgetargs:; /*_#IS_A__L6*/ curfnum[4] = melt_is_instance_of((melt_ptr_t)(/*_.X1__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_CLONED_SYMBOL*/ curfrout->tabval[0])));; - MELT_LOCATION("warmelt-first.melt:3134:/ cond"); + MELT_LOCATION("warmelt-first.melt:2939:/ cond"); /*cond*/ if (/*_#IS_A__L6*/ curfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3135:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2940:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.X1__V2*/ curfptr[1]), 1, "NAMED_NAME");/*_.N1__V22*/ curfptr[15] = slot; }; ; - MELT_LOCATION("warmelt-first.melt:3136:/ getslot"); + MELT_LOCATION("warmelt-first.melt:2941:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.X2__V4*/ curfptr[3]), 1, "NAMED_NAME");/*_.N2__V23*/ curfptr[16] = slot; }; ; /*_#STRING___L7*/ curfnum[6] = melt_string_less((melt_ptr_t)(/*_.N1__V22*/ curfptr[15]), (melt_ptr_t)(/*_.N2__V23*/ curfptr[16]));; - MELT_LOCATION("warmelt-first.melt:3137:/ cond"); + MELT_LOCATION("warmelt-first.melt:2942:/ cond"); /*cond*/ if (/*_#STRING___L7*/ curfnum[6]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3138:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2943:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VLESS__V6*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:3138:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2943:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V24*/ curfptr[23] = /*_.RETURN___V25*/ curfptr[24];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3137:/ clear"); + MELT_LOCATION("warmelt-first.melt:2942:/ clear"); /*clear*/ /*_.RETURN___V25*/ curfptr[24] = 0 ;} ; } else {/*^cond.else*/ @@ -6782,23 +5053,23 @@ lab_endgetargs:; /*_#STRING___L8*/ curfnum[7] = melt_string_less((melt_ptr_t)(/*_.N2__V23*/ curfptr[16]), (melt_ptr_t)(/*_.N1__V22*/ curfptr[15]));; - MELT_LOCATION("warmelt-first.melt:3139:/ cond"); + MELT_LOCATION("warmelt-first.melt:2944:/ cond"); /*cond*/ if (/*_#STRING___L8*/ curfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3140:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2945:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VGREAT__V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:3140:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2945:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V26*/ curfptr[24] = /*_.RETURN___V27*/ curfptr[26];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3139:/ clear"); + MELT_LOCATION("warmelt-first.melt:2944:/ clear"); /*clear*/ /*_.RETURN___V27*/ curfptr[26] = 0 ;} ; } else {/*^cond.else*/ @@ -6806,14 +5077,14 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3142:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2947:/ quasiblock"); - MELT_LOCATION("warmelt-first.melt:3143:/ getslot"); + MELT_LOCATION("warmelt-first.melt:2948:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.X1__V2*/ curfptr[1]), 3, "CSYM_URANK");/*_.YR1__V29*/ curfptr[28] = slot; }; ; - MELT_LOCATION("warmelt-first.melt:3144:/ getslot"); + MELT_LOCATION("warmelt-first.melt:2949:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.X2__V4*/ curfptr[3]), 3, "CSYM_URANK");/*_.YR2__V30*/ curfptr[29] = slot; }; ; @@ -6827,23 +5098,23 @@ lab_endgetargs:; /*_#I__L11*/ curfnum[10] = ((/*_#NR1__L9*/ curfnum[8]) < (/*_#NR2__L10*/ curfnum[9]));; - MELT_LOCATION("warmelt-first.melt:3148:/ cond"); + MELT_LOCATION("warmelt-first.melt:2953:/ cond"); /*cond*/ if (/*_#I__L11*/ curfnum[10]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3149:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2954:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VLESS__V6*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:3149:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2954:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V31*/ curfptr[30] = /*_.RETURN___V32*/ curfptr[31];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3148:/ clear"); + MELT_LOCATION("warmelt-first.melt:2953:/ clear"); /*clear*/ /*_.RETURN___V32*/ curfptr[31] = 0 ;} ; } else {/*^cond.else*/ @@ -6853,23 +5124,23 @@ lab_endgetargs:; /*_#I__L12*/ curfnum[11] = ((/*_#NR1__L9*/ curfnum[8]) > (/*_#NR2__L10*/ curfnum[9]));; - MELT_LOCATION("warmelt-first.melt:3150:/ cond"); + MELT_LOCATION("warmelt-first.melt:2955:/ cond"); /*cond*/ if (/*_#I__L12*/ curfnum[11]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3151:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2956:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VGREAT__V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:3151:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2956:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V33*/ curfptr[31] = /*_.RETURN___V34*/ curfptr[33];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3150:/ clear"); + MELT_LOCATION("warmelt-first.melt:2955:/ clear"); /*clear*/ /*_.RETURN___V34*/ curfptr[33] = 0 ;} ; } else {/*^cond.else*/ @@ -6879,7 +5150,7 @@ lab_endgetargs:; #if ENABLE_CHECKING - MELT_LOCATION("warmelt-first.melt:3154:/ cppif.then"); + MELT_LOCATION("warmelt-first.melt:2959:/ cppif.then"); /*^block*/ /*anyblock*/{ @@ -6887,7 +5158,7 @@ lab_endgetargs:; /*cond*/ if ((/*nil*/NULL)) /*then*/ { /*^cond.then*/ /*_.IFELSE___V36*/ curfptr[35] = (/*nil*/NULL);; - } else {MELT_LOCATION("warmelt-first.melt:3154:/ cond.else"); + } else {MELT_LOCATION("warmelt-first.melt:2959:/ cond.else"); /*^block*/ /*anyblock*/{ @@ -6898,7 +5169,7 @@ lab_endgetargs:; { /*^locexp*/ melt_assert_failed(( "corrupted same cloned symbols"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, - (3154)?(3154):__LINE__, __FUNCTION__); + (2959)?(2959):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V36*/ curfptr[35] = 0 ; @@ -6912,7 +5183,7 @@ lab_endgetargs:; /*_.IFCPP___V35*/ curfptr[33] = /*_.IFELSE___V36*/ curfptr[35];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3154:/ clear"); + MELT_LOCATION("warmelt-first.melt:2959:/ clear"); /*clear*/ /*_.IFELSE___V36*/ curfptr[35] = 0 ;} #else /*ENABLE_CHECKING*/ @@ -6920,14 +5191,14 @@ lab_endgetargs:; /*_.IFCPP___V35*/ curfptr[33] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; - MELT_LOCATION("warmelt-first.melt:3155:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2960:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = (/*nil*/NULL);; - MELT_LOCATION("warmelt-first.melt:3155:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2960:/ finalreturn"); ; /*finalret*/ goto labend_rout ; - MELT_LOCATION("warmelt-first.melt:3152:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2957:/ quasiblock"); /*_.PROGN___V38*/ curfptr[37] = /*_.RETURN___V37*/ curfptr[35];; @@ -6936,7 +5207,7 @@ lab_endgetargs:; /*_.IFELSE___V33*/ curfptr[31] = /*_.PROGN___V38*/ curfptr[37];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3150:/ clear"); + MELT_LOCATION("warmelt-first.melt:2955:/ clear"); /*clear*/ /*_.IFCPP___V35*/ curfptr[33] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V37*/ curfptr[35] = 0 ; @@ -6948,7 +5219,7 @@ lab_endgetargs:; /*_.IFELSE___V31*/ curfptr[30] = /*_.IFELSE___V33*/ curfptr[31];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3148:/ clear"); + MELT_LOCATION("warmelt-first.melt:2953:/ clear"); /*clear*/ /*_#I__L12*/ curfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V33*/ curfptr[31] = 0 ;} @@ -6957,7 +5228,7 @@ lab_endgetargs:; ; /*_.LET___V28*/ curfptr[26] = /*_.IFELSE___V31*/ curfptr[30];; - MELT_LOCATION("warmelt-first.melt:3142:/ clear"); + MELT_LOCATION("warmelt-first.melt:2947:/ clear"); /*clear*/ /*_.YR1__V29*/ curfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.YR2__V30*/ curfptr[29] = 0 ; @@ -6969,7 +5240,7 @@ lab_endgetargs:; /*clear*/ /*_#I__L11*/ curfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V31*/ curfptr[30] = 0 ; - MELT_LOCATION("warmelt-first.melt:3141:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2946:/ quasiblock"); /*_.PROGN___V39*/ curfptr[33] = /*_.LET___V28*/ curfptr[26];; @@ -6978,7 +5249,7 @@ lab_endgetargs:; /*_.IFELSE___V26*/ curfptr[24] = /*_.PROGN___V39*/ curfptr[33];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3139:/ clear"); + MELT_LOCATION("warmelt-first.melt:2944:/ clear"); /*clear*/ /*_.LET___V28*/ curfptr[26] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V39*/ curfptr[33] = 0 ;} @@ -6988,7 +5259,7 @@ lab_endgetargs:; /*_.IFELSE___V24*/ curfptr[23] = /*_.IFELSE___V26*/ curfptr[24];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3137:/ clear"); + MELT_LOCATION("warmelt-first.melt:2942:/ clear"); /*clear*/ /*_#STRING___L8*/ curfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V26*/ curfptr[24] = 0 ;} @@ -6997,7 +5268,7 @@ lab_endgetargs:; ; /*_.LET___V21*/ curfptr[14] = /*_.IFELSE___V24*/ curfptr[23];; - MELT_LOCATION("warmelt-first.melt:3135:/ clear"); + MELT_LOCATION("warmelt-first.melt:2940:/ clear"); /*clear*/ /*_.N1__V22*/ curfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.N2__V23*/ curfptr[16] = 0 ; @@ -7008,7 +5279,7 @@ lab_endgetargs:; /*_.IFELSE___V20*/ curfptr[17] = /*_.LET___V21*/ curfptr[14];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3134:/ clear"); + MELT_LOCATION("warmelt-first.melt:2939:/ clear"); /*clear*/ /*_.LET___V21*/ curfptr[14] = 0 ;} ; } else {/*^cond.else*/ @@ -7018,42 +5289,42 @@ lab_endgetargs:; /*_#IS_A__L13*/ curfnum[11] = melt_is_instance_of((melt_ptr_t)(/*_.X1__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_NAMED*/ curfrout->tabval[1])));; - MELT_LOCATION("warmelt-first.melt:3158:/ cond"); + MELT_LOCATION("warmelt-first.melt:2963:/ cond"); /*cond*/ if (/*_#IS_A__L13*/ curfnum[11]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3159:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2964:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.X1__V2*/ curfptr[1]), 1, "NAMED_NAME");/*_.N1__V42*/ curfptr[31] = slot; }; ; - MELT_LOCATION("warmelt-first.melt:3160:/ getslot"); + MELT_LOCATION("warmelt-first.melt:2965:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.X2__V4*/ curfptr[3]), 1, "NAMED_NAME");/*_.N2__V43*/ curfptr[28] = slot; }; ; /*_#STRING___L14*/ curfnum[8] = melt_string_less((melt_ptr_t)(/*_.N1__V42*/ curfptr[31]), (melt_ptr_t)(/*_.N2__V43*/ curfptr[28]));; - MELT_LOCATION("warmelt-first.melt:3162:/ cond"); + MELT_LOCATION("warmelt-first.melt:2967:/ cond"); /*cond*/ if (/*_#STRING___L14*/ curfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3163:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2968:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VLESS__V6*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:3163:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2968:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V44*/ curfptr[29] = /*_.RETURN___V45*/ curfptr[30];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3162:/ clear"); + MELT_LOCATION("warmelt-first.melt:2967:/ clear"); /*clear*/ /*_.RETURN___V45*/ curfptr[30] = 0 ;} ; } else {/*^cond.else*/ @@ -7063,23 +5334,23 @@ lab_endgetargs:; /*_#STRING___L15*/ curfnum[9] = melt_string_less((melt_ptr_t)(/*_.N2__V43*/ curfptr[28]), (melt_ptr_t)(/*_.N1__V42*/ curfptr[31]));; - MELT_LOCATION("warmelt-first.melt:3164:/ cond"); + MELT_LOCATION("warmelt-first.melt:2969:/ cond"); /*cond*/ if (/*_#STRING___L15*/ curfnum[9]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3165:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2970:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VGREAT__V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:3165:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2970:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V46*/ curfptr[26] = /*_.RETURN___V47*/ curfptr[33];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3164:/ clear"); + MELT_LOCATION("warmelt-first.melt:2969:/ clear"); /*clear*/ /*_.RETURN___V47*/ curfptr[33] = 0 ;} ; } else {/*^cond.else*/ @@ -7089,23 +5360,23 @@ lab_endgetargs:; /*_#I__L16*/ curfnum[10] = ((/*_#RK1__L2*/ curfnum[1]) < (/*_#RK2__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:3166:/ cond"); + MELT_LOCATION("warmelt-first.melt:2971:/ cond"); /*cond*/ if (/*_#I__L16*/ curfnum[10]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3167:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2972:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VLESS__V6*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:3167:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2972:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V48*/ curfptr[24] = /*_.RETURN___V49*/ curfptr[15];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3166:/ clear"); + MELT_LOCATION("warmelt-first.melt:2971:/ clear"); /*clear*/ /*_.RETURN___V49*/ curfptr[15] = 0 ;} ; } else {/*^cond.else*/ @@ -7115,23 +5386,23 @@ lab_endgetargs:; /*_#I__L17*/ curfnum[7] = ((/*_#RK1__L2*/ curfnum[1]) > (/*_#RK2__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:3168:/ cond"); + MELT_LOCATION("warmelt-first.melt:2973:/ cond"); /*cond*/ if (/*_#I__L17*/ curfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3169:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2974:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VGREAT__V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:3169:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2974:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V50*/ curfptr[16] = /*_.RETURN___V51*/ curfptr[23];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3168:/ clear"); + MELT_LOCATION("warmelt-first.melt:2973:/ clear"); /*clear*/ /*_.RETURN___V51*/ curfptr[23] = 0 ;} ; } else {/*^cond.else*/ @@ -7139,14 +5410,14 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3171:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2976:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VEQ__V7*/ curfptr[6];; - MELT_LOCATION("warmelt-first.melt:3171:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2976:/ finalreturn"); ; /*finalret*/ goto labend_rout ; - MELT_LOCATION("warmelt-first.melt:3170:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2975:/ quasiblock"); /*_.PROGN___V53*/ curfptr[30] = /*_.RETURN___V52*/ curfptr[14];; @@ -7155,7 +5426,7 @@ lab_endgetargs:; /*_.IFELSE___V50*/ curfptr[16] = /*_.PROGN___V53*/ curfptr[30];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3168:/ clear"); + MELT_LOCATION("warmelt-first.melt:2973:/ clear"); /*clear*/ /*_.RETURN___V52*/ curfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V53*/ curfptr[30] = 0 ;} @@ -7165,7 +5436,7 @@ lab_endgetargs:; /*_.IFELSE___V48*/ curfptr[24] = /*_.IFELSE___V50*/ curfptr[16];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3166:/ clear"); + MELT_LOCATION("warmelt-first.melt:2971:/ clear"); /*clear*/ /*_#I__L17*/ curfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V50*/ curfptr[16] = 0 ;} @@ -7175,7 +5446,7 @@ lab_endgetargs:; /*_.IFELSE___V46*/ curfptr[26] = /*_.IFELSE___V48*/ curfptr[24];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3164:/ clear"); + MELT_LOCATION("warmelt-first.melt:2969:/ clear"); /*clear*/ /*_#I__L16*/ curfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V48*/ curfptr[24] = 0 ;} @@ -7185,7 +5456,7 @@ lab_endgetargs:; /*_.IFELSE___V44*/ curfptr[29] = /*_.IFELSE___V46*/ curfptr[26];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3162:/ clear"); + MELT_LOCATION("warmelt-first.melt:2967:/ clear"); /*clear*/ /*_#STRING___L15*/ curfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V46*/ curfptr[26] = 0 ;} @@ -7194,7 +5465,7 @@ lab_endgetargs:; ; /*_.LET___V41*/ curfptr[37] = /*_.IFELSE___V44*/ curfptr[29];; - MELT_LOCATION("warmelt-first.melt:3159:/ clear"); + MELT_LOCATION("warmelt-first.melt:2964:/ clear"); /*clear*/ /*_.N1__V42*/ curfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.N2__V43*/ curfptr[28] = 0 ; @@ -7205,7 +5476,7 @@ lab_endgetargs:; /*_.IFELSE___V40*/ curfptr[35] = /*_.LET___V41*/ curfptr[37];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3158:/ clear"); + MELT_LOCATION("warmelt-first.melt:2963:/ clear"); /*clear*/ /*_.LET___V41*/ curfptr[37] = 0 ;} ; } else {/*^cond.else*/ @@ -7215,24 +5486,24 @@ lab_endgetargs:; /*_#IS_A__L18*/ curfnum[6] = melt_is_instance_of((melt_ptr_t)(/*_.X1__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_ANY_BINDING*/ curfrout->tabval[2])));; - MELT_LOCATION("warmelt-first.melt:3174:/ cond"); + MELT_LOCATION("warmelt-first.melt:2979:/ cond"); /*cond*/ if (/*_#IS_A__L18*/ curfnum[6]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3175:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2980:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.X1__V2*/ curfptr[1]), 0, "BINDER");/*_.BSY1__V56*/ curfptr[23] = slot; }; ; - MELT_LOCATION("warmelt-first.melt:3176:/ getslot"); + MELT_LOCATION("warmelt-first.melt:2981:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.X1__V2*/ curfptr[1]), 0, "BINDER");/*_.BSY2__V57*/ curfptr[14] = slot; }; ; - MELT_LOCATION("warmelt-first.melt:3177:/ apply"); + MELT_LOCATION("warmelt-first.melt:2982:/ apply"); /*apply*/{ union meltparam_un argtab[6]; memset(&argtab, 0, sizeof(argtab)); @@ -7255,12 +5526,12 @@ lab_endgetargs:; /*_.RETVAL___V1*/ curfptr[0] = /*_.COMPARE_OBJ_RANKED__V58*/ curfptr[30];; - MELT_LOCATION("warmelt-first.melt:3177:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2982:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.LET___V55*/ curfptr[15] = /*_.RETURN___V59*/ curfptr[16];; - MELT_LOCATION("warmelt-first.melt:3175:/ clear"); + MELT_LOCATION("warmelt-first.melt:2980:/ clear"); /*clear*/ /*_.BSY1__V56*/ curfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_.BSY2__V57*/ curfptr[14] = 0 ; @@ -7271,7 +5542,7 @@ lab_endgetargs:; /*_.IFELSE___V54*/ curfptr[33] = /*_.LET___V55*/ curfptr[15];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3174:/ clear"); + MELT_LOCATION("warmelt-first.melt:2979:/ clear"); /*clear*/ /*_.LET___V55*/ curfptr[15] = 0 ;} ; } else {/*^cond.else*/ @@ -7281,7 +5552,7 @@ lab_endgetargs:; /*_#IS_STRING__L19*/ curfnum[7] = (melt_magic_discr((melt_ptr_t)(/*_.X1__V2*/ curfptr[1])) == OBMAG_STRING);; - MELT_LOCATION("warmelt-first.melt:3178:/ cond"); + MELT_LOCATION("warmelt-first.melt:2983:/ cond"); /*cond*/ if (/*_#IS_STRING__L19*/ curfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ @@ -7289,23 +5560,23 @@ lab_endgetargs:; /*_#STRING___L20*/ curfnum[10] = melt_string_less((melt_ptr_t)(/*_.X1__V2*/ curfptr[1]), (melt_ptr_t)(/*_.X2__V4*/ curfptr[3]));; - MELT_LOCATION("warmelt-first.melt:3179:/ cond"); + MELT_LOCATION("warmelt-first.melt:2984:/ cond"); /*cond*/ if (/*_#STRING___L20*/ curfnum[10]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3180:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2985:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VLESS__V6*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:3180:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2985:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V61*/ curfptr[26] = /*_.RETURN___V62*/ curfptr[31];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3179:/ clear"); + MELT_LOCATION("warmelt-first.melt:2984:/ clear"); /*clear*/ /*_.RETURN___V62*/ curfptr[31] = 0 ;} ; } else {/*^cond.else*/ @@ -7315,23 +5586,23 @@ lab_endgetargs:; /*_#STRING___L21*/ curfnum[9] = melt_string_less((melt_ptr_t)(/*_.X2__V4*/ curfptr[3]), (melt_ptr_t)(/*_.X1__V2*/ curfptr[1]));; - MELT_LOCATION("warmelt-first.melt:3181:/ cond"); + MELT_LOCATION("warmelt-first.melt:2986:/ cond"); /*cond*/ if (/*_#STRING___L21*/ curfnum[9]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3182:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2987:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VGREAT__V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:3182:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2987:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V63*/ curfptr[28] = /*_.RETURN___V64*/ curfptr[29];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3181:/ clear"); + MELT_LOCATION("warmelt-first.melt:2986:/ clear"); /*clear*/ /*_.RETURN___V64*/ curfptr[29] = 0 ;} ; } else {/*^cond.else*/ @@ -7341,23 +5612,23 @@ lab_endgetargs:; /*_#I__L22*/ curfnum[8] = ((/*_#RK1__L2*/ curfnum[1]) < (/*_#RK2__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:3183:/ cond"); + MELT_LOCATION("warmelt-first.melt:2988:/ cond"); /*cond*/ if (/*_#I__L22*/ curfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3184:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2989:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VLESS__V6*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:3184:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2989:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V65*/ curfptr[37] = /*_.RETURN___V66*/ curfptr[23];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3183:/ clear"); + MELT_LOCATION("warmelt-first.melt:2988:/ clear"); /*clear*/ /*_.RETURN___V66*/ curfptr[23] = 0 ;} ; } else {/*^cond.else*/ @@ -7367,23 +5638,23 @@ lab_endgetargs:; /*_#I__L23*/ curfnum[22] = ((/*_#RK1__L2*/ curfnum[1]) > (/*_#RK2__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:3185:/ cond"); + MELT_LOCATION("warmelt-first.melt:2990:/ cond"); /*cond*/ if (/*_#I__L23*/ curfnum[22]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3186:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2991:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VGREAT__V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:3186:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2991:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V67*/ curfptr[14] = /*_.RETURN___V68*/ curfptr[30];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3185:/ clear"); + MELT_LOCATION("warmelt-first.melt:2990:/ clear"); /*clear*/ /*_.RETURN___V68*/ curfptr[30] = 0 ;} ; } else {/*^cond.else*/ @@ -7391,14 +5662,14 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3188:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2993:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VEQ__V7*/ curfptr[6];; - MELT_LOCATION("warmelt-first.melt:3188:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2993:/ finalreturn"); ; /*finalret*/ goto labend_rout ; - MELT_LOCATION("warmelt-first.melt:3187:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2992:/ quasiblock"); /*_.PROGN___V70*/ curfptr[15] = /*_.RETURN___V69*/ curfptr[16];; @@ -7407,7 +5678,7 @@ lab_endgetargs:; /*_.IFELSE___V67*/ curfptr[14] = /*_.PROGN___V70*/ curfptr[15];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3185:/ clear"); + MELT_LOCATION("warmelt-first.melt:2990:/ clear"); /*clear*/ /*_.RETURN___V69*/ curfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V70*/ curfptr[15] = 0 ;} @@ -7417,7 +5688,7 @@ lab_endgetargs:; /*_.IFELSE___V65*/ curfptr[37] = /*_.IFELSE___V67*/ curfptr[14];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3183:/ clear"); + MELT_LOCATION("warmelt-first.melt:2988:/ clear"); /*clear*/ /*_#I__L23*/ curfnum[22] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V67*/ curfptr[14] = 0 ;} @@ -7427,7 +5698,7 @@ lab_endgetargs:; /*_.IFELSE___V63*/ curfptr[28] = /*_.IFELSE___V65*/ curfptr[37];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3181:/ clear"); + MELT_LOCATION("warmelt-first.melt:2986:/ clear"); /*clear*/ /*_#I__L22*/ curfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V65*/ curfptr[37] = 0 ;} @@ -7437,7 +5708,7 @@ lab_endgetargs:; /*_.IFELSE___V61*/ curfptr[26] = /*_.IFELSE___V63*/ curfptr[28];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3179:/ clear"); + MELT_LOCATION("warmelt-first.melt:2984:/ clear"); /*clear*/ /*_#STRING___L21*/ curfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V63*/ curfptr[28] = 0 ;} @@ -7447,7 +5718,7 @@ lab_endgetargs:; /*_.IFELSE___V60*/ curfptr[24] = /*_.IFELSE___V61*/ curfptr[26];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3178:/ clear"); + MELT_LOCATION("warmelt-first.melt:2983:/ clear"); /*clear*/ /*_#STRING___L20*/ curfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V61*/ curfptr[26] = 0 ;} @@ -7459,23 +5730,23 @@ lab_endgetargs:; /*_#I__L24*/ curfnum[22] = ((/*_#RK1__L2*/ curfnum[1]) < (/*_#RK2__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:3189:/ cond"); + MELT_LOCATION("warmelt-first.melt:2994:/ cond"); /*cond*/ if (/*_#I__L24*/ curfnum[22]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3190:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2995:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VLESS__V6*/ curfptr[5];; - MELT_LOCATION("warmelt-first.melt:3190:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2995:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V71*/ curfptr[31] = /*_.RETURN___V72*/ curfptr[29];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3189:/ clear"); + MELT_LOCATION("warmelt-first.melt:2994:/ clear"); /*clear*/ /*_.RETURN___V72*/ curfptr[29] = 0 ;} ; } else {/*^cond.else*/ @@ -7485,23 +5756,23 @@ lab_endgetargs:; /*_#I__L25*/ curfnum[8] = ((/*_#RK1__L2*/ curfnum[1]) > (/*_#RK2__L3*/ curfnum[2]));; - MELT_LOCATION("warmelt-first.melt:3191:/ cond"); + MELT_LOCATION("warmelt-first.melt:2996:/ cond"); /*cond*/ if (/*_#I__L25*/ curfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3192:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2997:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VGREAT__V8*/ curfptr[7];; - MELT_LOCATION("warmelt-first.melt:3192:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2997:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*_.IFELSE___V73*/ curfptr[23] = /*_.RETURN___V74*/ curfptr[30];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3191:/ clear"); + MELT_LOCATION("warmelt-first.melt:2996:/ clear"); /*clear*/ /*_.RETURN___V74*/ curfptr[30] = 0 ;} ; } else {/*^cond.else*/ @@ -7509,14 +5780,14 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3194:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2999:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.VEQ__V7*/ curfptr[6];; - MELT_LOCATION("warmelt-first.melt:3194:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2999:/ finalreturn"); ; /*finalret*/ goto labend_rout ; - MELT_LOCATION("warmelt-first.melt:3193:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2998:/ quasiblock"); /*_.PROGN___V76*/ curfptr[15] = /*_.RETURN___V75*/ curfptr[16];; @@ -7525,7 +5796,7 @@ lab_endgetargs:; /*_.IFELSE___V73*/ curfptr[23] = /*_.PROGN___V76*/ curfptr[15];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3191:/ clear"); + MELT_LOCATION("warmelt-first.melt:2996:/ clear"); /*clear*/ /*_.RETURN___V75*/ curfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V76*/ curfptr[15] = 0 ;} @@ -7535,7 +5806,7 @@ lab_endgetargs:; /*_.IFELSE___V71*/ curfptr[31] = /*_.IFELSE___V73*/ curfptr[23];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3189:/ clear"); + MELT_LOCATION("warmelt-first.melt:2994:/ clear"); /*clear*/ /*_#I__L25*/ curfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V73*/ curfptr[23] = 0 ;} @@ -7545,7 +5816,7 @@ lab_endgetargs:; /*_.IFELSE___V60*/ curfptr[24] = /*_.IFELSE___V71*/ curfptr[31];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3178:/ clear"); + MELT_LOCATION("warmelt-first.melt:2983:/ clear"); /*clear*/ /*_#I__L24*/ curfnum[22] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V71*/ curfptr[31] = 0 ;} @@ -7555,7 +5826,7 @@ lab_endgetargs:; /*_.IFELSE___V54*/ curfptr[33] = /*_.IFELSE___V60*/ curfptr[24];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3174:/ clear"); + MELT_LOCATION("warmelt-first.melt:2979:/ clear"); /*clear*/ /*_#IS_STRING__L19*/ curfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V60*/ curfptr[24] = 0 ;} @@ -7565,7 +5836,7 @@ lab_endgetargs:; /*_.IFELSE___V40*/ curfptr[35] = /*_.IFELSE___V54*/ curfptr[33];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3158:/ clear"); + MELT_LOCATION("warmelt-first.melt:2963:/ clear"); /*clear*/ /*_#IS_A__L18*/ curfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V54*/ curfptr[33] = 0 ;} @@ -7575,7 +5846,7 @@ lab_endgetargs:; /*_.IFELSE___V20*/ curfptr[17] = /*_.IFELSE___V40*/ curfptr[35];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3134:/ clear"); + MELT_LOCATION("warmelt-first.melt:2939:/ clear"); /*clear*/ /*_#IS_A__L13*/ curfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V40*/ curfptr[35] = 0 ;} @@ -7585,7 +5856,7 @@ lab_endgetargs:; /*_.IFELSE___V14*/ curfptr[13] = /*_.IFELSE___V20*/ curfptr[17];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3128:/ clear"); + MELT_LOCATION("warmelt-first.melt:2933:/ clear"); /*clear*/ /*_#IS_A__L6*/ curfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V20*/ curfptr[17] = 0 ;} @@ -7594,7 +5865,7 @@ lab_endgetargs:; ; /*_.LET___V11*/ curfptr[9] = /*_.IFELSE___V14*/ curfptr[13];; - MELT_LOCATION("warmelt-first.melt:3123:/ clear"); + MELT_LOCATION("warmelt-first.melt:2928:/ clear"); /*clear*/ /*_.X1DIS__V12*/ curfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.X2DIS__V13*/ curfptr[12] = 0 ; @@ -7609,16 +5880,16 @@ lab_endgetargs:; /*_.IFELSE___V9*/ curfptr[8] = /*_.LET___V11*/ curfptr[9];; /*epilog*/ - MELT_LOCATION("warmelt-first.melt:3121:/ clear"); + MELT_LOCATION("warmelt-first.melt:2926:/ clear"); /*clear*/ /*_.LET___V11*/ curfptr[9] = 0 ;} ; } ; - MELT_LOCATION("warmelt-first.melt:3120:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:2925:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.IFELSE___V9*/ curfptr[8];; - MELT_LOCATION("warmelt-first.melt:3120:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:2925:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -7636,14 +5907,14 @@ melt_trace_end("COMPARE_OBJ_RANKED", callcount); melt_topframe = (struct callfr #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_61_warmelt_first_COMPARE_OBJ_RANKED*/ +} /*end meltrout_50_warmelt_first_COMPARE_OBJ_RANKED*/ melt_ptr_t MELT_MODULE_VISIBILITY -meltrout_62_warmelt_first_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, +meltrout_51_warmelt_first_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING @@ -7654,7 +5925,7 @@ meltrout_62_warmelt_first_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE(meltclosure_ptr_t clo #define callcount 0L #endif - struct frame_meltrout_62_warmelt_first_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE_st { unsigned nbvar; + struct frame_meltrout_51_warmelt_first_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif @@ -7686,7 +5957,7 @@ melt_trace_start("MAPOBJECT_SORTED_ATTRIBUTE_TUPLE", callcount); /*getargs*/ /*getarg#0*/ - MELT_LOCATION("warmelt-first.melt:3202:/ getarg"); + MELT_LOCATION("warmelt-first.melt:3007:/ getarg"); /*_.MAPO__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; @@ -7695,7 +5966,7 @@ lab_endgetargs:; /*^block*/ /*anyblock*/{ - MELT_LOCATION("warmelt-first.melt:3205:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:3010:/ quasiblock"); /*_#MAPCOUNT__L1*/ curfnum[0] = @@ -7720,7 +5991,7 @@ lab_endgetargs:; /*_.TUPL__V8*/ curfptr[7] = (meltgc_new_multiple((meltobject_ptr_t)((/*!DISCR_MULTIPLE*/ curfrout->tabval[1])), (/*_#MAPCOUNT__L1*/ curfnum[0])));; - MELT_LOCATION("warmelt-first.melt:3216:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:3021:/ quasiblock"); /*^newclosure*/ @@ -7740,7 +6011,7 @@ lab_endgetargs:; ((meltclosure_ptr_t)/*_.LAMBDA___V10*/ curfptr[9])->tabval[1] = (melt_ptr_t)(/*_.TUPL__V8*/ curfptr[7]); ; /*_.LAMBDA___V9*/ curfptr[8] = /*_.LAMBDA___V10*/ curfptr[9];; - MELT_LOCATION("warmelt-first.melt:3214:/ apply"); + MELT_LOCATION("warmelt-first.melt:3019:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); @@ -7749,10 +6020,10 @@ lab_endgetargs:; /*_.MAPOBJECT_EVERY__V11*/ curfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!MAPOBJECT_EVERY*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.MAPO__V2*/ curfptr[1]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; - MELT_LOCATION("warmelt-first.melt:3225:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:3030:/ quasiblock"); - MELT_LOCATION("warmelt-first.melt:3228:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:3033:/ quasiblock"); /*^newclosure*/ @@ -7782,7 +6053,7 @@ lab_endgetargs:; /*_.SORTUPL__V15*/ curfptr[14] = meltgc_sort_multiple((melt_ptr_t)(/*_.TUPL__V8*/ curfptr[7]), (melt_ptr_t)(/*_.LAMBDA___V13*/ curfptr[12]), (melt_ptr_t)((/*!DISCR_MULTIPLE*/ curfrout->tabval[1])));; - MELT_LOCATION("warmelt-first.melt:3241:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:3046:/ quasiblock"); /*^newclosure*/ @@ -7790,7 +6061,7 @@ lab_endgetargs:; meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_8*/ curfrout->tabval[8])), (0)); ; /*_.LAMBDA___V16*/ curfptr[15] = /*_.LAMBDA___V17*/ curfptr[16];; - MELT_LOCATION("warmelt-first.melt:3241:/ apply"); + MELT_LOCATION("warmelt-first.melt:3046:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); @@ -7801,7 +6072,7 @@ lab_endgetargs:; ; /*_.LET___V12*/ curfptr[11] = /*_.MULTIPLE_MAP__V18*/ curfptr[17];; - MELT_LOCATION("warmelt-first.melt:3225:/ clear"); + MELT_LOCATION("warmelt-first.melt:3030:/ clear"); /*clear*/ /*_.LAMBDA___V13*/ curfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.SORTUPL__V15*/ curfptr[14] = 0 ; @@ -7811,7 +6082,7 @@ lab_endgetargs:; /*clear*/ /*_.MULTIPLE_MAP__V18*/ curfptr[17] = 0 ; /*_.LET___V3*/ curfptr[2] = /*_.LET___V12*/ curfptr[11];; - MELT_LOCATION("warmelt-first.melt:3205:/ clear"); + MELT_LOCATION("warmelt-first.melt:3010:/ clear"); /*clear*/ /*_#MAPCOUNT__L1*/ curfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.COUNTBOX__V4*/ curfptr[3] = 0 ; @@ -7829,11 +6100,11 @@ lab_endgetargs:; /*clear*/ /*_.MAPOBJECT_EVERY__V11*/ curfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V12*/ curfptr[11] = 0 ; - MELT_LOCATION("warmelt-first.melt:3202:/ quasiblock"); + MELT_LOCATION("warmelt-first.melt:3007:/ quasiblock"); /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V3*/ curfptr[2];; - MELT_LOCATION("warmelt-first.melt:3202:/ finalreturn"); + MELT_LOCATION("warmelt-first.melt:3007:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ @@ -7849,7 +6120,3442 @@ melt_trace_end("MAPOBJECT_SORTED_ATTRIBUTE_TUPLE", callcount); melt_topframe = #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR -} /*end meltrout_62_warmelt_first_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE*/ +} /*end meltrout_51_warmelt_first_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE*/ + + + + + +melt_ptr_t MELT_MODULE_VISIBILITY +meltrout_52_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, + const char xresdescr_[], union meltparam_un *xrestab_) +{ +#if ENABLE_CHECKING + static long call_counter__; + long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; +#define callcount thiscallcounter__ +#else +#define callcount 0L +#endif + + struct frame_meltrout_52_warmelt_first_LAMBDA__st { unsigned nbvar; +#if ENABLE_CHECKING + const char* flocs; +#endif + struct meltclosure_st *clos; + struct excepth_melt_st *exh; + struct callframe_melt_st *prev; +#define CURFRAM_NBVARPTR 6 + void* varptr[6]; +#define CURFRAM_NBVARNUM 2 + long varnum[2]; +/*others*/ + long _spare_; } + *framptr_=0, curfram__; + if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ + int ix=0; + framptr_ = (void*)firstargp_; + gt_ggc_mx_melt_un (framptr_->clos); + for(ix=0; ix<6; ix++) + if (framptr_->varptr[ix]) + gt_ggc_mx_melt_un (framptr_->varptr[ix]); + return NULL; + }/*end markggc*/; + memset(&curfram__, 0, sizeof(curfram__)); + curfram__.nbvar = 6; + curfram__.clos = closp_; + curfram__.prev = (struct callframe_melt_st *) melt_topframe; + melt_topframe = (struct callframe_melt_st *) &curfram__; +melt_trace_start("LAMBDA_", callcount); +/*getargs*/ + + /*getarg#0*/ + MELT_LOCATION("warmelt-first.melt:3021:/ getarg"); + /*_.AT__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; + + /*getarg#1*/ + /*^getarg*/ + if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; + /*_.VA__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; + gcc_assert(melt_discr((melt_ptr_t)(/*_.VA__V3*/ curfptr[2])) != NULL); + + ; + goto lab_endgetargs; +lab_endgetargs:; +/*body*/ +/*^block*/ +/*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3022:/ quasiblock"); + + + /*_#CURCOUNT__L1*/ curfnum[0] = + (melt_get_int((melt_ptr_t)((/*~COUNTBOX*/ curfclos->tabval[0]))));; + /*^compute*/ + + /*_.MAKE_INTEGERBOX__V4*/ curfptr[3] = + (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[0])), (/*_#CURCOUNT__L1*/ curfnum[0])));; + MELT_LOCATION("warmelt-first.melt:3023:/ blockmultialloc"); + /*multiallocblock*/{ + struct meltletrec_1_st { + struct MELT_MULTIPLE_STRUCT(3) rtup_0__TUPLREC__x1; long meltletrec_1_endgap; } *meltletrec_1_ptr = 0; + meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0); + /*^blockmultialloc.initfill*/ + /*inimult rtup_0__TUPLREC__x1*/ + /*_.TUPLREC___V6*/ curfptr[5] = (void*)&meltletrec_1_ptr->rtup_0__TUPLREC__x1; + meltletrec_1_ptr->rtup_0__TUPLREC__x1.discr = (meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_MULTIPLE)))); + meltletrec_1_ptr->rtup_0__TUPLREC__x1.nbval = 3; + + + /*^putuple*/ + /*putupl*/ + melt_assertmsg("putupl checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V6*/ curfptr[5]))== OBMAG_MULTIPLE); + melt_assertmsg("putupl checkoff", (0>=0 && 0< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V6*/ curfptr[5])))); + ((meltmultiple_ptr_t)(/*_.TUPLREC___V6*/ curfptr[5]))->tabval[0] = (melt_ptr_t)(/*_.AT__V2*/ curfptr[1]); + ; + /*^putuple*/ + /*putupl*/ + melt_assertmsg("putupl checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V6*/ curfptr[5]))== OBMAG_MULTIPLE); + melt_assertmsg("putupl checkoff", (1>=0 && 1< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V6*/ curfptr[5])))); + ((meltmultiple_ptr_t)(/*_.TUPLREC___V6*/ curfptr[5]))->tabval[1] = (melt_ptr_t)(/*_.VA__V3*/ curfptr[2]); + ; + /*^putuple*/ + /*putupl*/ + melt_assertmsg("putupl checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V6*/ curfptr[5]))== OBMAG_MULTIPLE); + melt_assertmsg("putupl checkoff", (2>=0 && 2< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V6*/ curfptr[5])))); + ((meltmultiple_ptr_t)(/*_.TUPLREC___V6*/ curfptr[5]))->tabval[2] = (melt_ptr_t)(/*_.MAKE_INTEGERBOX__V4*/ curfptr[3]); + ; + /*^touch*/ + meltgc_touch(/*_.TUPLREC___V6*/ curfptr[5]); + ; + /*_.ENT__V5*/ curfptr[4] = /*_.TUPLREC___V6*/ curfptr[5];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3023:/ clear"); + /*clear*/ /*_.TUPLREC___V6*/ curfptr[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.TUPLREC___V6*/ curfptr[5] = 0 ;} /*end multiallocblock*/ + ; + + { + MELT_LOCATION("warmelt-first.melt:3026:/ locexp"); + meltgc_multiple_put_nth((melt_ptr_t)((/*~TUPL*/ curfclos->tabval[1])), (/*_#CURCOUNT__L1*/ curfnum[0]), (melt_ptr_t)(/*_.ENT__V5*/ curfptr[4]));} + ; + /*_#I__L2*/ curfnum[1] = + ((/*_#CURCOUNT__L1*/ curfnum[0]) + (1));; + + { + MELT_LOCATION("warmelt-first.melt:3027:/ locexp"); + melt_put_int((melt_ptr_t)((/*~COUNTBOX*/ curfclos->tabval[0])), (/*_#I__L2*/ curfnum[1]));} + ; + + MELT_LOCATION("warmelt-first.melt:3022:/ clear"); + /*clear*/ /*_#CURCOUNT__L1*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.MAKE_INTEGERBOX__V4*/ curfptr[3] = 0 ; + /*^clear*/ + /*clear*/ /*_.ENT__V5*/ curfptr[4] = 0 ; + /*^clear*/ + /*clear*/ /*_#I__L2*/ curfnum[1] = 0 ; + /*epilog*/ + } + +; + goto labend_rout; +labend_rout: +melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; + return (melt_ptr_t)(/*noretval*/ NULL); +#undef callcount +#undef CURFRAM_NBVARNUM +#undef CURFRAM_NBVARPTR +} /*end meltrout_52_warmelt_first_LAMBDA_*/ + + + + + +melt_ptr_t MELT_MODULE_VISIBILITY +meltrout_53_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, + const char xresdescr_[], union meltparam_un *xrestab_) +{ +#if ENABLE_CHECKING + static long call_counter__; + long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; +#define callcount thiscallcounter__ +#else +#define callcount 0L +#endif + + struct frame_meltrout_53_warmelt_first_LAMBDA__st { unsigned nbvar; +#if ENABLE_CHECKING + const char* flocs; +#endif + struct meltclosure_st *clos; + struct excepth_melt_st *exh; + struct callframe_melt_st *prev; +#define CURFRAM_NBVARPTR 11 + void* varptr[11]; +/*no varnum*/ +#define CURFRAM_NBVARNUM /*none*/0 +/*others*/ + long _spare_; } + *framptr_=0, curfram__; + if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ + int ix=0; + framptr_ = (void*)firstargp_; + gt_ggc_mx_melt_un (framptr_->clos); + for(ix=0; ix<11; ix++) + if (framptr_->varptr[ix]) + gt_ggc_mx_melt_un (framptr_->varptr[ix]); + return NULL; + }/*end markggc*/; + memset(&curfram__, 0, sizeof(curfram__)); + curfram__.nbvar = 11; + curfram__.clos = closp_; + curfram__.prev = (struct callframe_melt_st *) melt_topframe; + melt_topframe = (struct callframe_melt_st *) &curfram__; +melt_trace_start("LAMBDA_", callcount); +/*getargs*/ + + /*getarg#0*/ + MELT_LOCATION("warmelt-first.melt:3033:/ getarg"); + /*_.E1__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; + + /*getarg#1*/ + /*^getarg*/ + if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; + /*_.E2__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; + gcc_assert(melt_discr((melt_ptr_t)(/*_.E2__V3*/ curfptr[2])) != NULL); + + ; + goto lab_endgetargs; +lab_endgetargs:; +/*body*/ +/*^block*/ +/*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3034:/ quasiblock"); + + + /*_.E1AT__V5*/ curfptr[4] = + (melt_multiple_nth((melt_ptr_t)(/*_.E1__V2*/ curfptr[1]), (0)));; + /*^compute*/ + + /*_.E1VA__V6*/ curfptr[5] = + (melt_multiple_nth((melt_ptr_t)(/*_.E1__V2*/ curfptr[1]), (1)));; + /*^compute*/ + + /*_.E1RK__V7*/ curfptr[6] = + (melt_multiple_nth((melt_ptr_t)(/*_.E1__V2*/ curfptr[1]), (2)));; + /*^compute*/ + + /*_.E2AT__V8*/ curfptr[7] = + (melt_multiple_nth((melt_ptr_t)(/*_.E2__V3*/ curfptr[2]), (0)));; + /*^compute*/ + + /*_.E2VA__V9*/ curfptr[8] = + (melt_multiple_nth((melt_ptr_t)(/*_.E2__V3*/ curfptr[2]), (1)));; + /*^compute*/ + + /*_.E2RK__V10*/ curfptr[9] = + (melt_multiple_nth((melt_ptr_t)(/*_.E2__V3*/ curfptr[2]), (2)));; + MELT_LOCATION("warmelt-first.melt:3041:/ apply"); + /*apply*/{ + union meltparam_un argtab[6]; + memset(&argtab, 0, sizeof(argtab)); + /*^apply.arg*/ + argtab[0].bp_aptr = (melt_ptr_t*) &/*_.E1RK__V7*/ curfptr[6]; + /*^apply.arg*/ + argtab[1].bp_aptr = (melt_ptr_t*) &/*_.E2AT__V8*/ curfptr[7]; + /*^apply.arg*/ + argtab[2].bp_aptr = (melt_ptr_t*) &/*_.E2RK__V10*/ curfptr[9]; + /*^apply.arg*/ + argtab[3].bp_aptr = (melt_ptr_t*) &(/*~BOXEDMINUSONE*/ curfclos->tabval[0]); + /*^apply.arg*/ + argtab[4].bp_aptr = (melt_ptr_t*) &(/*~BOXEDZERO*/ curfclos->tabval[1]); + /*^apply.arg*/ + argtab[5].bp_aptr = (melt_ptr_t*) &(/*~BOXEDONE*/ curfclos->tabval[2]); + /*_.COMPARE_OBJ_RANKED__V11*/ curfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!COMPARE_OBJ_RANKED*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.E1AT__V5*/ curfptr[4]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); + } + ; + /*_.LET___V4*/ curfptr[3] = /*_.COMPARE_OBJ_RANKED__V11*/ curfptr[10];; + + MELT_LOCATION("warmelt-first.melt:3034:/ clear"); + /*clear*/ /*_.E1AT__V5*/ curfptr[4] = 0 ; + /*^clear*/ + /*clear*/ /*_.E1VA__V6*/ curfptr[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.E1RK__V7*/ curfptr[6] = 0 ; + /*^clear*/ + /*clear*/ /*_.E2AT__V8*/ curfptr[7] = 0 ; + /*^clear*/ + /*clear*/ /*_.E2VA__V9*/ curfptr[8] = 0 ; + /*^clear*/ + /*clear*/ /*_.E2RK__V10*/ curfptr[9] = 0 ; + /*^clear*/ + /*clear*/ /*_.COMPARE_OBJ_RANKED__V11*/ curfptr[10] = 0 ; + MELT_LOCATION("warmelt-first.melt:3033:/ quasiblock"); + + + /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V4*/ curfptr[3];; + MELT_LOCATION("warmelt-first.melt:3033:/ finalreturn"); + ; + /*finalret*/ goto labend_rout ; + /*epilog*/ + + /*^clear*/ + /*clear*/ /*_.LET___V4*/ curfptr[3] = 0 ;} + +; + goto labend_rout; +labend_rout: +melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; + return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); +#undef callcount +#undef CURFRAM_NBVARNUM +#undef CURFRAM_NBVARPTR +} /*end meltrout_53_warmelt_first_LAMBDA_*/ + + + + + +melt_ptr_t MELT_MODULE_VISIBILITY +meltrout_54_warmelt_first_LAMBDA_(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, + const char xresdescr_[], union meltparam_un *xrestab_) +{ +#if ENABLE_CHECKING + static long call_counter__; + long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; +#define callcount thiscallcounter__ +#else +#define callcount 0L +#endif + + struct frame_meltrout_54_warmelt_first_LAMBDA__st { unsigned nbvar; +#if ENABLE_CHECKING + const char* flocs; +#endif + struct meltclosure_st *clos; + struct excepth_melt_st *exh; + struct callframe_melt_st *prev; +#define CURFRAM_NBVARPTR 3 + void* varptr[3]; +/*no varnum*/ +#define CURFRAM_NBVARNUM /*none*/0 +/*others*/ + long _spare_; } + *framptr_=0, curfram__; + if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ + int ix=0; + framptr_ = (void*)firstargp_; + gt_ggc_mx_melt_un (framptr_->clos); + for(ix=0; ix<3; ix++) + if (framptr_->varptr[ix]) + gt_ggc_mx_melt_un (framptr_->varptr[ix]); + return NULL; + }/*end markggc*/; + memset(&curfram__, 0, sizeof(curfram__)); + curfram__.nbvar = 3; + curfram__.clos = closp_; + curfram__.prev = (struct callframe_melt_st *) melt_topframe; + melt_topframe = (struct callframe_melt_st *) &curfram__; +melt_trace_start("LAMBDA_", callcount); +/*getargs*/ + + /*getarg#0*/ + MELT_LOCATION("warmelt-first.melt:3046:/ getarg"); + /*_.EL__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; + ; + goto lab_endgetargs; +lab_endgetargs:; +/*body*/ +/*^block*/ +/*anyblock*/{ + + /*_.MULTIPLE_NTH__V3*/ curfptr[2] = + (melt_multiple_nth((melt_ptr_t)(/*_.EL__V2*/ curfptr[1]), (0)));; + MELT_LOCATION("warmelt-first.melt:3046:/ quasiblock"); + + + /*_.RETVAL___V1*/ curfptr[0] = /*_.MULTIPLE_NTH__V3*/ curfptr[2];; + MELT_LOCATION("warmelt-first.melt:3046:/ finalreturn"); + ; + /*finalret*/ goto labend_rout ; + /*epilog*/ + + /*^clear*/ + /*clear*/ /*_.MULTIPLE_NTH__V3*/ curfptr[2] = 0 ;} + +; + goto labend_rout; +labend_rout: +melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; + return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); +#undef callcount +#undef CURFRAM_NBVARNUM +#undef CURFRAM_NBVARPTR +} /*end meltrout_54_warmelt_first_LAMBDA_*/ + + + + + +melt_ptr_t MELT_MODULE_VISIBILITY +meltrout_55_warmelt_first_FRESH_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, + const char xresdescr_[], union meltparam_un *xrestab_) +{ +#if ENABLE_CHECKING + static long call_counter__; + long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; +#define callcount thiscallcounter__ +#else +#define callcount 0L +#endif + + struct frame_meltrout_55_warmelt_first_FRESH_ENV_st { unsigned nbvar; +#if ENABLE_CHECKING + const char* flocs; +#endif + struct meltclosure_st *clos; + struct excepth_melt_st *exh; + struct callframe_melt_st *prev; +#define CURFRAM_NBVARPTR 11 + void* varptr[11]; +#define CURFRAM_NBVARNUM 3 + long varnum[3]; +/*others*/ + long _spare_; } + *framptr_=0, curfram__; + if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ + int ix=0; + framptr_ = (void*)firstargp_; + gt_ggc_mx_melt_un (framptr_->clos); + for(ix=0; ix<11; ix++) + if (framptr_->varptr[ix]) + gt_ggc_mx_melt_un (framptr_->varptr[ix]); + return NULL; + }/*end markggc*/; + memset(&curfram__, 0, sizeof(curfram__)); + curfram__.nbvar = 11; + curfram__.clos = closp_; + curfram__.prev = (struct callframe_melt_st *) melt_topframe; + melt_topframe = (struct callframe_melt_st *) &curfram__; +melt_trace_start("FRESH_ENV", callcount); +/*getargs*/ + + /*getarg#0*/ + MELT_LOCATION("warmelt-first.melt:3060:/ getarg"); + /*_.PARENV__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; + + /*getarg#1*/ + /*^getarg*/ + if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; + /*_.DESCR__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; + gcc_assert(melt_discr((melt_ptr_t)(/*_.DESCR__V3*/ curfptr[2])) != NULL); + + ; + goto lab_endgetargs; +lab_endgetargs:; +/*body*/ +/*^block*/ +/*anyblock*/{ + + /*_#NULL__L1*/ curfnum[0] = + ((/*_.PARENV__V2*/ curfptr[1]) == NULL);; + MELT_LOCATION("warmelt-first.melt:3064:/ cond"); + /*cond*/ if (/*_#NULL__L1*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_#OR___L2*/ curfnum[1] = /*_#NULL__L1*/ curfnum[0];; + } else {MELT_LOCATION("warmelt-first.melt:3064:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L3*/ curfnum[2] = + melt_is_instance_of((melt_ptr_t)(/*_.PARENV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[0])));; + /*^compute*/ + + /*_#OR___L2*/ curfnum[1] = /*_#IS_A__L3*/ curfnum[2];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3064:/ clear"); + /*clear*/ /*_#IS_A__L3*/ curfnum[2] = 0 ;} + ; + } + ; + /*^cond*/ + /*cond*/ if (/*_#OR___L2*/ curfnum[1]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3065:/ cond"); + /*cond*/ if (/*_.DESCR__V3*/ curfptr[2]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + /*_.MAKE_MAPOBJECT__V6*/ curfptr[5] = + (meltgc_new_mapobjects( (meltobject_ptr_t) ((/*!DISCR_MAP_OBJECTS*/ curfrout->tabval[2])), (26)));; + MELT_LOCATION("warmelt-first.melt:3066:/ quasiblock"); + + + /*^rawallocobj*/ + /*rawallocobj*/ { melt_ptr_t newobj = 0; + melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_DESCRIBED_ENVIRONMENT*/ curfrout->tabval[1])), (4), "CLASS_DESCRIBED_ENVIRONMENT");/*_.INST__V8*/ curfptr[7] = + newobj; }; + ; + /*^putslot*/ + /*putslot*/ + melt_assertmsg("putslot checkobj @ENV_BIND", melt_magic_discr((melt_ptr_t)(/*_.INST__V8*/ curfptr[7])) == OBMAG_OBJECT); + melt_putfield_object((/*_.INST__V8*/ curfptr[7]), (0), (/*_.MAKE_MAPOBJECT__V6*/ curfptr[5]), "ENV_BIND"); + ; + /*^putslot*/ + /*putslot*/ + melt_assertmsg("putslot checkobj @ENV_PREV", melt_magic_discr((melt_ptr_t)(/*_.INST__V8*/ curfptr[7])) == OBMAG_OBJECT); + melt_putfield_object((/*_.INST__V8*/ curfptr[7]), (1), (/*_.PARENV__V2*/ curfptr[1]), "ENV_PREV"); + ; + /*^putslot*/ + /*putslot*/ + melt_assertmsg("putslot checkobj @DENV_DESCR", melt_magic_discr((melt_ptr_t)(/*_.INST__V8*/ curfptr[7])) == OBMAG_OBJECT); + melt_putfield_object((/*_.INST__V8*/ curfptr[7]), (3), (/*_.DESCR__V3*/ curfptr[2]), "DENV_DESCR"); + ; + /*_.INST___V7*/ curfptr[6] = /*_.INST__V8*/ curfptr[7];; + /*^compute*/ + + /*_.IFELSE___V5*/ curfptr[4] = /*_.INST___V7*/ curfptr[6];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3065:/ clear"); + /*clear*/ /*_.MAKE_MAPOBJECT__V6*/ curfptr[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.INST___V7*/ curfptr[6] = 0 ;} + ; + } else {/*^cond.else*/ + + /*^block*/ + /*anyblock*/{ + + /*_.MAKE_MAPOBJECT__V9*/ curfptr[5] = + (meltgc_new_mapobjects( (meltobject_ptr_t) ((/*!DISCR_MAP_OBJECTS*/ curfrout->tabval[2])), (6)));; + MELT_LOCATION("warmelt-first.melt:3070:/ quasiblock"); + + + /*^rawallocobj*/ + /*rawallocobj*/ { melt_ptr_t newobj = 0; + melt_raw_object_create(newobj,(melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[0])), (3), "CLASS_ENVIRONMENT");/*_.INST__V11*/ curfptr[10] = + newobj; }; + ; + /*^putslot*/ + /*putslot*/ + melt_assertmsg("putslot checkobj @ENV_BIND", melt_magic_discr((melt_ptr_t)(/*_.INST__V11*/ curfptr[10])) == OBMAG_OBJECT); + melt_putfield_object((/*_.INST__V11*/ curfptr[10]), (0), (/*_.MAKE_MAPOBJECT__V9*/ curfptr[5]), "ENV_BIND"); + ; + /*^putslot*/ + /*putslot*/ + melt_assertmsg("putslot checkobj @ENV_PREV", melt_magic_discr((melt_ptr_t)(/*_.INST__V11*/ curfptr[10])) == OBMAG_OBJECT); + melt_putfield_object((/*_.INST__V11*/ curfptr[10]), (1), (/*_.PARENV__V2*/ curfptr[1]), "ENV_PREV"); + ; + /*_.INST___V10*/ curfptr[6] = /*_.INST__V11*/ curfptr[10];; + /*^compute*/ + + /*_.IFELSE___V5*/ curfptr[4] = /*_.INST___V10*/ curfptr[6];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3065:/ clear"); + /*clear*/ /*_.MAKE_MAPOBJECT__V9*/ curfptr[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.INST___V10*/ curfptr[6] = 0 ;} + ; + } + ; + /*_.IF___V4*/ curfptr[3] = /*_.IFELSE___V5*/ curfptr[4];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3064:/ clear"); + /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ;} + ; + } else {/*^cond.else*/ + + /*_.IF___V4*/ curfptr[3] = NULL;; + } + ; + MELT_LOCATION("warmelt-first.melt:3060:/ quasiblock"); + + + /*_.RETVAL___V1*/ curfptr[0] = /*_.IF___V4*/ curfptr[3];; + MELT_LOCATION("warmelt-first.melt:3060:/ finalreturn"); + ; + /*finalret*/ goto labend_rout ; + /*epilog*/ + + /*^clear*/ + /*clear*/ /*_#NULL__L1*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_#OR___L2*/ curfnum[1] = 0 ; + /*^clear*/ + /*clear*/ /*_.IF___V4*/ curfptr[3] = 0 ;} + +; + goto labend_rout; +labend_rout: +melt_trace_end("FRESH_ENV", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; + return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); +#undef callcount +#undef CURFRAM_NBVARNUM +#undef CURFRAM_NBVARPTR +} /*end meltrout_55_warmelt_first_FRESH_ENV*/ + + + + + +melt_ptr_t MELT_MODULE_VISIBILITY +meltrout_56_warmelt_first_FIND_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, + const char xresdescr_[], union meltparam_un *xrestab_) +{ +#if ENABLE_CHECKING + static long call_counter__; + long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; +#define callcount thiscallcounter__ +#else +#define callcount 0L +#endif + + struct frame_meltrout_56_warmelt_first_FIND_ENV_st { unsigned nbvar; +#if ENABLE_CHECKING + const char* flocs; +#endif + struct meltclosure_st *clos; + struct excepth_melt_st *exh; + struct callframe_melt_st *prev; +#define CURFRAM_NBVARPTR 19 + void* varptr[19]; +#define CURFRAM_NBVARNUM 6 + long varnum[6]; +/*others*/ + long _spare_; } + *framptr_=0, curfram__; + if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ + int ix=0; + framptr_ = (void*)firstargp_; + gt_ggc_mx_melt_un (framptr_->clos); + for(ix=0; ix<19; ix++) + if (framptr_->varptr[ix]) + gt_ggc_mx_melt_un (framptr_->varptr[ix]); + return NULL; + }/*end markggc*/; + memset(&curfram__, 0, sizeof(curfram__)); + curfram__.nbvar = 19; + curfram__.clos = closp_; + curfram__.prev = (struct callframe_melt_st *) melt_topframe; + melt_topframe = (struct callframe_melt_st *) &curfram__; +melt_trace_start("FIND_ENV", callcount); +/*getargs*/ + + /*getarg#0*/ + MELT_LOCATION("warmelt-first.melt:3082:/ getarg"); + /*_.ENV__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; + + /*getarg#1*/ + /*^getarg*/ + if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; + /*_.BINDER__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; + gcc_assert(melt_discr((melt_ptr_t)(/*_.BINDER__V3*/ curfptr[2])) != NULL); + + ; + goto lab_endgetargs; +lab_endgetargs:; +/*body*/ +/*^block*/ +/*anyblock*/{ + + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3084:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L1*/ curfnum[0] = + melt_is_instance_of((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[0])));; + MELT_LOCATION("warmelt-first.melt:3084:/ cond"); + /*cond*/ if (/*_#IS_A__L1*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V5*/ curfptr[4] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3084:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check arg env"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3084)?(3084):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V4*/ curfptr[3] = /*_.IFELSE___V5*/ curfptr[4];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3084:/ clear"); + /*clear*/ /*_#IS_A__L1*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V4*/ curfptr[3] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3085:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_OBJECT__L2*/ curfnum[0] = + (melt_magic_discr((melt_ptr_t)(/*_.BINDER__V3*/ curfptr[2])) == OBMAG_OBJECT);; + MELT_LOCATION("warmelt-first.melt:3085:/ cond"); + /*cond*/ if (/*_#IS_OBJECT__L2*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V7*/ curfptr[6] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3085:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check arg binder"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3085)?(3085):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V6*/ curfptr[4] = /*_.IFELSE___V7*/ curfptr[6];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3085:/ clear"); + /*clear*/ /*_#IS_OBJECT__L2*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V6*/ curfptr[4] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3086:/ loop"); + /*loop*/{ labloop_FINDLOOP_1:;/*^loopbody*/ + + /*^block*/ + /*anyblock*/{ + + /*_#NULL__L3*/ curfnum[0] = + ((/*_.ENV__V2*/ curfptr[1]) == NULL);; + MELT_LOCATION("warmelt-first.melt:3088:/ cond"); + /*cond*/ if (/*_#NULL__L3*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3089:/ quasiblock"); + + + /*^compute*/ + /*_.FINDLOOP__V9*/ curfptr[8] = (/*nil*/NULL);; + + /*^exit*/ + /*exit*/{ + goto labexit_FINDLOOP_1;} + ; + /*epilog*/ + } + ; + } /*noelse*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3090:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_OBJECT__L4*/ curfnum[3] = + (melt_magic_discr((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1])) == OBMAG_OBJECT);; + MELT_LOCATION("warmelt-first.melt:3090:/ cond"); + /*cond*/ if (/*_#IS_OBJECT__L4*/ curfnum[3]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V11*/ curfptr[10] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3090:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check env obj"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3090)?(3090):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V11*/ curfptr[10] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V10*/ curfptr[9] = /*_.IFELSE___V11*/ curfptr[10];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3090:/ clear"); + /*clear*/ /*_#IS_OBJECT__L4*/ curfnum[3] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V11*/ curfptr[10] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V10*/ curfptr[9] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3091:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L5*/ curfnum[3] = + melt_is_instance_of((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[0])));; + MELT_LOCATION("warmelt-first.melt:3091:/ cond"); + /*cond*/ if (/*_#IS_A__L5*/ curfnum[3]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V13*/ curfptr[12] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3091:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check good env"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3091)?(3091):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V13*/ curfptr[12] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V12*/ curfptr[10] = /*_.IFELSE___V13*/ curfptr[12];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3091:/ clear"); + /*clear*/ /*_#IS_A__L5*/ curfnum[3] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V13*/ curfptr[12] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V12*/ curfptr[10] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3092:/ quasiblock"); + + + MELT_LOCATION("warmelt-first.melt:3093:/ getslot"); + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), 0, "ENV_BIND");/*_.BINDMAP__V14*/ curfptr[12] = slot; }; + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3094:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_MAPOBJECT__L6*/ curfnum[3] = + (melt_magic_discr((melt_ptr_t)(/*_.BINDMAP__V14*/ curfptr[12])) == OBMAG_MAPOBJECTS);; + MELT_LOCATION("warmelt-first.melt:3094:/ cond"); + /*cond*/ if (/*_#IS_MAPOBJECT__L6*/ curfnum[3]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V16*/ curfptr[15] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3094:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check bindmap"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3094)?(3094):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V15*/ curfptr[14] = /*_.IFELSE___V16*/ curfptr[15];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3094:/ clear"); + /*clear*/ /*_#IS_MAPOBJECT__L6*/ curfnum[3] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V15*/ curfptr[14] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3095:/ quasiblock"); + + + /*_.BND__V17*/ curfptr[15] = + melt_get_mapobjects((meltmapobjects_ptr_t)(/*_.BINDMAP__V14*/ curfptr[12]), (meltobject_ptr_t)(/*_.BINDER__V3*/ curfptr[2]));; + MELT_LOCATION("warmelt-first.melt:3097:/ cond"); + /*cond*/ if (/*_.BND__V17*/ curfptr[15]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3098:/ quasiblock"); + + + /*^compute*/ + /*_.FINDLOOP__V9*/ curfptr[8] = /*_.BND__V17*/ curfptr[15];; + + /*^exit*/ + /*exit*/{ + goto labexit_FINDLOOP_1;} + ; + /*epilog*/ + } + ; + } /*noelse*/ + ; + + MELT_LOCATION("warmelt-first.melt:3095:/ clear"); + /*clear*/ /*_.BND__V17*/ curfptr[15] = 0 ; + + MELT_LOCATION("warmelt-first.melt:3092:/ clear"); + /*clear*/ /*_.BINDMAP__V14*/ curfptr[12] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V15*/ curfptr[14] = 0 ; + MELT_LOCATION("warmelt-first.melt:3100:/ getslot"); + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), 1, "ENV_PREV");/*_.ENV_PREV__V18*/ curfptr[15] = slot; }; + ; + /*^compute*/ + /*_.ENV__V2*/ curfptr[1] = /*_.SETQ___V19*/ curfptr[12] = /*_.ENV_PREV__V18*/ curfptr[15];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3086:/ clear"); + /*clear*/ /*_#NULL__L3*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V10*/ curfptr[9] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V12*/ curfptr[10] = 0 ; + /*^clear*/ + /*clear*/ /*_.ENV_PREV__V18*/ curfptr[15] = 0 ; + /*^clear*/ + /*clear*/ /*_.SETQ___V19*/ curfptr[12] = 0 ;} + ; + ; + goto labloop_FINDLOOP_1; + labexit_FINDLOOP_1:;/*^loopepilog*/ + /*loopepilog*/ + /*_.FOREVER___V8*/ curfptr[6] = /*_.FINDLOOP__V9*/ curfptr[8];; + } + ; + MELT_LOCATION("warmelt-first.melt:3082:/ quasiblock"); + + + /*_.RETVAL___V1*/ curfptr[0] = /*_.FOREVER___V8*/ curfptr[6];; + MELT_LOCATION("warmelt-first.melt:3082:/ finalreturn"); + ; + /*finalret*/ goto labend_rout ; + /*epilog*/ + + /*^clear*/ + /*clear*/ /*_.IFCPP___V4*/ curfptr[3] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V6*/ curfptr[4] = 0 ; + /*^clear*/ + /*clear*/ /*_.FOREVER___V8*/ curfptr[6] = 0 ;} + +; + goto labend_rout; +labend_rout: +melt_trace_end("FIND_ENV", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; + return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); +#undef callcount +#undef CURFRAM_NBVARNUM +#undef CURFRAM_NBVARPTR +} /*end meltrout_56_warmelt_first_FIND_ENV*/ + + + + + +melt_ptr_t MELT_MODULE_VISIBILITY +meltrout_57_warmelt_first_FIND_ENV_DEBUG(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, + const char xresdescr_[], union meltparam_un *xrestab_) +{ +#if ENABLE_CHECKING + static long call_counter__; + long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; +#define callcount thiscallcounter__ +#else +#define callcount 0L +#endif + + struct frame_meltrout_57_warmelt_first_FIND_ENV_DEBUG_st { unsigned nbvar; +#if ENABLE_CHECKING + const char* flocs; +#endif + struct meltclosure_st *clos; + struct excepth_melt_st *exh; + struct callframe_melt_st *prev; +#define CURFRAM_NBVARPTR 29 + void* varptr[29]; +#define CURFRAM_NBVARNUM 11 + long varnum[11]; +/*others*/ + long _spare_; } + *framptr_=0, curfram__; + if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ + int ix=0; + framptr_ = (void*)firstargp_; + gt_ggc_mx_melt_un (framptr_->clos); + for(ix=0; ix<29; ix++) + if (framptr_->varptr[ix]) + gt_ggc_mx_melt_un (framptr_->varptr[ix]); + return NULL; + }/*end markggc*/; + memset(&curfram__, 0, sizeof(curfram__)); + curfram__.nbvar = 29; + curfram__.clos = closp_; + curfram__.prev = (struct callframe_melt_st *) melt_topframe; + melt_topframe = (struct callframe_melt_st *) &curfram__; +melt_trace_start("FIND_ENV_DEBUG", callcount); +/*getargs*/ + + /*getarg#0*/ + MELT_LOCATION("warmelt-first.melt:3105:/ getarg"); + /*_.ENV__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; + + /*getarg#1*/ + /*^getarg*/ + if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; + /*_.BINDER__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; + gcc_assert(melt_discr((melt_ptr_t)(/*_.BINDER__V3*/ curfptr[2])) != NULL); + + ; + goto lab_endgetargs; +lab_endgetargs:; +/*body*/ +/*^block*/ +/*anyblock*/{ + + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3106:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L1*/ curfnum[0] = + melt_is_instance_of((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[0])));; + MELT_LOCATION("warmelt-first.melt:3106:/ cond"); + /*cond*/ if (/*_#IS_A__L1*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V5*/ curfptr[4] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3106:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check arg env"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3106)?(3106):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V4*/ curfptr[3] = /*_.IFELSE___V5*/ curfptr[4];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3106:/ clear"); + /*clear*/ /*_#IS_A__L1*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V4*/ curfptr[3] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3107:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_OBJECT__L2*/ curfnum[0] = + (melt_magic_discr((melt_ptr_t)(/*_.BINDER__V3*/ curfptr[2])) == OBMAG_OBJECT);; + MELT_LOCATION("warmelt-first.melt:3107:/ cond"); + /*cond*/ if (/*_#IS_OBJECT__L2*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V7*/ curfptr[6] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3107:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check arg binder"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3107)?(3107):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V6*/ curfptr[4] = /*_.IFELSE___V7*/ curfptr[6];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3107:/ clear"); + /*clear*/ /*_#IS_OBJECT__L2*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V6*/ curfptr[4] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3108:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#THE_CALLCOUNT__L3*/ curfnum[0] = + callcount;; + MELT_LOCATION("warmelt-first.melt:3108:/ apply"); + /*apply*/{ + union meltparam_un argtab[4]; + memset(&argtab, 0, sizeof(argtab)); + /*^apply.arg*/ + argtab[0].bp_cstring = "find_env_debug initial env"; + /*^apply.arg*/ + argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[0]; + /*^apply.arg*/ + argtab[2].bp_cstring = "warmelt-first.melt"; + /*^apply.arg*/ + argtab[3].bp_long = 3108; + /*_.DEBUG_MSG_FUN__V9*/ curfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); + } + ; + /*_.IFCPP___V8*/ curfptr[6] = /*_.DEBUG_MSG_FUN__V9*/ curfptr[8];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3108:/ clear"); + /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.DEBUG_MSG_FUN__V9*/ curfptr[8] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V8*/ curfptr[6] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3109:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#THE_CALLCOUNT__L4*/ curfnum[0] = + callcount;; + MELT_LOCATION("warmelt-first.melt:3109:/ apply"); + /*apply*/{ + union meltparam_un argtab[4]; + memset(&argtab, 0, sizeof(argtab)); + /*^apply.arg*/ + argtab[0].bp_cstring = "find_env_debug binder"; + /*^apply.arg*/ + argtab[1].bp_long = /*_#THE_CALLCOUNT__L4*/ curfnum[0]; + /*^apply.arg*/ + argtab[2].bp_cstring = "warmelt-first.melt"; + /*^apply.arg*/ + argtab[3].bp_long = 3109; + /*_.DEBUG_MSG_FUN__V11*/ curfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.BINDER__V3*/ curfptr[2]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); + } + ; + /*_.IFCPP___V10*/ curfptr[8] = /*_.DEBUG_MSG_FUN__V11*/ curfptr[10];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3109:/ clear"); + /*clear*/ /*_#THE_CALLCOUNT__L4*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.DEBUG_MSG_FUN__V11*/ curfptr[10] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V10*/ curfptr[8] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3110:/ loop"); + /*loop*/{ labloop_FINDLOOP_2:;/*^loopbody*/ + + /*^block*/ + /*anyblock*/{ + + /*_#NULL__L5*/ curfnum[0] = + ((/*_.ENV__V2*/ curfptr[1]) == NULL);; + MELT_LOCATION("warmelt-first.melt:3112:/ cond"); + /*cond*/ if (/*_#NULL__L5*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3113:/ quasiblock"); + + + /*^compute*/ + /*_.FINDLOOP__V13*/ curfptr[12] = (/*nil*/NULL);; + + /*^exit*/ + /*exit*/{ + goto labexit_FINDLOOP_2;} + ; + /*epilog*/ + } + ; + } /*noelse*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3114:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#THE_CALLCOUNT__L6*/ curfnum[5] = + callcount;; + MELT_LOCATION("warmelt-first.melt:3114:/ apply"); + /*apply*/{ + union meltparam_un argtab[4]; + memset(&argtab, 0, sizeof(argtab)); + /*^apply.arg*/ + argtab[0].bp_cstring = "find_env_debug current env"; + /*^apply.arg*/ + argtab[1].bp_long = /*_#THE_CALLCOUNT__L6*/ curfnum[5]; + /*^apply.arg*/ + argtab[2].bp_cstring = "warmelt-first.melt"; + /*^apply.arg*/ + argtab[3].bp_long = 3114; + /*_.DEBUG_MSG_FUN__V15*/ curfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); + } + ; + /*_.IFCPP___V14*/ curfptr[13] = /*_.DEBUG_MSG_FUN__V15*/ curfptr[14];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3114:/ clear"); + /*clear*/ /*_#THE_CALLCOUNT__L6*/ curfnum[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.DEBUG_MSG_FUN__V15*/ curfptr[14] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V14*/ curfptr[13] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3115:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_OBJECT__L7*/ curfnum[5] = + (melt_magic_discr((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1])) == OBMAG_OBJECT);; + MELT_LOCATION("warmelt-first.melt:3115:/ cond"); + /*cond*/ if (/*_#IS_OBJECT__L7*/ curfnum[5]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V17*/ curfptr[16] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3115:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check env obj"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3115)?(3115):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V17*/ curfptr[16] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V16*/ curfptr[14] = /*_.IFELSE___V17*/ curfptr[16];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3115:/ clear"); + /*clear*/ /*_#IS_OBJECT__L7*/ curfnum[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V17*/ curfptr[16] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V16*/ curfptr[14] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3116:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L8*/ curfnum[5] = + melt_is_instance_of((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[0])));; + MELT_LOCATION("warmelt-first.melt:3116:/ cond"); + /*cond*/ if (/*_#IS_A__L8*/ curfnum[5]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V19*/ curfptr[18] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3116:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check good env"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3116)?(3116):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V19*/ curfptr[18] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V18*/ curfptr[16] = /*_.IFELSE___V19*/ curfptr[18];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3116:/ clear"); + /*clear*/ /*_#IS_A__L8*/ curfnum[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V19*/ curfptr[18] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V18*/ curfptr[16] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3117:/ quasiblock"); + + + MELT_LOCATION("warmelt-first.melt:3118:/ getslot"); + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), 0, "ENV_BIND");/*_.BINDMAP__V20*/ curfptr[18] = slot; }; + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3119:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_MAPOBJECT__L9*/ curfnum[5] = + (melt_magic_discr((melt_ptr_t)(/*_.BINDMAP__V20*/ curfptr[18])) == OBMAG_MAPOBJECTS);; + MELT_LOCATION("warmelt-first.melt:3119:/ cond"); + /*cond*/ if (/*_#IS_MAPOBJECT__L9*/ curfnum[5]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V22*/ curfptr[21] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3119:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check bindmap"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3119)?(3119):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V22*/ curfptr[21] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V21*/ curfptr[20] = /*_.IFELSE___V22*/ curfptr[21];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3119:/ clear"); + /*clear*/ /*_#IS_MAPOBJECT__L9*/ curfnum[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V22*/ curfptr[21] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V21*/ curfptr[20] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3120:/ quasiblock"); + + + /*_.BND__V23*/ curfptr[21] = + melt_get_mapobjects((meltmapobjects_ptr_t)(/*_.BINDMAP__V20*/ curfptr[18]), (meltobject_ptr_t)(/*_.BINDER__V3*/ curfptr[2]));; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3122:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#THE_CALLCOUNT__L10*/ curfnum[5] = + callcount;; + MELT_LOCATION("warmelt-first.melt:3122:/ apply"); + /*apply*/{ + union meltparam_un argtab[4]; + memset(&argtab, 0, sizeof(argtab)); + /*^apply.arg*/ + argtab[0].bp_cstring = "find_env_debug current bnd"; + /*^apply.arg*/ + argtab[1].bp_long = /*_#THE_CALLCOUNT__L10*/ curfnum[5]; + /*^apply.arg*/ + argtab[2].bp_cstring = "warmelt-first.melt"; + /*^apply.arg*/ + argtab[3].bp_long = 3122; + /*_.DEBUG_MSG_FUN__V25*/ curfptr[24] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.BND__V23*/ curfptr[21]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); + } + ; + /*_.IFCPP___V24*/ curfptr[23] = /*_.DEBUG_MSG_FUN__V25*/ curfptr[24];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3122:/ clear"); + /*clear*/ /*_#THE_CALLCOUNT__L10*/ curfnum[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.DEBUG_MSG_FUN__V25*/ curfptr[24] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V24*/ curfptr[23] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3123:/ cond"); + /*cond*/ if (/*_.BND__V23*/ curfptr[21]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3124:/ quasiblock"); + + + /*^compute*/ + /*_.FINDLOOP__V13*/ curfptr[12] = /*_.BND__V23*/ curfptr[21];; + + /*^exit*/ + /*exit*/{ + goto labexit_FINDLOOP_2;} + ; + /*epilog*/ + } + ; + } /*noelse*/ + ; + + MELT_LOCATION("warmelt-first.melt:3120:/ clear"); + /*clear*/ /*_.BND__V23*/ curfptr[21] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V24*/ curfptr[23] = 0 ; + + MELT_LOCATION("warmelt-first.melt:3117:/ clear"); + /*clear*/ /*_.BINDMAP__V20*/ curfptr[18] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V21*/ curfptr[20] = 0 ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3126:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#THE_CALLCOUNT__L11*/ curfnum[5] = + callcount;; + MELT_LOCATION("warmelt-first.melt:3126:/ apply"); + /*apply*/{ + union meltparam_un argtab[4]; + memset(&argtab, 0, sizeof(argtab)); + /*^apply.arg*/ + argtab[0].bp_cstring = "find_env_debug at end of loop binder"; + /*^apply.arg*/ + argtab[1].bp_long = /*_#THE_CALLCOUNT__L11*/ curfnum[5]; + /*^apply.arg*/ + argtab[2].bp_cstring = "warmelt-first.melt"; + /*^apply.arg*/ + argtab[3].bp_long = 3126; + /*_.DEBUG_MSG_FUN__V27*/ curfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.BINDER__V3*/ curfptr[2]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); + } + ; + /*_.IFCPP___V26*/ curfptr[24] = /*_.DEBUG_MSG_FUN__V27*/ curfptr[21];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3126:/ clear"); + /*clear*/ /*_#THE_CALLCOUNT__L11*/ curfnum[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.DEBUG_MSG_FUN__V27*/ curfptr[21] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V26*/ curfptr[24] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3127:/ getslot"); + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), 1, "ENV_PREV");/*_.ENV_PREV__V28*/ curfptr[23] = slot; }; + ; + /*^compute*/ + /*_.ENV__V2*/ curfptr[1] = /*_.SETQ___V29*/ curfptr[18] = /*_.ENV_PREV__V28*/ curfptr[23];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3110:/ clear"); + /*clear*/ /*_#NULL__L5*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V14*/ curfptr[13] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V16*/ curfptr[14] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V18*/ curfptr[16] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V26*/ curfptr[24] = 0 ; + /*^clear*/ + /*clear*/ /*_.ENV_PREV__V28*/ curfptr[23] = 0 ; + /*^clear*/ + /*clear*/ /*_.SETQ___V29*/ curfptr[18] = 0 ;} + ; + ; + goto labloop_FINDLOOP_2; + labexit_FINDLOOP_2:;/*^loopepilog*/ + /*loopepilog*/ + /*_.FOREVER___V12*/ curfptr[10] = /*_.FINDLOOP__V13*/ curfptr[12];; + } + ; + MELT_LOCATION("warmelt-first.melt:3105:/ quasiblock"); + + + /*_.RETVAL___V1*/ curfptr[0] = /*_.FOREVER___V12*/ curfptr[10];; + MELT_LOCATION("warmelt-first.melt:3105:/ finalreturn"); + ; + /*finalret*/ goto labend_rout ; + /*epilog*/ + + /*^clear*/ + /*clear*/ /*_.IFCPP___V4*/ curfptr[3] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V6*/ curfptr[4] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V8*/ curfptr[6] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V10*/ curfptr[8] = 0 ; + /*^clear*/ + /*clear*/ /*_.FOREVER___V12*/ curfptr[10] = 0 ;} + +; + goto labend_rout; +labend_rout: +melt_trace_end("FIND_ENV_DEBUG", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; + return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); +#undef callcount +#undef CURFRAM_NBVARNUM +#undef CURFRAM_NBVARPTR +} /*end meltrout_57_warmelt_first_FIND_ENV_DEBUG*/ + + + + + +melt_ptr_t MELT_MODULE_VISIBILITY +meltrout_58_warmelt_first_FIND_ENCLOSING_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, + const char xresdescr_[], union meltparam_un *xrestab_) +{ +#if ENABLE_CHECKING + static long call_counter__; + long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; +#define callcount thiscallcounter__ +#else +#define callcount 0L +#endif + + struct frame_meltrout_58_warmelt_first_FIND_ENCLOSING_ENV_st { unsigned nbvar; +#if ENABLE_CHECKING + const char* flocs; +#endif + struct meltclosure_st *clos; + struct excepth_melt_st *exh; + struct callframe_melt_st *prev; +#define CURFRAM_NBVARPTR 22 + void* varptr[22]; +#define CURFRAM_NBVARNUM 4 + long varnum[4]; +/*others*/ + long _spare_; } + *framptr_=0, curfram__; + if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ + int ix=0; + framptr_ = (void*)firstargp_; + gt_ggc_mx_melt_un (framptr_->clos); + for(ix=0; ix<22; ix++) + if (framptr_->varptr[ix]) + gt_ggc_mx_melt_un (framptr_->varptr[ix]); + return NULL; + }/*end markggc*/; + memset(&curfram__, 0, sizeof(curfram__)); + curfram__.nbvar = 22; + curfram__.clos = closp_; + curfram__.prev = (struct callframe_melt_st *) melt_topframe; + melt_topframe = (struct callframe_melt_st *) &curfram__; +melt_trace_start("FIND_ENCLOSING_ENV", callcount); +/*getargs*/ + + /*getarg#0*/ + MELT_LOCATION("warmelt-first.melt:3132:/ getarg"); + /*_.ENV__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; + + /*getarg#1*/ + /*^getarg*/ + if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; + /*_.BINDER__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; + gcc_assert(melt_discr((melt_ptr_t)(/*_.BINDER__V3*/ curfptr[2])) != NULL); + + ; + goto lab_endgetargs; +lab_endgetargs:; +/*body*/ +/*^block*/ +/*anyblock*/{ + + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3135:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L1*/ curfnum[0] = + melt_is_instance_of((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[0])));; + MELT_LOCATION("warmelt-first.melt:3135:/ cond"); + /*cond*/ if (/*_#IS_A__L1*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V5*/ curfptr[4] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3135:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check env"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3135)?(3135):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V4*/ curfptr[3] = /*_.IFELSE___V5*/ curfptr[4];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3135:/ clear"); + /*clear*/ /*_#IS_A__L1*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V4*/ curfptr[3] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3136:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_OBJECT__L2*/ curfnum[0] = + (melt_magic_discr((melt_ptr_t)(/*_.BINDER__V3*/ curfptr[2])) == OBMAG_OBJECT);; + MELT_LOCATION("warmelt-first.melt:3136:/ cond"); + /*cond*/ if (/*_#IS_OBJECT__L2*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V7*/ curfptr[6] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3136:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check binder"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3136)?(3136):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V6*/ curfptr[4] = /*_.IFELSE___V7*/ curfptr[6];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3136:/ clear"); + /*clear*/ /*_#IS_OBJECT__L2*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V6*/ curfptr[4] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3137:/ quasiblock"); + + + /*_.PROCLIST__V9*/ curfptr[8] = + (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[1]))));; + MELT_LOCATION("warmelt-first.melt:3138:/ loop"); + /*loop*/{ labloop_FINDLOOP_3:;/*^loopbody*/ + + /*^block*/ + /*anyblock*/{ + + /*_#IS_NOT_A__L3*/ curfnum[0] = + !melt_is_instance_of((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[0])));; + MELT_LOCATION("warmelt-first.melt:3139:/ cond"); + /*cond*/ if (/*_#IS_NOT_A__L3*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + /*^quasiblock*/ + + + /*^compute*/ + /*_.FINDLOOP__V11*/ curfptr[10] = NULL;; + + /*^exit*/ + /*exit*/{ + goto labexit_FINDLOOP_3;} + ; + /*epilog*/ + } + ; + } /*noelse*/ + ; + MELT_LOCATION("warmelt-first.melt:3140:/ quasiblock"); + + + /*^getslot*/ + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), 0, "ENV_BIND");/*_.BINDMAP__V13*/ curfptr[12] = slot; }; + ; + MELT_LOCATION("warmelt-first.melt:3141:/ getslot"); + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), 2, "ENV_PROC");/*_.EPROC__V14*/ curfptr[13] = slot; }; + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3143:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_MAPOBJECT__L4*/ curfnum[3] = + (melt_magic_discr((melt_ptr_t)(/*_.BINDMAP__V13*/ curfptr[12])) == OBMAG_MAPOBJECTS);; + MELT_LOCATION("warmelt-first.melt:3143:/ cond"); + /*cond*/ if (/*_#IS_MAPOBJECT__L4*/ curfnum[3]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V16*/ curfptr[15] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3143:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check bindmap"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3143)?(3143):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V15*/ curfptr[14] = /*_.IFELSE___V16*/ curfptr[15];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3143:/ clear"); + /*clear*/ /*_#IS_MAPOBJECT__L4*/ curfnum[3] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V15*/ curfptr[14] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3144:/ quasiblock"); + + + /*_.BND__V18*/ curfptr[17] = + melt_get_mapobjects((meltmapobjects_ptr_t)(/*_.BINDMAP__V13*/ curfptr[12]), (meltobject_ptr_t)(/*_.BINDER__V3*/ curfptr[2]));; + MELT_LOCATION("warmelt-first.melt:3145:/ cond"); + /*cond*/ if (/*_.BND__V18*/ curfptr[17]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + /*^quasiblock*/ + + + /*_.RETVAL___V1*/ curfptr[0] = /*_.BND__V18*/ curfptr[17];; + MELT_LOCATION("warmelt-first.melt:3145:/ putxtraresult"); + if (!xrestab_ || !xresdescr_) goto labend_rout; + if (xresdescr_[0] != BPAR_PTR) goto labend_rout; + if (xrestab_[0].bp_aptr) *(xrestab_[0].bp_aptr) = (melt_ptr_t) (/*_.PROCLIST__V9*/ curfptr[8]); + ; + /*^finalreturn*/ + ; + /*finalret*/ goto labend_rout ; + /*_.IF___V19*/ curfptr[18] = /*_.RETURN___V20*/ curfptr[19];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3145:/ clear"); + /*clear*/ /*_.RETURN___V20*/ curfptr[19] = 0 ;} + ; + } else {/*^cond.else*/ + + /*_.IF___V19*/ curfptr[18] = NULL;; + } + ; + /*^compute*/ + + /*_.LET___V17*/ curfptr[15] = /*_.IF___V19*/ curfptr[18];; + + MELT_LOCATION("warmelt-first.melt:3144:/ clear"); + /*clear*/ /*_.BND__V18*/ curfptr[17] = 0 ; + /*^clear*/ + /*clear*/ /*_.IF___V19*/ curfptr[18] = 0 ; + MELT_LOCATION("warmelt-first.melt:3146:/ cond"); + /*cond*/ if (/*_.EPROC__V14*/ curfptr[13]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + + { + /*^locexp*/ + meltgc_prepend_list((melt_ptr_t)(/*_.PROCLIST__V9*/ curfptr[8]), (melt_ptr_t)(/*_.EPROC__V14*/ curfptr[13]));} + ; + /*epilog*/ + } + ; + } /*noelse*/ + ; + MELT_LOCATION("warmelt-first.melt:3147:/ getslot"); + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), 1, "ENV_PREV");/*_.ENV_PREV__V21*/ curfptr[19] = slot; }; + ; + /*^compute*/ + /*_.ENV__V2*/ curfptr[1] = /*_.SETQ___V22*/ curfptr[17] = /*_.ENV_PREV__V21*/ curfptr[19];; + /*_.LET___V12*/ curfptr[11] = /*_.SETQ___V22*/ curfptr[17];; + + MELT_LOCATION("warmelt-first.melt:3140:/ clear"); + /*clear*/ /*_.BINDMAP__V13*/ curfptr[12] = 0 ; + /*^clear*/ + /*clear*/ /*_.EPROC__V14*/ curfptr[13] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V15*/ curfptr[14] = 0 ; + /*^clear*/ + /*clear*/ /*_.LET___V17*/ curfptr[15] = 0 ; + /*^clear*/ + /*clear*/ /*_.ENV_PREV__V21*/ curfptr[19] = 0 ; + /*^clear*/ + /*clear*/ /*_.SETQ___V22*/ curfptr[17] = 0 ; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3138:/ clear"); + /*clear*/ /*_#IS_NOT_A__L3*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.LET___V12*/ curfptr[11] = 0 ;} + ; + ; + goto labloop_FINDLOOP_3; + labexit_FINDLOOP_3:;/*^loopepilog*/ + /*loopepilog*/ + /*_.FOREVER___V10*/ curfptr[9] = /*_.FINDLOOP__V11*/ curfptr[10];; + } + ; + /*^compute*/ + + /*_.LET___V8*/ curfptr[6] = /*_.FOREVER___V10*/ curfptr[9];; + + MELT_LOCATION("warmelt-first.melt:3137:/ clear"); + /*clear*/ /*_.PROCLIST__V9*/ curfptr[8] = 0 ; + /*^clear*/ + /*clear*/ /*_.FOREVER___V10*/ curfptr[9] = 0 ; + MELT_LOCATION("warmelt-first.melt:3132:/ quasiblock"); + + + /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V8*/ curfptr[6];; + MELT_LOCATION("warmelt-first.melt:3132:/ finalreturn"); + ; + /*finalret*/ goto labend_rout ; + /*epilog*/ + + /*^clear*/ + /*clear*/ /*_.IFCPP___V4*/ curfptr[3] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V6*/ curfptr[4] = 0 ; + /*^clear*/ + /*clear*/ /*_.LET___V8*/ curfptr[6] = 0 ;} + +; + goto labend_rout; +labend_rout: +melt_trace_end("FIND_ENCLOSING_ENV", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; + return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); +#undef callcount +#undef CURFRAM_NBVARNUM +#undef CURFRAM_NBVARPTR +} /*end meltrout_58_warmelt_first_FIND_ENCLOSING_ENV*/ + + + + + +melt_ptr_t MELT_MODULE_VISIBILITY +meltrout_59_warmelt_first_PUT_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, + const char xresdescr_[], union meltparam_un *xrestab_) +{ +#if ENABLE_CHECKING + static long call_counter__; + long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; +#define callcount thiscallcounter__ +#else +#define callcount 0L +#endif + + struct frame_meltrout_59_warmelt_first_PUT_ENV_st { unsigned nbvar; +#if ENABLE_CHECKING + const char* flocs; +#endif + struct meltclosure_st *clos; + struct excepth_melt_st *exh; + struct callframe_melt_st *prev; +#define CURFRAM_NBVARPTR 23 + void* varptr[23]; +#define CURFRAM_NBVARNUM 13 + long varnum[13]; +/*others*/ + long _spare_; } + *framptr_=0, curfram__; + if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ + int ix=0; + framptr_ = (void*)firstargp_; + gt_ggc_mx_melt_un (framptr_->clos); + for(ix=0; ix<23; ix++) + if (framptr_->varptr[ix]) + gt_ggc_mx_melt_un (framptr_->varptr[ix]); + return NULL; + }/*end markggc*/; + memset(&curfram__, 0, sizeof(curfram__)); + curfram__.nbvar = 23; + curfram__.clos = closp_; + curfram__.prev = (struct callframe_melt_st *) melt_topframe; + melt_topframe = (struct callframe_melt_st *) &curfram__; +melt_trace_start("PUT_ENV", callcount); +/*getargs*/ + + /*getarg#0*/ + MELT_LOCATION("warmelt-first.melt:3151:/ getarg"); + /*_.ENV__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; + + /*getarg#1*/ + /*^getarg*/ + if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; + /*_.BINDING__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; + gcc_assert(melt_discr((melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2])) != NULL); + + ; + goto lab_endgetargs; +lab_endgetargs:; +/*body*/ +/*^block*/ +/*anyblock*/{ + + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3154:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_OBJECT__L1*/ curfnum[0] = + (melt_magic_discr((melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2])) == OBMAG_OBJECT);; + MELT_LOCATION("warmelt-first.melt:3154:/ cond"); + /*cond*/ if (/*_#IS_OBJECT__L1*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V5*/ curfptr[4] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3154:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check binding is obj"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3154)?(3154):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V4*/ curfptr[3] = /*_.IFELSE___V5*/ curfptr[4];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3154:/ clear"); + /*clear*/ /*_#IS_OBJECT__L1*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V4*/ curfptr[3] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3155:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_OBJECT__L2*/ curfnum[0] = + (melt_magic_discr((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1])) == OBMAG_OBJECT);; + MELT_LOCATION("warmelt-first.melt:3155:/ cond"); + /*cond*/ if (/*_#IS_OBJECT__L2*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V7*/ curfptr[6] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3155:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check env is obj"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3155)?(3155):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V6*/ curfptr[4] = /*_.IFELSE___V7*/ curfptr[6];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3155:/ clear"); + /*clear*/ /*_#IS_OBJECT__L2*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V6*/ curfptr[4] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3156:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L3*/ curfnum[0] = + melt_is_instance_of((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[0])));; + MELT_LOCATION("warmelt-first.melt:3156:/ cond"); + /*cond*/ if (/*_#IS_A__L3*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V9*/ curfptr[8] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3156:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check env"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3156)?(3156):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V8*/ curfptr[6] = /*_.IFELSE___V9*/ curfptr[8];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3156:/ clear"); + /*clear*/ /*_#IS_A__L3*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V8*/ curfptr[6] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + /*^compute*/ + + /*_#IS_A__L4*/ curfnum[0] = + melt_is_instance_of((melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2]), (melt_ptr_t)((/*!CLASS_ANY_BINDING*/ curfrout->tabval[1])));; + /*^compute*/ + + /*_#NOT__L5*/ curfnum[4] = + (!(/*_#IS_A__L4*/ curfnum[0]));; + MELT_LOCATION("warmelt-first.melt:3157:/ cond"); + /*cond*/ if (/*_#NOT__L5*/ curfnum[4]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3159:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#THE_CALLCOUNT__L6*/ curfnum[5] = + callcount;; + MELT_LOCATION("warmelt-first.melt:3159:/ apply"); + /*apply*/{ + union meltparam_un argtab[4]; + memset(&argtab, 0, sizeof(argtab)); + /*^apply.arg*/ + argtab[0].bp_cstring = "put_env invalid binding"; + /*^apply.arg*/ + argtab[1].bp_long = /*_#THE_CALLCOUNT__L6*/ curfnum[5]; + /*^apply.arg*/ + argtab[2].bp_cstring = "warmelt-first.melt"; + /*^apply.arg*/ + argtab[3].bp_long = 3159; + /*_.DEBUG_MSG_FUN__V11*/ curfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); + } + ; + /*_.IFCPP___V10*/ curfptr[8] = /*_.DEBUG_MSG_FUN__V11*/ curfptr[10];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3159:/ clear"); + /*clear*/ /*_#THE_CALLCOUNT__L6*/ curfnum[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.DEBUG_MSG_FUN__V11*/ curfptr[10] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V10*/ curfptr[8] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + { + MELT_LOCATION("warmelt-first.melt:3160:/ locexp"); + +#if ENABLE_CHECKING + if (flag_melt_debug) + melt_dbgshortbacktrace(( "put_env invalid binding"), (15)); +#endif +;} + ; + MELT_LOCATION("warmelt-first.melt:3158:/ quasiblock"); + + + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3157:/ clear"); + /*clear*/ /*_.IFCPP___V10*/ curfptr[8] = 0 ;} + ; + } /*noelse*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3161:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L7*/ curfnum[5] = + melt_is_instance_of((melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2]), (melt_ptr_t)((/*!CLASS_ANY_BINDING*/ curfrout->tabval[1])));; + MELT_LOCATION("warmelt-first.melt:3161:/ cond"); + /*cond*/ if (/*_#IS_A__L7*/ curfnum[5]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V13*/ curfptr[8] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3161:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check binding"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3161)?(3161):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V13*/ curfptr[8] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V12*/ curfptr[10] = /*_.IFELSE___V13*/ curfptr[8];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3161:/ clear"); + /*clear*/ /*_#IS_A__L7*/ curfnum[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V13*/ curfptr[8] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V12*/ curfptr[10] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3162:/ quasiblock"); + + + /*^getslot*/ + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), 0, "ENV_BIND");/*_.BINDMAP__V14*/ curfptr[8] = slot; }; + ; + MELT_LOCATION("warmelt-first.melt:3163:/ getslot"); + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2]), 0, "BINDER");/*_.BINDERV__V15*/ curfptr[14] = slot; }; + ; + /*_#IS_OBJECT__L8*/ curfnum[5] = + (melt_magic_discr((melt_ptr_t)((/*!BINDER*/ curfrout->tabval[3]))) == OBMAG_OBJECT);; + /*^compute*/ + + /*_#NOT__L9*/ curfnum[8] = + (!(/*_#IS_OBJECT__L8*/ curfnum[5]));; + MELT_LOCATION("warmelt-first.melt:3165:/ cond"); + /*cond*/ if (/*_#NOT__L9*/ curfnum[8]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3167:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#THE_CALLCOUNT__L10*/ curfnum[9] = + callcount;; + MELT_LOCATION("warmelt-first.melt:3167:/ apply"); + /*apply*/{ + union meltparam_un argtab[4]; + memset(&argtab, 0, sizeof(argtab)); + /*^apply.arg*/ + argtab[0].bp_cstring = "put_env bad binder in binding"; + /*^apply.arg*/ + argtab[1].bp_long = /*_#THE_CALLCOUNT__L10*/ curfnum[9]; + /*^apply.arg*/ + argtab[2].bp_cstring = "warmelt-first.melt"; + /*^apply.arg*/ + argtab[3].bp_long = 3167; + /*_.DEBUG_MSG_FUN__V17*/ curfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); + } + ; + /*_.IFCPP___V16*/ curfptr[15] = /*_.DEBUG_MSG_FUN__V17*/ curfptr[16];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3167:/ clear"); + /*clear*/ /*_#THE_CALLCOUNT__L10*/ curfnum[9] = 0 ; + /*^clear*/ + /*clear*/ /*_.DEBUG_MSG_FUN__V17*/ curfptr[16] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V16*/ curfptr[15] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3168:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#THE_CALLCOUNT__L11*/ curfnum[9] = + callcount;; + MELT_LOCATION("warmelt-first.melt:3168:/ apply"); + /*apply*/{ + union meltparam_un argtab[4]; + memset(&argtab, 0, sizeof(argtab)); + /*^apply.arg*/ + argtab[0].bp_cstring = "put_env bad binderv"; + /*^apply.arg*/ + argtab[1].bp_long = /*_#THE_CALLCOUNT__L11*/ curfnum[9]; + /*^apply.arg*/ + argtab[2].bp_cstring = "warmelt-first.melt"; + /*^apply.arg*/ + argtab[3].bp_long = 3168; + /*_.DEBUG_MSG_FUN__V19*/ curfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.BINDERV__V15*/ curfptr[14]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); + } + ; + /*_.IFCPP___V18*/ curfptr[16] = /*_.DEBUG_MSG_FUN__V19*/ curfptr[18];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3168:/ clear"); + /*clear*/ /*_#THE_CALLCOUNT__L11*/ curfnum[9] = 0 ; + /*^clear*/ + /*clear*/ /*_.DEBUG_MSG_FUN__V19*/ curfptr[18] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V18*/ curfptr[16] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + { + MELT_LOCATION("warmelt-first.melt:3169:/ locexp"); + +#if ENABLE_CHECKING + if (flag_melt_debug) + melt_dbgshortbacktrace(( "put_env bad binder in binding"), (5)); +#endif +;} + ; + MELT_LOCATION("warmelt-first.melt:3166:/ quasiblock"); + + + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3165:/ clear"); + /*clear*/ /*_.IFCPP___V16*/ curfptr[15] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V18*/ curfptr[16] = 0 ;} + ; + } /*noelse*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3170:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_MAPOBJECT__L12*/ curfnum[9] = + (melt_magic_discr((melt_ptr_t)(/*_.BINDMAP__V14*/ curfptr[8])) == OBMAG_MAPOBJECTS);; + MELT_LOCATION("warmelt-first.melt:3170:/ cond"); + /*cond*/ if (/*_#IS_MAPOBJECT__L12*/ curfnum[9]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V21*/ curfptr[15] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3170:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check bindmap"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3170)?(3170):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V21*/ curfptr[15] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V20*/ curfptr[18] = /*_.IFELSE___V21*/ curfptr[15];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3170:/ clear"); + /*clear*/ /*_#IS_MAPOBJECT__L12*/ curfnum[9] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V21*/ curfptr[15] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V20*/ curfptr[18] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3171:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_OBJECT__L13*/ curfnum[9] = + (melt_magic_discr((melt_ptr_t)(/*_.BINDERV__V15*/ curfptr[14])) == OBMAG_OBJECT);; + MELT_LOCATION("warmelt-first.melt:3171:/ cond"); + /*cond*/ if (/*_#IS_OBJECT__L13*/ curfnum[9]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V23*/ curfptr[15] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3171:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check binderv"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3171)?(3171):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V23*/ curfptr[15] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V22*/ curfptr[16] = /*_.IFELSE___V23*/ curfptr[15];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3171:/ clear"); + /*clear*/ /*_#IS_OBJECT__L13*/ curfnum[9] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V23*/ curfptr[15] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V22*/ curfptr[16] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + { + MELT_LOCATION("warmelt-first.melt:3172:/ locexp"); + meltgc_put_mapobjects( (meltmapobjects_ptr_t) (/*_.BINDMAP__V14*/ curfptr[8]), + (meltobject_ptr_t) (/*_.BINDERV__V15*/ curfptr[14]), + (melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2]));} + ; + + MELT_LOCATION("warmelt-first.melt:3162:/ clear"); + /*clear*/ /*_.BINDMAP__V14*/ curfptr[8] = 0 ; + /*^clear*/ + /*clear*/ /*_.BINDERV__V15*/ curfptr[14] = 0 ; + /*^clear*/ + /*clear*/ /*_#IS_OBJECT__L8*/ curfnum[5] = 0 ; + /*^clear*/ + /*clear*/ /*_#NOT__L9*/ curfnum[8] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V20*/ curfptr[18] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V22*/ curfptr[16] = 0 ; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3151:/ clear"); + /*clear*/ /*_.IFCPP___V4*/ curfptr[3] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V6*/ curfptr[4] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V8*/ curfptr[6] = 0 ; + /*^clear*/ + /*clear*/ /*_#IS_A__L4*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_#NOT__L5*/ curfnum[4] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V12*/ curfptr[10] = 0 ;} + +; + goto labend_rout; +labend_rout: +melt_trace_end("PUT_ENV", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; + return (melt_ptr_t)(/*noretval*/ NULL); +#undef callcount +#undef CURFRAM_NBVARNUM +#undef CURFRAM_NBVARPTR +} /*end meltrout_59_warmelt_first_PUT_ENV*/ + + + + + +melt_ptr_t MELT_MODULE_VISIBILITY +meltrout_60_warmelt_first_OVERWRITE_ENV(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, + const char xresdescr_[], union meltparam_un *xrestab_) +{ +#if ENABLE_CHECKING + static long call_counter__; + long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; +#define callcount thiscallcounter__ +#else +#define callcount 0L +#endif + + struct frame_meltrout_60_warmelt_first_OVERWRITE_ENV_st { unsigned nbvar; +#if ENABLE_CHECKING + const char* flocs; +#endif + struct meltclosure_st *clos; + struct excepth_melt_st *exh; + struct callframe_melt_st *prev; +#define CURFRAM_NBVARPTR 20 + void* varptr[20]; +#define CURFRAM_NBVARNUM 6 + long varnum[6]; +/*others*/ + long _spare_; } + *framptr_=0, curfram__; + if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ + int ix=0; + framptr_ = (void*)firstargp_; + gt_ggc_mx_melt_un (framptr_->clos); + for(ix=0; ix<20; ix++) + if (framptr_->varptr[ix]) + gt_ggc_mx_melt_un (framptr_->varptr[ix]); + return NULL; + }/*end markggc*/; + memset(&curfram__, 0, sizeof(curfram__)); + curfram__.nbvar = 20; + curfram__.clos = closp_; + curfram__.prev = (struct callframe_melt_st *) melt_topframe; + melt_topframe = (struct callframe_melt_st *) &curfram__; +melt_trace_start("OVERWRITE_ENV", callcount); +/*getargs*/ + + /*getarg#0*/ + MELT_LOCATION("warmelt-first.melt:3176:/ getarg"); + /*_.ENV__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; + + /*getarg#1*/ + /*^getarg*/ + if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; + /*_.BINDING__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; + gcc_assert(melt_discr((melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2])) != NULL); + + ; + goto lab_endgetargs; +lab_endgetargs:; +/*body*/ +/*^block*/ +/*anyblock*/{ + + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3180:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L1*/ curfnum[0] = + melt_is_instance_of((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[0])));; + MELT_LOCATION("warmelt-first.melt:3180:/ cond"); + /*cond*/ if (/*_#IS_A__L1*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V5*/ curfptr[4] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3180:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check env"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3180)?(3180):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V4*/ curfptr[3] = /*_.IFELSE___V5*/ curfptr[4];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3180:/ clear"); + /*clear*/ /*_#IS_A__L1*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V4*/ curfptr[3] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3181:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L2*/ curfnum[0] = + melt_is_instance_of((melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2]), (melt_ptr_t)((/*!CLASS_ANY_BINDING*/ curfrout->tabval[1])));; + MELT_LOCATION("warmelt-first.melt:3181:/ cond"); + /*cond*/ if (/*_#IS_A__L2*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V7*/ curfptr[6] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3181:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check binding"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3181)?(3181):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V6*/ curfptr[4] = /*_.IFELSE___V7*/ curfptr[6];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3181:/ clear"); + /*clear*/ /*_#IS_A__L2*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V6*/ curfptr[4] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3182:/ quasiblock"); + + + /*^getslot*/ + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2]), 0, "BINDER");/*_.BINDERV__V9*/ curfptr[8] = slot; }; + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3183:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_OBJECT__L3*/ curfnum[0] = + (melt_magic_discr((melt_ptr_t)(/*_.BINDERV__V9*/ curfptr[8])) == OBMAG_OBJECT);; + MELT_LOCATION("warmelt-first.melt:3183:/ cond"); + /*cond*/ if (/*_#IS_OBJECT__L3*/ curfnum[0]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V11*/ curfptr[10] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3183:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check binderv"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3183)?(3183):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V11*/ curfptr[10] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V10*/ curfptr[9] = /*_.IFELSE___V11*/ curfptr[10];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3183:/ clear"); + /*clear*/ /*_#IS_OBJECT__L3*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V11*/ curfptr[10] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V10*/ curfptr[9] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3184:/ loop"); + /*loop*/{ labloop_FINDLOOP_4:;/*^loopbody*/ + + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L4*/ curfnum[0] = + melt_is_instance_of((melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[0])));; + /*^compute*/ + + /*_#NOT__L5*/ curfnum[4] = + (!(/*_#IS_A__L4*/ curfnum[0]));; + MELT_LOCATION("warmelt-first.melt:3185:/ cond"); + /*cond*/ if (/*_#NOT__L5*/ curfnum[4]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + /*^quasiblock*/ + + + /*^compute*/ + /*_.FINDLOOP__V13*/ curfptr[12] = NULL;; + + /*^exit*/ + /*exit*/{ + goto labexit_FINDLOOP_4;} + ; + /*epilog*/ + } + ; + } /*noelse*/ + ; + MELT_LOCATION("warmelt-first.melt:3186:/ quasiblock"); + + + /*^getslot*/ + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), 0, "ENV_BIND");/*_.BINDMAP__V15*/ curfptr[14] = slot; }; + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3187:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_MAPOBJECT__L6*/ curfnum[5] = + (melt_magic_discr((melt_ptr_t)(/*_.BINDMAP__V15*/ curfptr[14])) == OBMAG_MAPOBJECTS);; + MELT_LOCATION("warmelt-first.melt:3187:/ cond"); + /*cond*/ if (/*_#IS_MAPOBJECT__L6*/ curfnum[5]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V17*/ curfptr[16] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3187:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check bindmap"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3187)?(3187):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V17*/ curfptr[16] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V16*/ curfptr[15] = /*_.IFELSE___V17*/ curfptr[16];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3187:/ clear"); + /*clear*/ /*_#IS_MAPOBJECT__L6*/ curfnum[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V17*/ curfptr[16] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V16*/ curfptr[15] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3188:/ quasiblock"); + + + /*_.OLDBINDING__V18*/ curfptr[16] = + melt_get_mapobjects((meltmapobjects_ptr_t)(/*_.BINDMAP__V15*/ curfptr[14]), (meltobject_ptr_t)((/*!BINDER*/ curfrout->tabval[2])));; + MELT_LOCATION("warmelt-first.melt:3189:/ cond"); + /*cond*/ if (/*_.OLDBINDING__V18*/ curfptr[16]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + + { + MELT_LOCATION("warmelt-first.melt:3191:/ locexp"); + meltgc_put_mapobjects( (meltmapobjects_ptr_t) (/*_.BINDMAP__V15*/ curfptr[14]), + (meltobject_ptr_t) (/*_.BINDERV__V9*/ curfptr[8]), + (melt_ptr_t)(/*_.BINDING__V3*/ curfptr[2]));} + ; + MELT_LOCATION("warmelt-first.melt:3192:/ quasiblock"); + + + /*^compute*/ + /*_.FINDLOOP__V13*/ curfptr[12] = /*_.OLDBINDING__V18*/ curfptr[16];; + + /*^exit*/ + /*exit*/{ + goto labexit_FINDLOOP_4;} + ; + MELT_LOCATION("warmelt-first.melt:3190:/ quasiblock"); + + + /*epilog*/ + } + ; + } /*noelse*/ + ; + + MELT_LOCATION("warmelt-first.melt:3188:/ clear"); + /*clear*/ /*_.OLDBINDING__V18*/ curfptr[16] = 0 ; + MELT_LOCATION("warmelt-first.melt:3194:/ getslot"); + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.ENV__V2*/ curfptr[1]), 1, "ENV_PREV");/*_.ENV_PREV__V19*/ curfptr[16] = slot; }; + ; + /*^compute*/ + /*_.ENV__V2*/ curfptr[1] = /*_.SETQ___V20*/ curfptr[19] = /*_.ENV_PREV__V19*/ curfptr[16];; + /*_.LET___V14*/ curfptr[13] = /*_.SETQ___V20*/ curfptr[19];; + + MELT_LOCATION("warmelt-first.melt:3186:/ clear"); + /*clear*/ /*_.BINDMAP__V15*/ curfptr[14] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V16*/ curfptr[15] = 0 ; + /*^clear*/ + /*clear*/ /*_.ENV_PREV__V19*/ curfptr[16] = 0 ; + /*^clear*/ + /*clear*/ /*_.SETQ___V20*/ curfptr[19] = 0 ; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3184:/ clear"); + /*clear*/ /*_#IS_A__L4*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_#NOT__L5*/ curfnum[4] = 0 ; + /*^clear*/ + /*clear*/ /*_.LET___V14*/ curfptr[13] = 0 ;} + ; + ; + goto labloop_FINDLOOP_4; + labexit_FINDLOOP_4:;/*^loopepilog*/ + /*loopepilog*/ + /*_.FOREVER___V12*/ curfptr[10] = /*_.FINDLOOP__V13*/ curfptr[12];; + } + ; + /*^compute*/ + + /*_.LET___V8*/ curfptr[6] = /*_.FOREVER___V12*/ curfptr[10];; + + MELT_LOCATION("warmelt-first.melt:3182:/ clear"); + /*clear*/ /*_.BINDERV__V9*/ curfptr[8] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V10*/ curfptr[9] = 0 ; + /*^clear*/ + /*clear*/ /*_.FOREVER___V12*/ curfptr[10] = 0 ; + MELT_LOCATION("warmelt-first.melt:3176:/ quasiblock"); + + + /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V8*/ curfptr[6];; + MELT_LOCATION("warmelt-first.melt:3176:/ finalreturn"); + ; + /*finalret*/ goto labend_rout ; + /*epilog*/ + + /*^clear*/ + /*clear*/ /*_.IFCPP___V4*/ curfptr[3] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V6*/ curfptr[4] = 0 ; + /*^clear*/ + /*clear*/ /*_.LET___V8*/ curfptr[6] = 0 ;} + +; + goto labend_rout; +labend_rout: +melt_trace_end("OVERWRITE_ENV", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; + return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); +#undef callcount +#undef CURFRAM_NBVARNUM +#undef CURFRAM_NBVARPTR +} /*end meltrout_60_warmelt_first_OVERWRITE_ENV*/ + + + + + +melt_ptr_t MELT_MODULE_VISIBILITY +meltrout_61_warmelt_first_POST_INITIALIZATION(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, + const char xresdescr_[], union meltparam_un *xrestab_) +{ +#if ENABLE_CHECKING + static long call_counter__; + long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; +#define callcount thiscallcounter__ +#else +#define callcount 0L +#endif + + struct frame_meltrout_61_warmelt_first_POST_INITIALIZATION_st { unsigned nbvar; +#if ENABLE_CHECKING + const char* flocs; +#endif + struct meltclosure_st *clos; + struct excepth_melt_st *exh; + struct callframe_melt_st *prev; +#define CURFRAM_NBVARPTR 16 + void* varptr[16]; +#define CURFRAM_NBVARNUM 6 + long varnum[6]; +/*others*/ +const char* loc_CSTRING__o0; + long _spare_; } + *framptr_=0, curfram__; + if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ + int ix=0; + framptr_ = (void*)firstargp_; + gt_ggc_mx_melt_un (framptr_->clos); + for(ix=0; ix<16; ix++) + if (framptr_->varptr[ix]) + gt_ggc_mx_melt_un (framptr_->varptr[ix]); + return NULL; + }/*end markggc*/; + memset(&curfram__, 0, sizeof(curfram__)); + curfram__.nbvar = 16; + curfram__.clos = closp_; + curfram__.prev = (struct callframe_melt_st *) melt_topframe; + melt_topframe = (struct callframe_melt_st *) &curfram__; +melt_trace_start("POST_INITIALIZATION", callcount); +/*getargs*/ + + /*getarg#0*/ + MELT_LOCATION("warmelt-first.melt:3209:/ getarg"); + /*_.UNUSEDARG__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; + + /*getarg#1*/ + /*^getarg*/ + if (xargdescr_[0] != BPAR_CSTRING) goto lab_endgetargs; + /*_?*/ curfram__.loc_CSTRING__o0 = xargtab_[0].bp_cstring; + ; + goto lab_endgetargs; +lab_endgetargs:; +/*body*/ +/*^block*/ +/*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3210:/ quasiblock"); + + + /*_.CURMODENVCONT__V3*/ curfptr[2] = + /*quasi.cur.mod.env.cont */ +(/*!konst_0*/ curfrout->tabval[0]);; + /*^compute*/ + + /*_#IS_A__L1*/ curfnum[0] = + melt_is_instance_of((melt_ptr_t)(/*_.CURMODENVCONT__V3*/ curfptr[2]), (melt_ptr_t)((/*!CLASS_CONTAINER*/ curfrout->tabval[1])));; + /*^compute*/ + + /*_#NOT__L2*/ curfnum[1] = + (!(/*_#IS_A__L1*/ curfnum[0]));; + MELT_LOCATION("warmelt-first.melt:3211:/ cond"); + /*cond*/ if (/*_#NOT__L2*/ curfnum[1]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + /*_.DISCRIM__V5*/ curfptr[4] = + (melt_discr((melt_ptr_t)(/*_.CURMODENVCONT__V3*/ curfptr[2])));; + MELT_LOCATION("warmelt-first.melt:3214:/ getslot"); + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.DISCRIM__V5*/ curfptr[4]), 1, "NAMED_NAME");/*_.NAMED_NAME__V6*/ curfptr[5] = slot; }; + ; + + { + MELT_LOCATION("warmelt-first.melt:3213:/ locexp"); + warning (0, "MELT WARNING MSG [#%ld]::: %s - %s", melt_dbgcounter, ( "post_initialization strange curmodenvcont of discr"), + melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V6*/ curfptr[5])));} + ; + MELT_LOCATION("warmelt-first.melt:3215:/ quasiblock"); + + + /*_.RETVAL___V1*/ curfptr[0] = NULL;; + MELT_LOCATION("warmelt-first.melt:3215:/ finalreturn"); + ; + /*finalret*/ goto labend_rout ; + MELT_LOCATION("warmelt-first.melt:3212:/ quasiblock"); + + + /*_.PROGN___V8*/ curfptr[7] = /*_.RETURN___V7*/ curfptr[6];; + /*^compute*/ + + /*_.IF___V4*/ curfptr[3] = /*_.PROGN___V8*/ curfptr[7];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3211:/ clear"); + /*clear*/ /*_.DISCRIM__V5*/ curfptr[4] = 0 ; + /*^clear*/ + /*clear*/ /*_.NAMED_NAME__V6*/ curfptr[5] = 0 ; + /*^clear*/ + /*clear*/ /*_.RETURN___V7*/ curfptr[6] = 0 ; + /*^clear*/ + /*clear*/ /*_.PROGN___V8*/ curfptr[7] = 0 ;} + ; + } else {/*^cond.else*/ + + /*_.IF___V4*/ curfptr[3] = NULL;; + } + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3217:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#THE_CALLCOUNT__L3*/ curfnum[2] = + callcount;; + MELT_LOCATION("warmelt-first.melt:3217:/ apply"); + /*apply*/{ + union meltparam_un argtab[4]; + memset(&argtab, 0, sizeof(argtab)); + /*^apply.arg*/ + argtab[0].bp_cstring = "post_initialization curmodenvcont at start"; + /*^apply.arg*/ + argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[2]; + /*^apply.arg*/ + argtab[2].bp_cstring = "warmelt-first.melt"; + /*^apply.arg*/ + argtab[3].bp_long = 3217; + /*_.DEBUG_MSG_FUN__V10*/ curfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.CURMODENVCONT__V3*/ curfptr[2]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); + } + ; + /*_.IFCPP___V9*/ curfptr[4] = /*_.DEBUG_MSG_FUN__V10*/ curfptr[5];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3217:/ clear"); + /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[2] = 0 ; + /*^clear*/ + /*clear*/ /*_.DEBUG_MSG_FUN__V10*/ curfptr[5] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V9*/ curfptr[4] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + + #if ENABLE_CHECKING + MELT_LOCATION("warmelt-first.melt:3219:/ cppif.then"); + /*^block*/ + /*anyblock*/{ + + /*_#IS_A__L4*/ curfnum[2] = + melt_is_instance_of((melt_ptr_t)(/*_.CURMODENVCONT__V3*/ curfptr[2]), (melt_ptr_t)((/*!CLASS_CONTAINER*/ curfrout->tabval[1])));; + MELT_LOCATION("warmelt-first.melt:3219:/ cond"); + /*cond*/ if (/*_#IS_A__L4*/ curfnum[2]) /*then*/ { + /*^cond.then*/ + /*_.IFELSE___V12*/ curfptr[7] = (/*nil*/NULL);; + } else {MELT_LOCATION("warmelt-first.melt:3219:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + + + + { + /*^locexp*/ + melt_assert_failed(( "check curmodenvcont"),( "warmelt-first.melt")?( "warmelt-first.melt"):__FILE__, + (3219)?(3219):__LINE__, __FUNCTION__); +;} + ; + /*clear*/ /*_.IFELSE___V12*/ curfptr[7] = 0 ; + /*epilog*/ + } + ; + } + ; + /*^compute*/ + + /*_.IFCPP___V11*/ curfptr[6] = /*_.IFELSE___V12*/ curfptr[7];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3219:/ clear"); + /*clear*/ /*_#IS_A__L4*/ curfnum[2] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFELSE___V12*/ curfptr[7] = 0 ;} + + #else /*ENABLE_CHECKING*/ + /*^cppif.else*/ + /*_.IFCPP___V11*/ curfptr[6] = (/*nil*/NULL); + #endif /*ENABLE_CHECKING*/ + ; + MELT_LOCATION("warmelt-first.melt:3220:/ quasiblock"); + + + /*^getslot*/ + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.CURMODENVCONT__V3*/ curfptr[2]), 0, "CONTAINER_VALUE");/*_.CURMODENV__V13*/ curfptr[5] = slot; }; + ; + /*_#IS_A__L5*/ curfnum[2] = + melt_is_instance_of((melt_ptr_t)(/*_.CURMODENV__V13*/ curfptr[5]), (melt_ptr_t)((/*!CLASS_ENVIRONMENT*/ curfrout->tabval[3])));; + MELT_LOCATION("warmelt-first.melt:3221:/ cond"); + /*cond*/ if (/*_#IS_A__L5*/ curfnum[2]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3222:/ quasiblock"); + + + /*^getslot*/ + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.CURMODENV__V13*/ curfptr[5]), 0, "ENV_BIND");/*_.CURBINDMAP__V14*/ curfptr[7] = slot; }; + ; + /*_#MAPOBJECT_COUNT__L6*/ curfnum[5] = + (melt_count_mapobjects((meltmapobjects_ptr_t)(/*_.CURBINDMAP__V14*/ curfptr[7])));; + + { + MELT_LOCATION("warmelt-first.melt:3224:/ locexp"); + inform(UNKNOWN_LOCATION, "MELT INFORM [#%ld]: %s * %ld", melt_dbgcounter, ( "post_initialization boundvars num"), (/*_#MAPOBJECT_COUNT__L6*/ curfnum[5]));} + ; + + MELT_LOCATION("warmelt-first.melt:3222:/ clear"); + /*clear*/ /*_.CURBINDMAP__V14*/ curfptr[7] = 0 ; + /*^clear*/ + /*clear*/ /*_#MAPOBJECT_COUNT__L6*/ curfnum[5] = 0 ; + /*epilog*/ + } + ; + } else {MELT_LOCATION("warmelt-first.melt:3221:/ cond.else"); + + /*^block*/ + /*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3227:/ quasiblock"); + + + /*_.CURMENVDISCR__V15*/ curfptr[7] = + (melt_discr((melt_ptr_t)(/*_.CURMODENV__V13*/ curfptr[5])));; + MELT_LOCATION("warmelt-first.melt:3229:/ getslot"); + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)(/*_.CURMENVDISCR__V15*/ curfptr[7]), 1, "NAMED_NAME");/*_.NAMED_NAME__V16*/ curfptr[15] = slot; }; + ; + + { + MELT_LOCATION("warmelt-first.melt:3228:/ locexp"); + inform(UNKNOWN_LOCATION, ("MELT INFORM [#%ld]: %s - %s"), melt_dbgcounter, ( "post_initialization strange curmodenv of discr"), + melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V16*/ curfptr[15])));} + ; + + MELT_LOCATION("warmelt-first.melt:3227:/ clear"); + /*clear*/ /*_.CURMENVDISCR__V15*/ curfptr[7] = 0 ; + /*^clear*/ + /*clear*/ /*_.NAMED_NAME__V16*/ curfptr[15] = 0 ; + /*epilog*/ + } + ; + } + ; + + MELT_LOCATION("warmelt-first.melt:3220:/ clear"); + /*clear*/ /*_.CURMODENV__V13*/ curfptr[5] = 0 ; + /*^clear*/ + /*clear*/ /*_#IS_A__L5*/ curfnum[2] = 0 ; + + MELT_LOCATION("warmelt-first.melt:3210:/ clear"); + /*clear*/ /*_.CURMODENVCONT__V3*/ curfptr[2] = 0 ; + /*^clear*/ + /*clear*/ /*_#IS_A__L1*/ curfnum[0] = 0 ; + /*^clear*/ + /*clear*/ /*_#NOT__L2*/ curfnum[1] = 0 ; + /*^clear*/ + /*clear*/ /*_.IF___V4*/ curfptr[3] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V9*/ curfptr[4] = 0 ; + /*^clear*/ + /*clear*/ /*_.IFCPP___V11*/ curfptr[6] = 0 ; + /*epilog*/ + } + +; + goto labend_rout; +labend_rout: +melt_trace_end("POST_INITIALIZATION", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; + return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); +#undef callcount +#undef CURFRAM_NBVARNUM +#undef CURFRAM_NBVARPTR +} /*end meltrout_61_warmelt_first_POST_INITIALIZATION*/ + + + + + +melt_ptr_t MELT_MODULE_VISIBILITY +meltrout_62_warmelt_first_DEBUG_MSG_FUN(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, + const char xresdescr_[], union meltparam_un *xrestab_) +{ +#if ENABLE_CHECKING + static long call_counter__; + long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; +#define callcount thiscallcounter__ +#else +#define callcount 0L +#endif + + struct frame_meltrout_62_warmelt_first_DEBUG_MSG_FUN_st { unsigned nbvar; +#if ENABLE_CHECKING + const char* flocs; +#endif + struct meltclosure_st *clos; + struct excepth_melt_st *exh; + struct callframe_melt_st *prev; +#define CURFRAM_NBVARPTR 6 + void* varptr[6]; +#define CURFRAM_NBVARNUM 3 + long varnum[3]; +/*others*/ +const char* loc_CSTRING__o0; +const char* loc_CSTRING__o1; + long _spare_; } + *framptr_=0, curfram__; + if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ + int ix=0; + framptr_ = (void*)firstargp_; + gt_ggc_mx_melt_un (framptr_->clos); + for(ix=0; ix<6; ix++) + if (framptr_->varptr[ix]) + gt_ggc_mx_melt_un (framptr_->varptr[ix]); + return NULL; + }/*end markggc*/; + memset(&curfram__, 0, sizeof(curfram__)); + curfram__.nbvar = 6; + curfram__.clos = closp_; + curfram__.prev = (struct callframe_melt_st *) melt_topframe; + melt_topframe = (struct callframe_melt_st *) &curfram__; +melt_trace_start("DEBUG_MSG_FUN", callcount); +/*getargs*/ + + /*getarg#0*/ + MELT_LOCATION("warmelt-first.melt:3539:/ getarg"); + /*_.VAL__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; + + /*getarg#1*/ + /*^getarg*/ + if (xargdescr_[0] != BPAR_CSTRING) goto lab_endgetargs; + /*_?*/ curfram__.loc_CSTRING__o0 = xargtab_[0].bp_cstring; + + /*getarg#2*/ + /*^getarg*/ + if (xargdescr_[1] != BPAR_LONG) goto lab_endgetargs; + /*_#COUNT__L1*/ curfnum[0] = xargtab_[1].bp_long; + + /*getarg#3*/ + /*^getarg*/ + if (xargdescr_[2] != BPAR_CSTRING) goto lab_endgetargs; + /*_?*/ curfram__.loc_CSTRING__o1 = xargtab_[2].bp_cstring; + + /*getarg#4*/ + /*^getarg*/ + if (xargdescr_[3] != BPAR_LONG) goto lab_endgetargs; + /*_#LINENO__L2*/ curfnum[1] = xargtab_[3].bp_long; + ; + goto lab_endgetargs; +lab_endgetargs:; +/*body*/ +/*^block*/ +/*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3540:/ quasiblock"); + + + /*^getslot*/ + { melt_ptr_t slot=0; + melt_object_get_field(slot,(melt_ptr_t)((/*!INITIAL_SYSTEM_DATA*/ curfrout->tabval[0])), 17, "SYSDATA_DEBUGMSG");/*_.DBGMSGFUN__V4*/ curfptr[3] = slot; }; + ; + /*_#IS_CLOSURE__L3*/ curfnum[2] = + (melt_magic_discr((melt_ptr_t)(/*_.DBGMSGFUN__V4*/ curfptr[3])) == OBMAG_CLOSURE);; + MELT_LOCATION("warmelt-first.melt:3541:/ cond"); + /*cond*/ if (/*_#IS_CLOSURE__L3*/ curfnum[2]) /*then*/ { + /*^cond.then*/ + /*^block*/ + /*anyblock*/{ + + MELT_LOCATION("warmelt-first.melt:3542:/ apply"); + /*apply*/{ + union meltparam_un argtab[4]; + memset(&argtab, 0, sizeof(argtab)); + /*^apply.arg*/ + argtab[0].bp_cstring = /*_?*/ curfram__.loc_CSTRING__o0; + /*^apply.arg*/ + argtab[1].bp_long = /*_#COUNT__L1*/ curfnum[0]; + /*^apply.arg*/ + argtab[2].bp_cstring = /*_?*/ curfram__.loc_CSTRING__o1; + /*^apply.arg*/ + argtab[3].bp_long = /*_#LINENO__L2*/ curfnum[1]; + /*_.DBGMSGFUN__V6*/ curfptr[5] = melt_apply ((meltclosure_ptr_t)(/*_.DBGMSGFUN__V4*/ curfptr[3]), (melt_ptr_t)(/*_.VAL__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); + } + ; + /*_.IF___V5*/ curfptr[4] = /*_.DBGMSGFUN__V6*/ curfptr[5];; + /*epilog*/ + + MELT_LOCATION("warmelt-first.melt:3541:/ clear"); + /*clear*/ /*_.DBGMSGFUN__V6*/ curfptr[5] = 0 ;} + ; + } else {/*^cond.else*/ + + /*_.IF___V5*/ curfptr[4] = NULL;; + } + ; + /*^compute*/ + + /*_.LET___V3*/ curfptr[2] = /*_.IF___V5*/ curfptr[4];; + + MELT_LOCATION("warmelt-first.melt:3540:/ clear"); + /*clear*/ /*_.DBGMSGFUN__V4*/ curfptr[3] = 0 ; + /*^clear*/ + /*clear*/ /*_#IS_CLOSURE__L3*/ curfnum[2] = 0 ; + /*^clear*/ + /*clear*/ /*_.IF___V5*/ curfptr[4] = 0 ; + MELT_LOCATION("warmelt-first.melt:3539:/ quasiblock"); + + + /*_.RETVAL___V1*/ curfptr[0] = /*_.LET___V3*/ curfptr[2];; + MELT_LOCATION("warmelt-first.melt:3539:/ finalreturn"); + ; + /*finalret*/ goto labend_rout ; + /*epilog*/ + + /*^clear*/ + /*clear*/ /*_.LET___V3*/ curfptr[2] = 0 ;} + +; + goto labend_rout; +labend_rout: +melt_trace_end("DEBUG_MSG_FUN", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; + return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); +#undef callcount +#undef CURFRAM_NBVARNUM +#undef CURFRAM_NBVARPTR +} /*end meltrout_62_warmelt_first_DEBUG_MSG_FUN*/ |