/* GCC MELT GENERATED FILE warmelt-outobj.0+01.c - DO NOT EDIT */ /* secondary MELT generated C file of rank #1 */ #include "run-melt.h" /**** warmelt-outobj.0+01.c declarations ****/ #define MELT_HAS_INITIAL_ENVIRONMENT 1 /**!!** *** Copyright 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Basile Starynkevitch This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . *****!!**/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_1_warmelt_outobj_OUTDECLINIT_ROOT(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_2_warmelt_outobj_OUTPUCOD_OBJINIELEM(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_3_warmelt_outobj_OUTCINITFILL_ROOT(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_4_warmelt_outobj_OUTCINITPREDEF_ROOT(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_5_warmelt_outobj_OUTPUT_PREDEF(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_6_warmelt_outobj_OUTPUCOD_PREDEF(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_7_warmelt_outobj_OUTPUCOD_NIL(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_8_warmelt_outobj_OUTDECLINIT_OBJINITOBJECT(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_9_warmelt_outobj_OUTCINITFILL_OBJINITOBJECT(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_10_warmelt_outobj_OUTCINITPREDEF_OBJINITOBJECT(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_11_warmelt_outobj_OUTDECLINIT_OBJINITMULTIPLE(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_12_warmelt_outobj_OUTCINITFILL_OBJINITMULTIPLE(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_13_warmelt_outobj_OUTDECLINIT_OBJINITCLOSURE(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_14_warmelt_outobj_OUTCINITFILL_OBJINITCLOSURE(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_15_warmelt_outobj_OUTDECLINIT_OBJINITROUTINE(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_16_warmelt_outobj_OUTCINITFILL_OBJINITROUTINE(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_17_warmelt_outobj_OUTDECLINIT_OBJINITSTRING(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_18_warmelt_outobj_OUTCINITFILL_OBJINITSTRING(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_19_warmelt_outobj_OUTDECLINIT_OBJINITBOXEDINTEGER(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_20_warmelt_outobj_OUTCINITFILL_OBJINITBOXEDINTEGER(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_21_warmelt_outobj_OUTDECLINIT_OBJINITPAIR(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_22_warmelt_outobj_OUTCINITFILL_OBJINITPAIR(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_23_warmelt_outobj_OUTDECLINIT_OBJINITLIST(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_24_warmelt_outobj_OUTCINITFILL_OBJINITLIST(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_25_warmelt_outobj_OUTPUCOD_ANYDISCR(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_26_warmelt_outobj_OUTPUCOD_NULL(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_27_warmelt_outobj_OUTPUCOD_CATCHALL_ROOT(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_28_warmelt_outobj_OUTPUT_RAW_LOCATION(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_29_warmelt_outobj_OUTPUT_LOCATION(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_30_warmelt_outobj_OUTPUT_CURFRAME_DECLSTRUCT(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_31_warmelt_outobj_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_32_warmelt_outobj_OUTPUCOD_MARKER(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_33_warmelt_outobj_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_34_warmelt_outobj_OUTPUT_CURFRAME_DECLSTRUCT_INIT(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_35_warmelt_outobj_OUTPUCOD_PROCROUTINE(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_outobj_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_37_warmelt_outobj_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_38_warmelt_outobj_OUTPUT_CURFRAME_CDAT_STRUCT(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_outobj_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_40_warmelt_outobj_OUTPUT_CURFRAME_CDAT_FILL(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_outobj_OUTPUCOD_INITIALROUTINE(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_outobj_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_outobj_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_outobj_OUTPUCOD_GETARG(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_outobj_OUTPUCOD_OBJLOCV(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_outobj_OUTPUCOD_OBJCLOCCV(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_outobj_OUTPUCOD_OBJCONSTV(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_outobj_OUTPUT_CODE_INSTRUCTIONS_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_49_warmelt_outobj_OUTPUCOD_OBJANYBLOCK(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_outobj_OUTPUCOD_OBJMULTIALLOCBLOCK(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_outobj_OUTPUCOD_OBJCITERBLOCK(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_outobj_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_outobj_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_outobj_OUTPUCOD_OBJCOMMENTINSTR(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_outobj_OUTPUCOD_OBJCOMMENTEDBLOCK(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_outobj_OUTPUCOD_OBJLABELINSTR(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_outobj_OUTPUCOD_OBJGOTOINSTR(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_outobj_ADD2SBUF_CLONSYM(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_outobj_OUTPUCOD_OBJLOOP(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_outobj_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_61_warmelt_outobj_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_62_warmelt_outobj_OUTPUCOD_OBJEXIT(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_outobj_OUTPUCOD_OBJCOMPUTE(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_outobj_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_outobj_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_outobj_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_67_warmelt_outobj_OUTPUCOD_OBJCOND(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_outobj_OUTPUCOD_OBJCPPIF(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_outobj_OUTPUCOD_OBJINTERNSYMBOL(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_outobj_OUTPUCOD_OBJINTERNKEYWORD(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_outobj_OUTPUCOD_OBJGETNAMEDSYMBOL(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_outobj_OUTPUCOD_OBJGETNAMEDKEYWORD(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_outobj_OUTPUCOD_OBJAPPLY(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_74_warmelt_outobj_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_75_warmelt_outobj_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_76_warmelt_outobj_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_77_warmelt_outobj_OUTPUCOD_OBJMSEND(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_78_warmelt_outobj_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_79_warmelt_outobj_OUTPUCOD_OBJMULTIAPPLY(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_80_warmelt_outobj_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_81_warmelt_outobj_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_82_warmelt_outobj_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_83_warmelt_outobj_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_84_warmelt_outobj_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_85_warmelt_outobj_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_86_warmelt_outobj_OUTPUCOD_OBJMULTIMSEND(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_87_warmelt_outobj_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_88_warmelt_outobj_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_89_warmelt_outobj_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_90_warmelt_outobj_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_91_warmelt_outobj_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_92_warmelt_outobj_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_93_warmelt_outobj_OUTPUCOD_OBJCLEAR(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_94_warmelt_outobj_OUTPUCOD_OBJRAWALLOCOBJ(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_95_warmelt_outobj_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_96_warmelt_outobj_OUTPUCOD_OBJNEWCLOSURE(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_97_warmelt_outobj_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_98_warmelt_outobj_OUTPUCOD_OBJTOUCH(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_99_warmelt_outobj_OUTPUCOD_OBJPUTUPLE(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_100_warmelt_outobj_OUTPUCOD_OBJPUTPAIRHEAD(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_101_warmelt_outobj_OUTPUCOD_OBJPUTPAIRTAIL(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_102_warmelt_outobj_OUTPUCOD_OBJPUTLIST(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_103_warmelt_outobj_OUTPUCOD_OBJGETSLOT(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_104_warmelt_outobj_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_105_warmelt_outobj_OUTPUCOD_OBJPUTSLOT(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_106_warmelt_outobj_OUTPUCOD_OBJPUTCLOSUROUT(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_107_warmelt_outobj_OUTPUCOD_OBJPUTCLOSEDV(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_108_warmelt_outobj_OUTPUCOD_OBJPUTCLOSEDNOTNULLV(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_109_warmelt_outobj_OUTPUCOD_OBJPUTROUTCONST(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_110_warmelt_outobj_OUTPUCOD_OBJPUTROUTCONSTNOTNULL(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_111_warmelt_outobj_OUTPUCOD_OBJPUTXTRARESULT(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_112_warmelt_outobj_OUTPUCOD_OBJEXPV(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_113_warmelt_outobj_OUTPUCOD_OBJLOCATEDEXPV(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_114_warmelt_outobj_OUTPUCOD_VERBATIMSTRING(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_115_warmelt_outobj_OUTPUCOD_STRING(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_116_warmelt_outobj_OUTPUCOD_INTEGER(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_117_warmelt_outobj_OUTPUCOD_FINALRETURN(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_118_warmelt_outobj_SORTED_NAMED_DICT_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_119_warmelt_outobj_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_120_warmelt_outobj_OUTPUT_EXPORTED_OFFSETS(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_121_warmelt_outobj_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_122_warmelt_outobj_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_123_warmelt_outobj_NTH_SECUNDARY_FILE(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_124_warmelt_outobj_TRANSLATE_MACROEXPANDED_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_125_warmelt_outobj_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_126_warmelt_outobj_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_127_warmelt_outobj_COMPILE_LIST_SEXPR(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_128_warmelt_outobj_INSTALL_MELT_MODE(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_129_warmelt_outobj_COMPILE_ONE_OR_MORE_FILES(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_130_warmelt_outobj_TRANSLATEFILE_DOCMD(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_131_warmelt_outobj_RUNFILE_DOCMD(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_132_warmelt_outobj_TRANSLATEINIT_DOCMD(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_133_warmelt_outobj_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_134_warmelt_outobj_MAKEDOC_SCANINPUT(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_135_warmelt_outobj_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_136_warmelt_outobj_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_137_warmelt_outobj_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_138_warmelt_outobj_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_139_warmelt_outobj_MAKEDOC_OUTDEFLOC(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_140_warmelt_outobj_MAKEDOC_OUTFORMALS(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_141_warmelt_outobj_MAKEDOC_OUTDOC(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_142_warmelt_outobj_MAKEDOC_OUTCLASSDEF(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_143_warmelt_outobj_MAKEDOC_GENMACRO(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_144_warmelt_outobj_MAKEDOC_GENPATMACRO(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_145_warmelt_outobj_MAKEDOC_GENCLASS(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_146_warmelt_outobj_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_147_warmelt_outobj_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_148_warmelt_outobj_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_149_warmelt_outobj_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_150_warmelt_outobj_MAKEDOC_OUTPRIMITIVEDEF(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_151_warmelt_outobj_MAKEDOC_GENPRIMITIVE(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_152_warmelt_outobj_MAKEDOC_OUTFUNCTIONDEF(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_153_warmelt_outobj_MAKEDOC_GENFUNCTION(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_154_warmelt_outobj_MAKEDOC_GENCITERATOR(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_155_warmelt_outobj_MAKEDOC_GENCMATCHER(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_156_warmelt_outobj_MAKEDOC_GENOUTPUT(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_157_warmelt_outobj_MAKEDOC_DOCMD(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_158_warmelt_outobj_LAMBDA_(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*); void mark_module_melt(void*); void* initial_frame_melt; struct frame_start_module_melt_st; void MELT_MODULE_VISIBILITY warmelt_outobj_initialmeltchunk_0 (struct frame_start_module_melt_st*, char*); void MELT_MODULE_VISIBILITY warmelt_outobj_initialmeltchunk_1 (struct frame_start_module_melt_st*, char*); void MELT_MODULE_VISIBILITY warmelt_outobj_initialmeltchunk_2 (struct frame_start_module_melt_st*, char*); void MELT_MODULE_VISIBILITY warmelt_outobj_initialmeltchunk_3 (struct frame_start_module_melt_st*, char*); void MELT_MODULE_VISIBILITY warmelt_outobj_initialmeltchunk_4 (struct frame_start_module_melt_st*, char*); void MELT_MODULE_VISIBILITY warmelt_outobj_initialmeltchunk_5 (struct frame_start_module_melt_st*, char*); void MELT_MODULE_VISIBILITY warmelt_outobj_initialmeltchunk_6 (struct frame_start_module_melt_st*, char*); void MELT_MODULE_VISIBILITY warmelt_outobj_initialmeltchunk_7 (struct frame_start_module_melt_st*, char*); /**** warmelt-outobj.0+01.c implementations ****/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_20_warmelt_outobj_OUTCINITFILL_OBJINITBOXEDINTEGER(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_20_warmelt_outobj_OUTCINITFILL_OBJINITBOXEDINTEGER_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 MELTFRAM_NBVARPTR 18 void* varptr[18]; #define MELTFRAM_NBVARNUM 7 long varnum[7]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<18; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 18; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTCINITFILL_OBJINITBOXEDINTEGER", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:626:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.SBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.PTRSTR__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:627:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJINITBOXINTEGER*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:627:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:627:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "outcinitfill_objinitboxedinteger check recv"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (627)?(627):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:627:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:628:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:628:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outcinitfill_objinitboxedinteger recv"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 628; /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:628:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:629:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:629:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outcinitfill_objinitboxedinteger ptrstr"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 629; /*_.DEBUG_MSG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V9*/ meltfptr[7] = /*_.DEBUG_MSG_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:629:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V10*/ meltfptr[9] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V9*/ meltfptr[7] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:630:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_STRING__L5*/ meltfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])) == OBMAG_STRING);; MELT_LOCATION("warmelt-outobj.melt:630:/ cond"); /*cond*/ if (/*_#IS_STRING__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V12*/ meltfptr[11] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:630:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "outcinitfill_objinitboxedinteger check ptrstr"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (630)?(630):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V11*/ meltfptr[9] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:630:/ clear"); /*clear*/ /*_#IS_STRING__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:631:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 1, "OIE_CNAME");/*_.CNAM__V13*/ meltfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:632:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 4, "OIE_LOCVAR");/*_.OLOCVAR__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:633:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 2, "OIE_DATA");/*_.ODATA__V15*/ meltfptr[14] = slot; }; ; /*_#DEPTHP1__L6*/ meltfnum[1] = ((1) + (/*_#DEPTH__L1*/ meltfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:636:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "/*iniboxint "));} ; { MELT_LOCATION("warmelt-outobj.melt:637:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CNAM__V13*/ meltfptr[11])));} ; { MELT_LOCATION("warmelt-outobj.melt:638:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:639:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), (/*_#DEPTHP1__L6*/ meltfnum[1]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:640:/ cond"); /*cond*/ if (/*_.OLOCVAR__V14*/ meltfptr[13]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:642:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.SBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTHP1__L6*/ meltfnum[1]; /*_.OUTPUT_C_CODE__V16*/ meltfptr[15] = meltgc_send((melt_ptr_t)(/*_.OLOCVAR__V14*/ meltfptr[13]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[2])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:643:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( " = (void*)&"));} ; { MELT_LOCATION("warmelt-outobj.melt:644:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])));} ; { MELT_LOCATION("warmelt-outobj.melt:645:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "->"));} ; { MELT_LOCATION("warmelt-outobj.melt:646:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CNAM__V13*/ meltfptr[11])));} ; { MELT_LOCATION("warmelt-outobj.melt:647:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:648:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), (/*_#DEPTHP1__L6*/ meltfnum[1]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:641:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:640:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V16*/ meltfptr[15] = 0 ;} ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:650:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( " "));} ; { MELT_LOCATION("warmelt-outobj.melt:651:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])));} ; { MELT_LOCATION("warmelt-outobj.melt:652:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "->"));} ; { MELT_LOCATION("warmelt-outobj.melt:653:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CNAM__V13*/ meltfptr[11])));} ; { MELT_LOCATION("warmelt-outobj.melt:654:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ".discr = (meltobject_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:655:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 3, "OIE_DISCR");/*_.OIE_DISCR__V17*/ meltfptr[15] = slot; }; ; /*^msend*/ /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.SBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTHP1__L6*/ meltfnum[1]; /*_.OUTPUT_C_CODE__V18*/ meltfptr[17] = meltgc_send((melt_ptr_t)(/*_.OIE_DISCR__V17*/ meltfptr[15]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[2])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:656:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ");"));} ; { MELT_LOCATION("warmelt-outobj.melt:657:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), (/*_#DEPTHP1__L6*/ meltfnum[1]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:658:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( " "));} ; { MELT_LOCATION("warmelt-outobj.melt:659:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])));} ; { MELT_LOCATION("warmelt-outobj.melt:660:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "->"));} ; { MELT_LOCATION("warmelt-outobj.melt:661:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CNAM__V13*/ meltfptr[11])));} ; { MELT_LOCATION("warmelt-outobj.melt:662:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ".val = "));} ; /*_#GET_INT__L7*/ meltfnum[6] = (melt_get_int((melt_ptr_t)(/*_.ODATA__V15*/ meltfptr[14])));; { MELT_LOCATION("warmelt-outobj.melt:663:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), (/*_#GET_INT__L7*/ meltfnum[6]));} ; { MELT_LOCATION("warmelt-outobj.melt:664:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:665:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), (/*_#DEPTHP1__L6*/ meltfnum[1]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:631:/ clear"); /*clear*/ /*_.CNAM__V13*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.OLOCVAR__V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_.ODATA__V15*/ meltfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_#DEPTHP1__L6*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.OIE_DISCR__V17*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_CODE__V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_#GET_INT__L7*/ meltfnum[6] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:626:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTCINITFILL_OBJINITBOXEDINTEGER", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_20_warmelt_outobj_OUTCINITFILL_OBJINITBOXEDINTEGER*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_21_warmelt_outobj_OUTDECLINIT_OBJINITPAIR(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_21_warmelt_outobj_OUTDECLINIT_OBJINITPAIR_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 MELTFRAM_NBVARPTR 4 void* varptr[4]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 4; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTDECLINIT_OBJINITPAIR", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:673:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.SBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:674:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( " struct meltpair_st "));} ; MELT_LOCATION("warmelt-outobj.melt:675:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 1, "NAMED_NAME");/*_.NAMED_NAME__V4*/ meltfptr[3] = slot; }; ; { /*^locexp*/ meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V4*/ meltfptr[3])));} ; { MELT_LOCATION("warmelt-outobj.melt:676:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ";"));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:673:/ clear"); /*clear*/ /*_.NAMED_NAME__V4*/ meltfptr[3] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTDECLINIT_OBJINITPAIR", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_21_warmelt_outobj_OUTDECLINIT_OBJINITPAIR*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_22_warmelt_outobj_OUTCINITFILL_OBJINITPAIR(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_22_warmelt_outobj_OUTCINITFILL_OBJINITPAIR_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 MELTFRAM_NBVARPTR 18 void* varptr[18]; #define MELTFRAM_NBVARNUM 6 long varnum[6]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<18; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 18; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTCINITFILL_OBJINITPAIR", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:680:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.SBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.PTRSTR__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:681:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJINITPAIR*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:681:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:681:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "outcinitfill_objinitpair check recv"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (681)?(681):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:681:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:682:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:682:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outcinitfill_objinitpair recv"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 682; /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:682:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:683:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:683:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outcinitfill_objinitpair ptrstr"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 683; /*_.DEBUG_MSG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V9*/ meltfptr[7] = /*_.DEBUG_MSG_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:683:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V10*/ meltfptr[9] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V9*/ meltfptr[7] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:684:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_STRING__L5*/ meltfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])) == OBMAG_STRING);; MELT_LOCATION("warmelt-outobj.melt:684:/ cond"); /*cond*/ if (/*_#IS_STRING__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V12*/ meltfptr[11] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:684:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "outcinitfill_objinitpair check ptrstr"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (684)?(684):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V11*/ meltfptr[9] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:684:/ clear"); /*clear*/ /*_#IS_STRING__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:685:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 1, "OIE_CNAME");/*_.CNAM__V13*/ meltfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:686:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 4, "OIE_LOCVAR");/*_.OLOCVAR__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:687:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 2, "OIE_DATA");/*_.ODATA__V15*/ meltfptr[14] = slot; }; ; /*_#DEPTHP1__L6*/ meltfnum[1] = ((1) + (/*_#DEPTH__L1*/ meltfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:690:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "/*inipair "));} ; { MELT_LOCATION("warmelt-outobj.melt:691:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CNAM__V13*/ meltfptr[11])));} ; { MELT_LOCATION("warmelt-outobj.melt:692:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:693:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), (/*_#DEPTHP1__L6*/ meltfnum[1]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:694:/ cond"); /*cond*/ if (/*_.OLOCVAR__V14*/ meltfptr[13]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:696:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.SBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTHP1__L6*/ meltfnum[1]; /*_.OUTPUT_C_CODE__V16*/ meltfptr[15] = meltgc_send((melt_ptr_t)(/*_.OLOCVAR__V14*/ meltfptr[13]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[2])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:697:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( " = (void*)&"));} ; { MELT_LOCATION("warmelt-outobj.melt:698:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])));} ; { MELT_LOCATION("warmelt-outobj.melt:699:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "->"));} ; { MELT_LOCATION("warmelt-outobj.melt:700:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CNAM__V13*/ meltfptr[11])));} ; { MELT_LOCATION("warmelt-outobj.melt:701:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:702:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), (/*_#DEPTHP1__L6*/ meltfnum[1]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:695:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:694:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V16*/ meltfptr[15] = 0 ;} ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:704:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( " "));} ; { MELT_LOCATION("warmelt-outobj.melt:705:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])));} ; { MELT_LOCATION("warmelt-outobj.melt:706:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "->"));} ; { MELT_LOCATION("warmelt-outobj.melt:707:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CNAM__V13*/ meltfptr[11])));} ; { MELT_LOCATION("warmelt-outobj.melt:708:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ".discr = (meltobject_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:709:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 3, "OIE_DISCR");/*_.OIE_DISCR__V17*/ meltfptr[15] = slot; }; ; /*^msend*/ /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.SBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTHP1__L6*/ meltfnum[1]; /*_.OUTPUT_C_CODE__V18*/ meltfptr[17] = meltgc_send((melt_ptr_t)(/*_.OIE_DISCR__V17*/ meltfptr[15]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[2])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:710:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ");"));} ; { MELT_LOCATION("warmelt-outobj.melt:711:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:685:/ clear"); /*clear*/ /*_.CNAM__V13*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.OLOCVAR__V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_.ODATA__V15*/ meltfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_#DEPTHP1__L6*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.OIE_DISCR__V17*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_CODE__V18*/ meltfptr[17] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:680:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTCINITFILL_OBJINITPAIR", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_22_warmelt_outobj_OUTCINITFILL_OBJINITPAIR*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_23_warmelt_outobj_OUTDECLINIT_OBJINITLIST(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_23_warmelt_outobj_OUTDECLINIT_OBJINITLIST_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 MELTFRAM_NBVARPTR 4 void* varptr[4]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 4; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTDECLINIT_OBJINITLIST", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:717:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.SBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:718:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( " struct meltlist_st "));} ; MELT_LOCATION("warmelt-outobj.melt:719:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 1, "NAMED_NAME");/*_.NAMED_NAME__V4*/ meltfptr[3] = slot; }; ; { /*^locexp*/ meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V4*/ meltfptr[3])));} ; { MELT_LOCATION("warmelt-outobj.melt:720:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ";"));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:717:/ clear"); /*clear*/ /*_.NAMED_NAME__V4*/ meltfptr[3] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTDECLINIT_OBJINITLIST", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_23_warmelt_outobj_OUTDECLINIT_OBJINITLIST*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_24_warmelt_outobj_OUTCINITFILL_OBJINITLIST(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_24_warmelt_outobj_OUTCINITFILL_OBJINITLIST_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 MELTFRAM_NBVARPTR 18 void* varptr[18]; #define MELTFRAM_NBVARNUM 6 long varnum[6]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<18; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 18; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTCINITFILL_OBJINITLIST", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:724:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.SBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.PTRSTR__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:725:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJINITLIST*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:725:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:725:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "outcinitfill_objinitlist check recv"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (725)?(725):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:725:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:726:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:726:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outcinitfill_objinitlist recv"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 726; /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:726:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:727:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:727:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outcinitfill_objinitlist ptrstr"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 727; /*_.DEBUG_MSG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V9*/ meltfptr[7] = /*_.DEBUG_MSG_FUN__V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:727:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V10*/ meltfptr[9] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V9*/ meltfptr[7] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:728:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_STRING__L5*/ meltfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])) == OBMAG_STRING);; MELT_LOCATION("warmelt-outobj.melt:728:/ cond"); /*cond*/ if (/*_#IS_STRING__L5*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V12*/ meltfptr[11] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:728:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "outcinitfill_objinitlist check ptrstr"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (728)?(728):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V11*/ meltfptr[9] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:728:/ clear"); /*clear*/ /*_#IS_STRING__L5*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[9] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:729:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 1, "OIE_CNAME");/*_.CNAM__V13*/ meltfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:730:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 4, "OIE_LOCVAR");/*_.OLOCVAR__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:731:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 2, "OIE_DATA");/*_.ODATA__V15*/ meltfptr[14] = slot; }; ; /*_#DEPTHP1__L6*/ meltfnum[1] = ((1) + (/*_#DEPTH__L1*/ meltfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:734:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "/*inilist "));} ; { MELT_LOCATION("warmelt-outobj.melt:735:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CNAM__V13*/ meltfptr[11])));} ; { MELT_LOCATION("warmelt-outobj.melt:736:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:737:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), (/*_#DEPTHP1__L6*/ meltfnum[1]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:738:/ cond"); /*cond*/ if (/*_.OLOCVAR__V14*/ meltfptr[13]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:740:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.SBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTHP1__L6*/ meltfnum[1]; /*_.OUTPUT_C_CODE__V16*/ meltfptr[15] = meltgc_send((melt_ptr_t)(/*_.OLOCVAR__V14*/ meltfptr[13]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[2])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:741:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( " = (void*)&"));} ; { MELT_LOCATION("warmelt-outobj.melt:742:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])));} ; { MELT_LOCATION("warmelt-outobj.melt:743:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "->"));} ; { MELT_LOCATION("warmelt-outobj.melt:744:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CNAM__V13*/ meltfptr[11])));} ; { MELT_LOCATION("warmelt-outobj.melt:745:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:746:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), (/*_#DEPTHP1__L6*/ meltfnum[1]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:739:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:738:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V16*/ meltfptr[15] = 0 ;} ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:748:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( " "));} ; { MELT_LOCATION("warmelt-outobj.melt:749:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.PTRSTR__V4*/ meltfptr[3])));} ; { MELT_LOCATION("warmelt-outobj.melt:750:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( "->"));} ; { MELT_LOCATION("warmelt-outobj.melt:751:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CNAM__V13*/ meltfptr[11])));} ; { MELT_LOCATION("warmelt-outobj.melt:752:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ".discr = (meltobject_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:753:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.RECV__V2*/ meltfptr[1]), 3, "OIE_DISCR");/*_.OIE_DISCR__V17*/ meltfptr[15] = slot; }; ; /*^msend*/ /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.SBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTHP1__L6*/ meltfnum[1]; /*_.OUTPUT_C_CODE__V18*/ meltfptr[17] = meltgc_send((melt_ptr_t)(/*_.OIE_DISCR__V17*/ meltfptr[15]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[2])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:754:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), ( ");"));} ; { MELT_LOCATION("warmelt-outobj.melt:755:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.SBUF__V3*/ meltfptr[2]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:729:/ clear"); /*clear*/ /*_.CNAM__V13*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.OLOCVAR__V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_.ODATA__V15*/ meltfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_#DEPTHP1__L6*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.OIE_DISCR__V17*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_CODE__V18*/ meltfptr[17] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:724:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[9] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTCINITFILL_OBJINITLIST", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_24_warmelt_outobj_OUTCINITFILL_OBJINITLIST*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_25_warmelt_outobj_OUTPUCOD_ANYDISCR(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_25_warmelt_outobj_OUTPUCOD_ANYDISCR_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 MELTFRAM_NBVARPTR 8 void* varptr[8]; #define MELTFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 8; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_ANYDISCR", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:761:/ getarg"); /*_.ANY__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:763:/ locexp"); melt_puts(stderr,( "* output_c_code unimplemented reciever discriminator "));} ; MELT_LOCATION("warmelt-outobj.melt:764:/ quasiblock"); /*_.DISCR__V5*/ meltfptr[4] = (melt_discr((melt_ptr_t)(/*_.ANY__V2*/ meltfptr[1])));; MELT_LOCATION("warmelt-outobj.melt:764:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.DISCR__V5*/ meltfptr[4]), 1, "NAMED_NAME");/*_.NAMED_NAME__V6*/ meltfptr[5] = slot; }; ; { /*^locexp*/ melt_putstr(stderr, (melt_ptr_t)(/*_.NAMED_NAME__V6*/ meltfptr[5]));} ; /*^clear*/ /*clear*/ /*_.DISCR__V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.NAMED_NAME__V6*/ meltfptr[5] = 0 ; { MELT_LOCATION("warmelt-outobj.melt:765:/ locexp"); melt_newlineflush(stderr);} ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:766:/ cppif.then"); /*^block*/ /*anyblock*/{ /*^cond*/ /*cond*/ if ((/*nil*/NULL)) /*then*/ { /*^cond.then*/ /*_.IFELSE___V8*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:766:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "@@ outpucod_anydiscr not able to output"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (766)?(766):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V8*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V7*/ meltfptr[4] = /*_.IFELSE___V8*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:766:/ clear"); /*clear*/ /*_.IFELSE___V8*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:761:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V7*/ meltfptr[4];; MELT_LOCATION("warmelt-outobj.melt:761:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_ANYDISCR", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_25_warmelt_outobj_OUTPUCOD_ANYDISCR*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_26_warmelt_outobj_OUTPUCOD_NULL(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_26_warmelt_outobj_OUTPUCOD_NULL_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 MELTFRAM_NBVARPTR 4 void* varptr[4]; #define MELTFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 4; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_NULL", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:770:/ getarg"); /*_.NUL__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:771:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "NULL"));} ; /*epilog*/ } ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_NULL", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_26_warmelt_outobj_OUTPUCOD_NULL*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_27_warmelt_outobj_OUTPUCOD_CATCHALL_ROOT(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_27_warmelt_outobj_OUTPUCOD_CATCHALL_ROOT_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 MELTFRAM_NBVARPTR 11 void* varptr[11]; #define MELTFRAM_NBVARNUM 2 long varnum[2]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 11; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_CATCHALL_ROOT", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:776:/ getarg"); /*_.ANYR__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:777:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:777:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_catchall_root anyr"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 777; /*_.DEBUG_MSG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.ANYR__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V5*/ meltfptr[4] = /*_.DEBUG_MSG_FUN__V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:777:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:778:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_catchall_root anyr"; /*_.DISPLAY_DEBUG_MESSAGE__V7*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!DISPLAY_DEBUG_MESSAGE*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.ANYR__V2*/ meltfptr[1]), (BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:779:/ locexp"); melt_puts(stderr,( "* output_c_code unimplemented reciever class "));} ; MELT_LOCATION("warmelt-outobj.melt:780:/ quasiblock"); /*_.DISCR__V8*/ meltfptr[7] = (melt_discr((melt_ptr_t)(/*_.ANYR__V2*/ meltfptr[1])));; MELT_LOCATION("warmelt-outobj.melt:780:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.DISCR__V8*/ meltfptr[7]), 1, "NAMED_NAME");/*_.NAMED_NAME__V9*/ meltfptr[8] = slot; }; ; { /*^locexp*/ melt_putstr(stderr, (melt_ptr_t)(/*_.NAMED_NAME__V9*/ meltfptr[8]));} ; /*^clear*/ /*clear*/ /*_.DISCR__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.NAMED_NAME__V9*/ meltfptr[8] = 0 ; { MELT_LOCATION("warmelt-outobj.melt:781:/ locexp"); melt_newlineflush(stderr);} ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:782:/ cppif.then"); /*^block*/ /*anyblock*/{ /*^cond*/ /*cond*/ if ((/*nil*/NULL)) /*then*/ { /*^cond.then*/ /*_.IFELSE___V11*/ meltfptr[8] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:782:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "@@ outpucod_catchall_root not able to output"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (782)?(782):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V11*/ meltfptr[8] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V10*/ meltfptr[7] = /*_.IFELSE___V11*/ meltfptr[8];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:782:/ clear"); /*clear*/ /*_.IFELSE___V11*/ meltfptr[8] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V10*/ meltfptr[7] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:776:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V10*/ meltfptr[7];; MELT_LOCATION("warmelt-outobj.melt:776:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.DISPLAY_DEBUG_MESSAGE__V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V10*/ meltfptr[7] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_CATCHALL_ROOT", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_27_warmelt_outobj_OUTPUCOD_CATCHALL_ROOT*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_28_warmelt_outobj_OUTPUT_RAW_LOCATION(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_28_warmelt_outobj_OUTPUT_RAW_LOCATION_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 MELTFRAM_NBVARPTR 6 void* varptr[6]; #define MELTFRAM_NBVARNUM 5 long varnum[5]; /*others*/ const char* loc_CSTRING__o0; const char* loc_CSTRING__o1; long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 6; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUT_RAW_LOCATION", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:789:/ getarg"); /*_.LOC__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[1].bp_long; /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_CSTRING) goto lab_endgetargs; /*_?*/ meltfram__.loc_CSTRING__o0 = xargtab_[2].bp_cstring; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:790:/ cond"); /*cond*/ if (/*_.LOC__V2*/ meltfptr[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:792:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:793:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "#ifndef MELTGCC_NOLINENUMBERING"));} ; { MELT_LOCATION("warmelt-outobj.melt:794:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (0), 0);} ; /*_#IS_MIXINT__L2*/ meltfnum[1] = (melt_magic_discr((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])) == OBMAG_MIXINT);; MELT_LOCATION("warmelt-outobj.melt:795:/ cond"); /*cond*/ if (/*_#IS_MIXINT__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:799:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "#"));} ; { MELT_LOCATION("warmelt-outobj.melt:800:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "line "));} ; /*_#GET_INT__L3*/ meltfnum[2] = (melt_get_int((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])));; { MELT_LOCATION("warmelt-outobj.melt:801:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_#GET_INT__L3*/ meltfnum[2]));} ; { MELT_LOCATION("warmelt-outobj.melt:802:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( " \""));} ; /*_.MIXINT_VAL__V5*/ meltfptr[4] = (melt_val_mixint((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])));; { MELT_LOCATION("warmelt-outobj.melt:803:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.MIXINT_VAL__V5*/ meltfptr[4])));} ; { MELT_LOCATION("warmelt-outobj.melt:804:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "\""));} ; MELT_LOCATION("warmelt-outobj.melt:795:/ quasiblock"); /*epilog*/ /*^clear*/ /*clear*/ /*_#GET_INT__L3*/ meltfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_.MIXINT_VAL__V5*/ meltfptr[4] = 0 ;} ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ /*_#IS_MIXLOC__L4*/ meltfnum[2] = (melt_magic_discr((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])) == OBMAG_MIXLOC);; MELT_LOCATION("warmelt-outobj.melt:805:/ cond"); /*cond*/ if (/*_#IS_MIXLOC__L4*/ meltfnum[2]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:806:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "#"));} ; { MELT_LOCATION("warmelt-outobj.melt:807:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "line "));} ; /*_#MIXLOC_LOCLINE__L5*/ meltfnum[4] = (LOCATION_LINE(melt_location_mixloc((melt_ptr_t)/*_.LOC__V2*/ meltfptr[1])));; { MELT_LOCATION("warmelt-outobj.melt:808:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_#MIXLOC_LOCLINE__L5*/ meltfnum[4]));} ; { MELT_LOCATION("warmelt-outobj.melt:809:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( " \""));} ; /*_?*/ meltfram__.loc_CSTRING__o1 = (LOCATION_FILE(melt_location_mixloc((melt_ptr_t)/*_.LOC__V2*/ meltfptr[1])));; { MELT_LOCATION("warmelt-outobj.melt:810:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_?*/ meltfram__.loc_CSTRING__o1));} ; { MELT_LOCATION("warmelt-outobj.melt:811:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "\""));} ; MELT_LOCATION("warmelt-outobj.melt:805:/ quasiblock"); /*epilog*/ /*^clear*/ /*clear*/ /*_#MIXLOC_LOCLINE__L5*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_?*/ meltfram__.loc_CSTRING__o1 = 0 ;} ; } else {/*^cond.else*/ /*_.IFELSE___V6*/ meltfptr[4] = NULL;; } ; /*^compute*/ /*_.IFELSE___V4*/ meltfptr[3] = /*_.IFELSE___V6*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:795:/ clear"); /*clear*/ /*_#IS_MIXLOC__L4*/ meltfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[4] = 0 ;} ; } ; MELT_LOCATION("warmelt-outobj.melt:813:/ cond"); /*cond*/ if (/*_?*/ meltfram__.loc_CSTRING__o0) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:815:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( " /**::"));} ; { MELT_LOCATION("warmelt-outobj.melt:816:/ locexp"); meltgc_add_strbuf_ccomment((/*_.IMPLBUF__V3*/ meltfptr[2]), /*_?*/ meltfram__.loc_CSTRING__o0);} ; { MELT_LOCATION("warmelt-outobj.melt:817:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "::**/"));} ; MELT_LOCATION("warmelt-outobj.melt:814:/ quasiblock"); /*epilog*/ } ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:819:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:820:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "#endif /*MELTGCC_NOLINENUMBERING*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:821:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:791:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:790:/ clear"); /*clear*/ /*_#IS_MIXINT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V4*/ meltfptr[3] = 0 ;} ; } /*noelse*/ ; /*epilog*/ } ; goto labend_rout; labend_rout: melt_trace_end("OUTPUT_RAW_LOCATION", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_28_warmelt_outobj_OUTPUT_RAW_LOCATION*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_29_warmelt_outobj_OUTPUT_LOCATION(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_29_warmelt_outobj_OUTPUT_LOCATION_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 MELTFRAM_NBVARPTR 19 void* varptr[19]; #define MELTFRAM_NBVARNUM 17 long varnum[17]; /*others*/ const char* loc_CSTRING__o0; long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 19; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUT_LOCATION", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:831:/ getarg"); /*_.LOC__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[1].bp_long; /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_CSTRING) goto lab_endgetargs; /*_?*/ meltfram__.loc_CSTRING__o0 = xargtab_[2].bp_cstring; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:832:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)((/*!PREVLOC_CONTAINER*/ meltfrout->tabval[0])), 0, "CONTAINER_VALUE");/*_.PREVLOC__V5*/ meltfptr[4] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:833:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)((/*!PREVIMPLBUF_CONTAINER*/ meltfrout->tabval[1])), 0, "CONTAINER_VALUE");/*_.PREVBUF__V6*/ meltfptr[5] = slot; }; ; /*_#__L2*/ meltfnum[1] = ((/*_.PREVBUF__V6*/ meltfptr[5]) == (/*_.IMPLBUF__V3*/ meltfptr[2]));; MELT_LOCATION("warmelt-outobj.melt:835:/ cond"); /*cond*/ if (/*_#__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#__L3*/ meltfnum[2] = ((/*_.PREVLOC__V5*/ meltfptr[4]) == (/*_.LOC__V2*/ meltfptr[1]));; MELT_LOCATION("warmelt-outobj.melt:836:/ cond"); /*cond*/ if (/*_#__L3*/ meltfnum[2]) /*then*/ { /*^cond.then*/ /*_#OR___L4*/ meltfnum[3] = /*_#__L3*/ meltfnum[2];; } else {MELT_LOCATION("warmelt-outobj.melt:836:/ cond.else"); /*^block*/ /*anyblock*/{ /*_#GET_INT__L5*/ meltfnum[4] = (melt_get_int((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])));; /*^compute*/ /*_#GET_INT__L6*/ meltfnum[5] = (melt_get_int((melt_ptr_t)(/*_.PREVLOC__V5*/ meltfptr[4])));; /*^compute*/ /*_#I__L7*/ meltfnum[6] = ((/*_#GET_INT__L5*/ meltfnum[4]) == (/*_#GET_INT__L6*/ meltfnum[5]));; MELT_LOCATION("warmelt-outobj.melt:837:/ cond"); /*cond*/ if (/*_#I__L7*/ meltfnum[6]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_.MIXLOC_VAL__V8*/ meltfptr[7] = (melt_val_mixloc((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])));; /*^compute*/ /*_.MIXLOC_VAL__V9*/ meltfptr[8] = (melt_val_mixloc((melt_ptr_t)(/*_.PREVLOC__V5*/ meltfptr[4])));; /*^compute*/ /*_#__L9*/ meltfnum[8] = ((/*_.MIXLOC_VAL__V8*/ meltfptr[7]) == (/*_.MIXLOC_VAL__V9*/ meltfptr[8]));; /*^compute*/ /*_#IF___L8*/ meltfnum[7] = /*_#__L9*/ meltfnum[8];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:837:/ clear"); /*clear*/ /*_.MIXLOC_VAL__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.MIXLOC_VAL__V9*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_#__L9*/ meltfnum[8] = 0 ;} ; } else {/*^cond.else*/ /*_#IF___L8*/ meltfnum[7] = 0;; } ; /*^compute*/ /*_#OR___L4*/ meltfnum[3] = /*_#IF___L8*/ meltfnum[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:836:/ clear"); /*clear*/ /*_#GET_INT__L5*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_#GET_INT__L6*/ meltfnum[5] = 0 ; /*^clear*/ /*clear*/ /*_#I__L7*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_#IF___L8*/ meltfnum[7] = 0 ;} ; } ; /*^cond*/ /*cond*/ if (/*_#OR___L4*/ meltfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:840:/ cond"); /*cond*/ if (/*_?*/ meltfram__.loc_CSTRING__o0) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:841:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "/*^"));} ; { MELT_LOCATION("warmelt-outobj.melt:842:/ locexp"); meltgc_add_strbuf_ccomment((/*_.IMPLBUF__V3*/ meltfptr[2]), /*_?*/ meltfram__.loc_CSTRING__o0);} ; { MELT_LOCATION("warmelt-outobj.melt:843:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "*/"));} ; MELT_LOCATION("warmelt-outobj.melt:840:/ quasiblock"); /*epilog*/ } ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:845:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:846:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "#ifndef MELTGCC_NOLINENUMBERING"));} ; { MELT_LOCATION("warmelt-outobj.melt:847:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (0), 0);} ; /*_#IS_MIXINT__L10*/ meltfnum[8] = (melt_magic_discr((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])) == OBMAG_MIXINT);; MELT_LOCATION("warmelt-outobj.melt:848:/ cond"); /*cond*/ if (/*_#IS_MIXINT__L10*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:852:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "#"));} ; { MELT_LOCATION("warmelt-outobj.melt:853:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "line "));} ; /*_#GET_INT__L11*/ meltfnum[4] = (melt_get_int((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])));; { MELT_LOCATION("warmelt-outobj.melt:854:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_#GET_INT__L11*/ meltfnum[4]));} ; MELT_LOCATION("warmelt-outobj.melt:848:/ quasiblock"); /*epilog*/ /*^clear*/ /*clear*/ /*_#GET_INT__L11*/ meltfnum[4] = 0 ;} ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ /*_#IS_MIXLOC__L12*/ meltfnum[5] = (melt_magic_discr((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])) == OBMAG_MIXLOC);; MELT_LOCATION("warmelt-outobj.melt:856:/ cond"); /*cond*/ if (/*_#IS_MIXLOC__L12*/ meltfnum[5]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:857:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "#"));} ; { MELT_LOCATION("warmelt-outobj.melt:858:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "line "));} ; /*_#MIXLOC_LOCLINE__L13*/ meltfnum[6] = (LOCATION_LINE(melt_location_mixloc((melt_ptr_t)/*_.LOC__V2*/ meltfptr[1])));; { MELT_LOCATION("warmelt-outobj.melt:859:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_#MIXLOC_LOCLINE__L13*/ meltfnum[6]));} ; MELT_LOCATION("warmelt-outobj.melt:856:/ quasiblock"); /*epilog*/ /*^clear*/ /*clear*/ /*_#MIXLOC_LOCLINE__L13*/ meltfnum[6] = 0 ;} ; } else {/*^cond.else*/ /*_.IFELSE___V12*/ meltfptr[11] = NULL;; } ; /*^compute*/ /*_.IFELSE___V11*/ meltfptr[8] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:848:/ clear"); /*clear*/ /*_#IS_MIXLOC__L12*/ meltfnum[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ;} ; } ; { MELT_LOCATION("warmelt-outobj.melt:862:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:863:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "#endif"));} ; { MELT_LOCATION("warmelt-outobj.melt:864:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:865:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; MELT_LOCATION("warmelt-outobj.melt:865:/ finalreturn"); ; /*finalret*/ goto labend_rout ; MELT_LOCATION("warmelt-outobj.melt:839:/ quasiblock"); /*_.PROGN___V14*/ meltfptr[13] = /*_.RETURN___V13*/ meltfptr[11];; /*^compute*/ /*_.IF___V10*/ meltfptr[7] = /*_.PROGN___V14*/ meltfptr[13];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:836:/ clear"); /*clear*/ /*_#IS_MIXINT__L10*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V11*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.RETURN___V13*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V14*/ meltfptr[13] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V10*/ meltfptr[7] = NULL;; } ; /*^compute*/ /*_.IF___V7*/ meltfptr[6] = /*_.IF___V10*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:835:/ clear"); /*clear*/ /*_#__L3*/ meltfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#OR___L4*/ meltfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V10*/ meltfptr[7] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION("warmelt-outobj.melt:869:/ quasiblock"); /*^putslot*/ /*putslot*/ melt_assertmsg("putslot checkobj @CONTAINER_VALUE", melt_magic_discr((melt_ptr_t)((/*!PREVLOC_CONTAINER*/ meltfrout->tabval[0]))) == OBMAG_OBJECT); melt_putfield_object(((/*!PREVLOC_CONTAINER*/ meltfrout->tabval[0])), (0), (/*_.LOC__V2*/ meltfptr[1]), "CONTAINER_VALUE"); ; /*^touch*/ meltgc_touch((/*!PREVLOC_CONTAINER*/ meltfrout->tabval[0])); ; MELT_LOCATION("warmelt-outobj.melt:870:/ quasiblock"); /*^putslot*/ /*putslot*/ melt_assertmsg("putslot checkobj @CONTAINER_VALUE", melt_magic_discr((melt_ptr_t)((/*!PREVIMPLBUF_CONTAINER*/ meltfrout->tabval[1]))) == OBMAG_OBJECT); melt_putfield_object(((/*!PREVIMPLBUF_CONTAINER*/ meltfrout->tabval[1])), (0), (/*_.IMPLBUF__V3*/ meltfptr[2]), "CONTAINER_VALUE"); ; /*^touch*/ meltgc_touch((/*!PREVIMPLBUF_CONTAINER*/ meltfrout->tabval[1])); ; /*_#IS_MIXINT__L14*/ meltfnum[7] = (melt_magic_discr((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])) == OBMAG_MIXINT);; MELT_LOCATION("warmelt-outobj.melt:873:/ cond"); /*cond*/ if (/*_#IS_MIXINT__L14*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:874:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "MELT_LOCATION(\""));} ; /*_.MIXINT_VAL__V16*/ meltfptr[11] = (melt_val_mixint((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])));; { MELT_LOCATION("warmelt-outobj.melt:875:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.MIXINT_VAL__V16*/ meltfptr[11])));} ; { MELT_LOCATION("warmelt-outobj.melt:876:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( ":"));} ; /*_#GET_INT__L15*/ meltfnum[4] = (melt_get_int((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])));; { MELT_LOCATION("warmelt-outobj.melt:877:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_#GET_INT__L15*/ meltfnum[4]));} ; MELT_LOCATION("warmelt-outobj.melt:878:/ cond"); /*cond*/ if (/*_?*/ meltfram__.loc_CSTRING__o0) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:879:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( ":/ "));} ; { MELT_LOCATION("warmelt-outobj.melt:880:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_?*/ meltfram__.loc_CSTRING__o0));} ; MELT_LOCATION("warmelt-outobj.melt:878:/ quasiblock"); /*epilog*/ } ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:882:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "\");"));} ; MELT_LOCATION("warmelt-outobj.melt:873:/ quasiblock"); /*epilog*/ /*^clear*/ /*clear*/ /*_.MIXINT_VAL__V16*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_#GET_INT__L15*/ meltfnum[4] = 0 ;} ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ /*_#IS_MIXLOC__L16*/ meltfnum[6] = (melt_magic_discr((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])) == OBMAG_MIXLOC);; MELT_LOCATION("warmelt-outobj.melt:884:/ cond"); /*cond*/ if (/*_#IS_MIXLOC__L16*/ meltfnum[6]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:885:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "MELT_LOCATION(\""));} ; /*_.MIXLOC_VAL__V18*/ meltfptr[7] = (melt_val_mixloc((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])));; { MELT_LOCATION("warmelt-outobj.melt:886:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.MIXLOC_VAL__V18*/ meltfptr[7])));} ; { MELT_LOCATION("warmelt-outobj.melt:887:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( ":"));} ; /*_#GET_INT__L17*/ meltfnum[5] = (melt_get_int((melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1])));; { MELT_LOCATION("warmelt-outobj.melt:888:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_#GET_INT__L17*/ meltfnum[5]));} ; MELT_LOCATION("warmelt-outobj.melt:889:/ cond"); /*cond*/ if (/*_?*/ meltfram__.loc_CSTRING__o0) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:890:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( ":/ "));} ; { MELT_LOCATION("warmelt-outobj.melt:891:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_?*/ meltfram__.loc_CSTRING__o0));} ; MELT_LOCATION("warmelt-outobj.melt:889:/ quasiblock"); /*epilog*/ } ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:893:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "\");"));} ; MELT_LOCATION("warmelt-outobj.melt:884:/ quasiblock"); /*epilog*/ /*^clear*/ /*clear*/ /*_.MIXLOC_VAL__V18*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_#GET_INT__L17*/ meltfnum[5] = 0 ;} ; } else {/*^cond.else*/ /*_.IFELSE___V17*/ meltfptr[13] = NULL;; } ; /*^compute*/ /*_.IFELSE___V15*/ meltfptr[8] = /*_.IFELSE___V17*/ meltfptr[13];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:873:/ clear"); /*clear*/ /*_#IS_MIXLOC__L16*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V17*/ meltfptr[13] = 0 ;} ; } ; MELT_LOCATION("warmelt-outobj.melt:896:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = /*_?*/ meltfram__.loc_CSTRING__o0; /*_.OUTPUT_RAW_LOCATION__V19*/ meltfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_RAW_LOCATION*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.LOC__V2*/ meltfptr[1]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_.LET___V4*/ meltfptr[3] = /*_.OUTPUT_RAW_LOCATION__V19*/ meltfptr[11];; MELT_LOCATION("warmelt-outobj.melt:832:/ clear"); /*clear*/ /*_.PREVLOC__V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.PREVBUF__V6*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_#__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V7*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_#IS_MIXINT__L14*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V15*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_RAW_LOCATION__V19*/ meltfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:831:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V4*/ meltfptr[3];; MELT_LOCATION("warmelt-outobj.melt:831:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.LET___V4*/ meltfptr[3] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUT_LOCATION", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_29_warmelt_outobj_OUTPUT_LOCATION*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_30_warmelt_outobj_OUTPUT_CURFRAME_DECLSTRUCT(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_30_warmelt_outobj_OUTPUT_CURFRAME_DECLSTRUCT_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 MELTFRAM_NBVARPTR 13 void* varptr[13]; #define MELTFRAM_NBVARNUM 6 long varnum[6]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 13; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUT_CURFRAME_DECLSTRUCT", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:901:/ getarg"); /*_.ROU__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DSBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:902:/ quasiblock"); MELT_LOCATION("warmelt-outobj.melt:903:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), 3, "OBROUT_BODY");/*_.OBODY__V4*/ meltfptr[3] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:904:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), 4, "OBROUT_NBVAL");/*_.ONBVAL__V5*/ meltfptr[4] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:905:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), 5, "OBROUT_NBLONG");/*_.ONBLONG__V6*/ meltfptr[5] = slot; }; ; /*_#NBVAL__L1*/ meltfnum[0] = (melt_get_int((melt_ptr_t)(/*_.ONBVAL__V5*/ meltfptr[4])));; /*^compute*/ /*_#NBLONG__L2*/ meltfnum[1] = (melt_get_int((melt_ptr_t)(/*_.ONBLONG__V6*/ meltfptr[5])));; /*^compute*/ /*_#ISINITIAL__L3*/ meltfnum[2] = melt_is_instance_of((melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_INITIALROUTINEOBJ*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:909:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), 6, "OBROUT_OTHERS");/*_.OTHERS__V7*/ meltfptr[6] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:912:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:913:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( " struct "));} ; /*_#IS_A__L4*/ meltfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:914:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:916:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "frame_"));} ; MELT_LOCATION("warmelt-outobj.melt:917:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), 1, "NAMED_NAME");/*_.NAMED_NAME__V8*/ meltfptr[7] = slot; }; ; { /*^locexp*/ meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V8*/ meltfptr[7])));} ; { MELT_LOCATION("warmelt-outobj.melt:918:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "_st "));} ; MELT_LOCATION("warmelt-outobj.melt:915:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:914:/ clear"); /*clear*/ /*_.NAMED_NAME__V8*/ meltfptr[7] = 0 ;} ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:919:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "{ unsigned nbvar;"));} ; { MELT_LOCATION("warmelt-outobj.melt:920:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:921:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "#if ENABLE_CHECKING"));} ; { MELT_LOCATION("warmelt-outobj.melt:922:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:923:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( " const char* flocs;"));} ; { MELT_LOCATION("warmelt-outobj.melt:924:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:925:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "#endif"));} ; { MELT_LOCATION("warmelt-outobj.melt:926:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:929:/ cond"); /*cond*/ if (/*_#ISINITIAL__L3*/ meltfnum[2]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:930:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( " struct meltclosure_st *noinitialclos;"));} ; /*epilog*/ } ; } else {MELT_LOCATION("warmelt-outobj.melt:929:/ cond.else"); /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:931:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( " struct meltclosure_st *clos;"));} ; /*epilog*/ } ; } ; { MELT_LOCATION("warmelt-outobj.melt:932:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:933:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( " struct excepth_melt_st *exh;"));} ; { MELT_LOCATION("warmelt-outobj.melt:934:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:935:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( " struct callframe_melt_st *prev;"));} ; { MELT_LOCATION("warmelt-outobj.melt:936:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; /*_#I__L5*/ meltfnum[4] = ((/*_#NBVAL__L1*/ meltfnum[0]) > (0));; MELT_LOCATION("warmelt-outobj.melt:937:/ cond"); /*cond*/ if (/*_#I__L5*/ meltfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:939:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "#define MELTFRAM_NBVARPTR "));} ; { MELT_LOCATION("warmelt-outobj.melt:940:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (/*_#NBVAL__L1*/ meltfnum[0]));} ; { MELT_LOCATION("warmelt-outobj.melt:941:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:942:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( " void* varptr["));} ; { MELT_LOCATION("warmelt-outobj.melt:943:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (/*_#NBVAL__L1*/ meltfnum[0]));} ; { MELT_LOCATION("warmelt-outobj.melt:944:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "];"));} ; { MELT_LOCATION("warmelt-outobj.melt:945:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:938:/ quasiblock"); /*epilog*/ } ; } else {MELT_LOCATION("warmelt-outobj.melt:937:/ cond.else"); /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:947:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "/*no varptr*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:948:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:949:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "#define MELTFRAM_NBVARPTR /*none*/0"));} ; { MELT_LOCATION("warmelt-outobj.melt:950:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:946:/ quasiblock"); /*epilog*/ } ; } ; /*_#I__L6*/ meltfnum[5] = ((/*_#NBLONG__L2*/ meltfnum[1]) > (0));; MELT_LOCATION("warmelt-outobj.melt:951:/ cond"); /*cond*/ if (/*_#I__L6*/ meltfnum[5]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:953:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "#define MELTFRAM_NBVARNUM "));} ; { MELT_LOCATION("warmelt-outobj.melt:954:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (/*_#NBLONG__L2*/ meltfnum[1]));} ; { MELT_LOCATION("warmelt-outobj.melt:955:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:956:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( " long varnum["));} ; { MELT_LOCATION("warmelt-outobj.melt:957:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (/*_#NBLONG__L2*/ meltfnum[1]));} ; { MELT_LOCATION("warmelt-outobj.melt:958:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "];"));} ; { MELT_LOCATION("warmelt-outobj.melt:959:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:952:/ quasiblock"); /*epilog*/ } ; } else {MELT_LOCATION("warmelt-outobj.melt:951:/ cond.else"); /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:961:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "/*no varnum*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:962:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:963:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "#define MELTFRAM_NBVARNUM /*none*/0"));} ; { MELT_LOCATION("warmelt-outobj.melt:964:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:960:/ quasiblock"); /*epilog*/ } ; } ; MELT_LOCATION("warmelt-outobj.melt:965:/ cond"); /*cond*/ if (/*_.OTHERS__V7*/ meltfptr[6]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:968:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "/*others*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:969:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:972:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V11*/ meltfptr[10] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_5*/ meltfrout->tabval[5])), (1)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V11*/ meltfptr[10])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V11*/ meltfptr[10]))); ((meltclosure_ptr_t)/*_.LAMBDA___V11*/ meltfptr[10])->tabval[0] = (melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]); ; /*_.LAMBDA___V10*/ meltfptr[9] = /*_.LAMBDA___V11*/ meltfptr[10];; MELT_LOCATION("warmelt-outobj.melt:970:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V10*/ meltfptr[9]; /*_.LIST_EVERY__V12*/ meltfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.OTHERS__V7*/ meltfptr[6]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:966:/ quasiblock"); /*_.PROGN___V13*/ meltfptr[12] = /*_.LIST_EVERY__V12*/ meltfptr[11];; /*^compute*/ /*_.IFELSE___V9*/ meltfptr[7] = /*_.PROGN___V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:965:/ clear"); /*clear*/ /*_.LAMBDA___V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_EVERY__V12*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V13*/ meltfptr[12] = 0 ;} ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:986:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "/*no others*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:987:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:985:/ quasiblock"); /*epilog*/ } ; } ; { MELT_LOCATION("warmelt-outobj.melt:989:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( " long _spare_; }"));} ; { MELT_LOCATION("warmelt-outobj.melt:990:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:902:/ clear"); /*clear*/ /*_.OBODY__V4*/ meltfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_.ONBVAL__V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.ONBLONG__V6*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_#NBVAL__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_#NBLONG__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_#ISINITIAL__L3*/ meltfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_.OTHERS__V7*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_#IS_A__L4*/ meltfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_#I__L5*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_#I__L6*/ meltfnum[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V9*/ meltfptr[7] = 0 ; /*epilog*/ } ; goto labend_rout; labend_rout: melt_trace_end("OUTPUT_CURFRAME_DECLSTRUCT", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_30_warmelt_outobj_OUTPUT_CURFRAME_DECLSTRUCT*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_31_warmelt_outobj_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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_31_warmelt_outobj_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 MELTFRAM_NBVARPTR 9 void* varptr[9]; #define MELTFRAM_NBVARNUM 2 long varnum[2]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 9; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:972:/ getarg"); /*_.OLOC__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:973:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.OLOC__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJLOCV*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:973:/ cond"); /*cond*/ if (/*_#IS_A__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V4*/ meltfptr[3] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:973:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check other oloc"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (973)?(973):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V4*/ meltfptr[3] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V3*/ meltfptr[2] = /*_.IFELSE___V4*/ meltfptr[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:973:/ clear"); /*clear*/ /*_#IS_A__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V4*/ meltfptr[3] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V3*/ meltfptr[2] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:974:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OLOC__V2*/ meltfptr[1]), 0, "OBV_TYPE");/*_.OCTYP__V5*/ meltfptr[3] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:975:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OLOC__V2*/ meltfptr[1]), 3, "OBL_CNAME");/*_.ONAME__V6*/ meltfptr[5] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:977:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.OCTYP__V5*/ meltfptr[3]), (melt_ptr_t)((/*!CLASS_CTYPE*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:977:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V8*/ meltfptr[7] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:977:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check octyp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (977)?(977):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V8*/ meltfptr[7] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V7*/ meltfptr[6] = /*_.IFELSE___V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:977:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[6] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:978:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCTYP__V5*/ meltfptr[3]), 3, "CTYPE_CNAME");/*_.CTYPE_CNAME__V9*/ meltfptr[7] = slot; }; ; { /*^locexp*/ meltgc_add_strbuf((melt_ptr_t)((/*~DSBUF*/ meltfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.CTYPE_CNAME__V9*/ meltfptr[7])));} ; { MELT_LOCATION("warmelt-outobj.melt:979:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~DSBUF*/ meltfclos->tabval[0])), ( " "));} ; { MELT_LOCATION("warmelt-outobj.melt:980:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~DSBUF*/ meltfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.ONAME__V6*/ meltfptr[5])));} ; { MELT_LOCATION("warmelt-outobj.melt:981:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~DSBUF*/ meltfclos->tabval[0])), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:982:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~DSBUF*/ meltfclos->tabval[0])), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:974:/ clear"); /*clear*/ /*_.OCTYP__V5*/ meltfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_.ONAME__V6*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.CTYPE_CNAME__V9*/ meltfptr[7] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:972:/ clear"); /*clear*/ /*_.IFCPP___V3*/ meltfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_31_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_32_warmelt_outobj_OUTPUCOD_MARKER(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_32_warmelt_outobj_OUTPUCOD_MARKER_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 MELTFRAM_NBVARPTR 13 void* varptr[13]; #define MELTFRAM_NBVARNUM 3 long varnum[3]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 13; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_MARKER", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:996:/ getarg"); /*_.ROU__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:997:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_ROUTINEOBJ*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:997:/ cond"); /*cond*/ if (/*_#IS_A__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V5*/ meltfptr[4] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:997:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check rou"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (997)?(997):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V5*/ meltfptr[4] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:997:/ clear"); /*clear*/ /*_#IS_A__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V5*/ meltfptr[4] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V4*/ meltfptr[3] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:998:/ quasiblock"); /*^cond*/ /*cond*/ if (/*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_ROUTINEOBJ*/ meltfrout->tabval[0])))) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), 6, "OBROUT_OTHERS");/*_.OTHERS__V7*/ meltfptr[6] = slot; }; ; } else {/*^cond.else*/ /*_.OTHERS__V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION("warmelt-outobj.melt:999:/ cond"); /*cond*/ if (/*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_ROUTINEOBJ*/ meltfrout->tabval[0])))) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), 4, "OBROUT_NBVAL");/*_.OBROUT_NBVAL__V8*/ meltfptr[7] = slot; }; ; } else {/*^cond.else*/ /*_.OBROUT_NBVAL__V8*/ meltfptr[7] = NULL;; } ; /*^compute*/ /*_#NBVAL__L2*/ meltfnum[0] = (melt_get_int((melt_ptr_t)(/*_.OBROUT_NBVAL__V8*/ meltfptr[7])));; /*^compute*/ /*_#IS_NOT_A__L3*/ meltfnum[2] = !melt_is_instance_of((melt_ptr_t)(/*_.ROU__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_INITIALROUTINEOBJ*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:1001:/ cond"); /*cond*/ if (/*_#IS_NOT_A__L3*/ meltfnum[2]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1003:/ cond"); /*cond*/ if (/*ifisa*/ melt_is_instance_of((melt_ptr_t)((/*!CTYPE_VALUE*/ meltfrout->tabval[2])), (melt_ptr_t)((/*!CLASS_CTYPE*/ meltfrout->tabval[3])))) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)((/*!CTYPE_VALUE*/ meltfrout->tabval[2])), 8, "CTYPE_MARKER");/*_.CTYPE_MARKER__V9*/ meltfptr[8] = slot; }; ; } else {/*^cond.else*/ /*_.CTYPE_MARKER__V9*/ meltfptr[8] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1003:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CTYPE_MARKER__V9*/ meltfptr[8])));} ; { MELT_LOCATION("warmelt-outobj.melt:1004:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( " (framptr_->clos);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1005:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (3), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1002:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1001:/ clear"); /*clear*/ /*_.CTYPE_MARKER__V9*/ meltfptr[8] = 0 ;} ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:1006:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "for(ix=0; ix<"));} ; { MELT_LOCATION("warmelt-outobj.melt:1007:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (/*_#NBVAL__L2*/ meltfnum[0]));} ; { MELT_LOCATION("warmelt-outobj.melt:1008:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "; ix++)"));} ; { MELT_LOCATION("warmelt-outobj.melt:1009:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (4), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1010:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "if (framptr_->varptr[ix])"));} ; { MELT_LOCATION("warmelt-outobj.melt:1011:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (5), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1012:/ cond"); /*cond*/ if (/*ifisa*/ melt_is_instance_of((melt_ptr_t)((/*!CTYPE_VALUE*/ meltfrout->tabval[2])), (melt_ptr_t)((/*!CLASS_CTYPE*/ meltfrout->tabval[3])))) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)((/*!CTYPE_VALUE*/ meltfrout->tabval[2])), 8, "CTYPE_MARKER");/*_.CTYPE_MARKER__V10*/ meltfptr[8] = slot; }; ; } else {/*^cond.else*/ /*_.CTYPE_MARKER__V10*/ meltfptr[8] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1012:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.CTYPE_MARKER__V10*/ meltfptr[8])));} ; { MELT_LOCATION("warmelt-outobj.melt:1013:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( " (framptr_->varptr[ix]);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1014:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (3), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1017:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V12*/ meltfptr[11] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_9*/ meltfrout->tabval[9])), (1)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V12*/ meltfptr[11])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V12*/ meltfptr[11]))); ((meltclosure_ptr_t)/*_.LAMBDA___V12*/ meltfptr[11])->tabval[0] = (melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]); ; /*_.LAMBDA___V11*/ meltfptr[10] = /*_.LAMBDA___V12*/ meltfptr[11];; MELT_LOCATION("warmelt-outobj.melt:1015:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V11*/ meltfptr[10]; /*_.LIST_EVERY__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.OTHERS__V7*/ meltfptr[6]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.LET___V6*/ meltfptr[4] = /*_.LIST_EVERY__V13*/ meltfptr[12];; MELT_LOCATION("warmelt-outobj.melt:998:/ clear"); /*clear*/ /*_.OTHERS__V7*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.OBROUT_NBVAL__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_#NBVAL__L2*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_#IS_NOT_A__L3*/ meltfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_.CTYPE_MARKER__V10*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_EVERY__V13*/ meltfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:996:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V6*/ meltfptr[4];; MELT_LOCATION("warmelt-outobj.melt:996:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V4*/ meltfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V6*/ meltfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_MARKER", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_32_warmelt_outobj_OUTPUCOD_MARKER*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_33_warmelt_outobj_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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_33_warmelt_outobj_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 MELTFRAM_NBVARPTR 13 void* varptr[13]; #define MELTFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 13; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1017:/ getarg"); /*_.OLOC__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1018:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.OLOC__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJLOCV*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1018:/ cond"); /*cond*/ if (/*_#IS_A__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V4*/ meltfptr[3] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1018:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check other oloc"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1018)?(1018):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V4*/ meltfptr[3] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V3*/ meltfptr[2] = /*_.IFELSE___V4*/ meltfptr[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1018:/ clear"); /*clear*/ /*_#IS_A__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V4*/ meltfptr[3] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V3*/ meltfptr[2] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1019:/ quasiblock"); /*^cond*/ /*cond*/ if (/*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.OLOC__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJVALUE*/ meltfrout->tabval[1])))) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OLOC__V2*/ meltfptr[1]), 0, "OBV_TYPE");/*_.OCTYP__V6*/ meltfptr[5] = slot; }; ; } else {/*^cond.else*/ /*_.OCTYP__V6*/ meltfptr[5] = NULL;; } ; MELT_LOCATION("warmelt-outobj.melt:1020:/ cond"); /*cond*/ if (/*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.OLOC__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJLOCV*/ meltfrout->tabval[0])))) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OLOC__V2*/ meltfptr[1]), 3, "OBL_CNAME");/*_.ONAME__V7*/ meltfptr[6] = slot; }; ; } else {/*^cond.else*/ /*_.ONAME__V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION("warmelt-outobj.melt:1021:/ cond"); /*cond*/ if (/*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.OCTYP__V6*/ meltfptr[5]), (melt_ptr_t)((/*!CLASS_CTYPE*/ meltfrout->tabval[2])))) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCTYP__V6*/ meltfptr[5]), 8, "CTYPE_MARKER");/*_.OMARKER__V8*/ meltfptr[7] = slot; }; ; } else {/*^cond.else*/ /*_.OMARKER__V8*/ meltfptr[7] = NULL;; } ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1023:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.OCTYP__V6*/ meltfptr[5]), (melt_ptr_t)((/*!CLASS_CTYPE*/ meltfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:1023:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V10*/ meltfptr[9] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1023:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check octyp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1023)?(1023):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V10*/ meltfptr[9] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V9*/ meltfptr[8] = /*_.IFELSE___V10*/ meltfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1023:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V10*/ meltfptr[9] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V9*/ meltfptr[8] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; /*^compute*/ /*_#IS_STRING__L3*/ meltfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.OMARKER__V8*/ meltfptr[7])) == OBMAG_STRING);; MELT_LOCATION("warmelt-outobj.melt:1025:/ cond"); /*cond*/ if (/*_#IS_STRING__L3*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1026:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), ( "if (framptr_->"));} ; { MELT_LOCATION("warmelt-outobj.melt:1027:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.ONAME__V7*/ meltfptr[6])));} ; { MELT_LOCATION("warmelt-outobj.melt:1028:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), ( ") "));} ; { MELT_LOCATION("warmelt-outobj.melt:1029:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.OMARKER__V8*/ meltfptr[7])));} ; { MELT_LOCATION("warmelt-outobj.melt:1030:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), ( " (framptr_->"));} ; { MELT_LOCATION("warmelt-outobj.melt:1031:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.ONAME__V7*/ meltfptr[6])));} ; { MELT_LOCATION("warmelt-outobj.melt:1032:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), ( ");"));} ; { MELT_LOCATION("warmelt-outobj.melt:1033:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), (3), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1025:/ quasiblock"); /*epilog*/ } ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ /*_#IS_A__L4*/ meltfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.OMARKER__V8*/ meltfptr[7]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:1035:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1036:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), ( "if (framptr_->"));} ; { MELT_LOCATION("warmelt-outobj.melt:1037:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.ONAME__V7*/ meltfptr[6])));} ; { MELT_LOCATION("warmelt-outobj.melt:1038:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), ( ") "));} ; MELT_LOCATION("warmelt-outobj.melt:1039:/ cond"); /*cond*/ if (/*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.OMARKER__V8*/ meltfptr[7]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[3])))) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMARKER__V8*/ meltfptr[7]), 1, "NAMED_NAME");/*_.NAMED_NAME__V13*/ meltfptr[12] = slot; }; ; } else {/*^cond.else*/ /*_.NAMED_NAME__V13*/ meltfptr[12] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1039:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V13*/ meltfptr[12])));} ; { MELT_LOCATION("warmelt-outobj.melt:1040:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), ( " (framptr_->"));} ; { MELT_LOCATION("warmelt-outobj.melt:1041:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.ONAME__V7*/ meltfptr[6])));} ; { MELT_LOCATION("warmelt-outobj.melt:1042:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), ( ");"));} ; { MELT_LOCATION("warmelt-outobj.melt:1043:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), (3), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1035:/ quasiblock"); /*epilog*/ /*^clear*/ /*clear*/ /*_.NAMED_NAME__V13*/ meltfptr[12] = 0 ;} ; } else {/*^cond.else*/ /*_.IFELSE___V12*/ meltfptr[11] = NULL;; } ; /*^compute*/ /*_.IFELSE___V11*/ meltfptr[9] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1025:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ;} ; } ; /*_.LET___V5*/ meltfptr[3] = /*_.IFELSE___V11*/ meltfptr[9];; MELT_LOCATION("warmelt-outobj.melt:1019:/ clear"); /*clear*/ /*_.OCTYP__V6*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.ONAME__V7*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.OMARKER__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V9*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_#IS_STRING__L3*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V11*/ meltfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1017:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V5*/ meltfptr[3];; MELT_LOCATION("warmelt-outobj.melt:1017:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V3*/ meltfptr[2] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V5*/ meltfptr[3] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_33_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_34_warmelt_outobj_OUTPUT_CURFRAME_DECLSTRUCT_INIT(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_34_warmelt_outobj_OUTPUT_CURFRAME_DECLSTRUCT_INIT_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 MELTFRAM_NBVARPTR 10 void* varptr[10]; #define MELTFRAM_NBVARNUM 6 long varnum[6]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 10; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUT_CURFRAME_DECLSTRUCT_INIT", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1050:/ getarg"); /*_.DECLSTRUCT__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.ROU__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.ROU__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1052:/ quasiblock"); MELT_LOCATION("warmelt-outobj.melt:1053:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ROU__V3*/ meltfptr[2]), 3, "OBROUT_BODY");/*_.OBODY__V5*/ meltfptr[4] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1054:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ROU__V3*/ meltfptr[2]), 4, "OBROUT_NBVAL");/*_.ONBVAL__V6*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1055:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ROU__V3*/ meltfptr[2]), 5, "OBROUT_NBLONG");/*_.ONBLONG__V7*/ meltfptr[6] = slot; }; ; /*_#NBVAL__L1*/ meltfnum[0] = (melt_get_int((melt_ptr_t)(/*_.ONBVAL__V6*/ meltfptr[5])));; /*^compute*/ /*_#NBLONG__L2*/ meltfnum[1] = (melt_get_int((melt_ptr_t)(/*_.ONBLONG__V7*/ meltfptr[6])));; /*^compute*/ /*_#ISINITIAL__L3*/ meltfnum[2] = melt_is_instance_of((melt_ptr_t)(/*_.ROU__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_INITIALROUTINEOBJ*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1059:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ROU__V3*/ meltfptr[2]), 6, "OBROUT_OTHERS");/*_.OTHERS__V8*/ meltfptr[7] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1062:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1063:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#if ENABLE_CHECKING"));} ; { MELT_LOCATION("warmelt-outobj.melt:1064:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1065:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " static long call_counter__;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1066:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1067:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1068:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1069:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef meltcallcount"));} ; { MELT_LOCATION("warmelt-outobj.melt:1070:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1071:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#define meltcallcount thiscallcounter__"));} ; { MELT_LOCATION("warmelt-outobj.melt:1072:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1073:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#else"));} ; { MELT_LOCATION("warmelt-outobj.melt:1074:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1075:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef meltcallcount"));} ; { MELT_LOCATION("warmelt-outobj.melt:1076:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1077:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#define meltcallcount 0L"));} ; { MELT_LOCATION("warmelt-outobj.melt:1078:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1079:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#endif"));} ; { MELT_LOCATION("warmelt-outobj.melt:1080:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1081:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*_.DECLSTRUCT__V9*/ meltfptr[8] = melt_apply ((meltclosure_ptr_t)(/*_.DECLSTRUCT__V2*/ meltfptr[1]), (melt_ptr_t)(/*_.ROU__V3*/ meltfptr[2]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_#NOT__L4*/ meltfnum[3] = (!(/*_#ISINITIAL__L3*/ meltfnum[2]));; MELT_LOCATION("warmelt-outobj.melt:1082:/ cond"); /*cond*/ if (/*_#NOT__L4*/ meltfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1083:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " *framptr_=0,"));} ; /*epilog*/ } ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:1084:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " meltframe;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1085:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1086:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#define meltfram__ meltframe"));} ; /*_#NOT__L5*/ meltfnum[4] = (!(/*_#ISINITIAL__L3*/ meltfnum[2]));; MELT_LOCATION("warmelt-outobj.melt:1087:/ cond"); /*cond*/ if (/*_#NOT__L5*/ meltfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1089:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (2), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1090:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1091:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (3), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1092:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "int ix=0;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1093:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (3), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1094:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "framptr_ = (void*)firstargp_;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1095:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (3), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1096:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*_.OUTPUCOD_MARKER__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUCOD_MARKER*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.ROU__V3*/ meltfptr[2]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1097:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "return NULL;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1098:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (2), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1099:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "}/*end markggc*/;"));} ; MELT_LOCATION("warmelt-outobj.melt:1088:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1087:/ clear"); /*clear*/ /*_.OUTPUCOD_MARKER__V10*/ meltfptr[9] = 0 ;} ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:1102:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1103:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " memset(&meltfram__, 0, sizeof(meltfram__));"));} ; { MELT_LOCATION("warmelt-outobj.melt:1104:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1105:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " meltfram__.nbvar = "));} ; { MELT_LOCATION("warmelt-outobj.melt:1106:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#NBVAL__L1*/ meltfnum[0]));} ; { MELT_LOCATION("warmelt-outobj.melt:1107:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1108:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; /*_#NOT__L6*/ meltfnum[5] = (!(/*_#ISINITIAL__L3*/ meltfnum[2]));; MELT_LOCATION("warmelt-outobj.melt:1109:/ cond"); /*cond*/ if (/*_#NOT__L6*/ meltfnum[5]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1111:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " meltfram__.clos = closp_;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1112:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1110:/ quasiblock"); /*epilog*/ } ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:1113:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " meltfram__.prev = (struct callframe_melt_st *) melt_topframe;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1114:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1115:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " melt_topframe = (struct callframe_melt_st *) &meltfram__;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1116:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1052:/ clear"); /*clear*/ /*_.OBODY__V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.ONBVAL__V6*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.ONBLONG__V7*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_#NBVAL__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_#NBLONG__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_#ISINITIAL__L3*/ meltfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_.OTHERS__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.DECLSTRUCT__V9*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L4*/ meltfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L5*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L6*/ meltfnum[5] = 0 ; /*epilog*/ } ; goto labend_rout; labend_rout: melt_trace_end("OUTPUT_CURFRAME_DECLSTRUCT_INIT", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_34_warmelt_outobj_OUTPUT_CURFRAME_DECLSTRUCT_INIT*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_35_warmelt_outobj_OUTPUCOD_PROCROUTINE(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_35_warmelt_outobj_OUTPUCOD_PROCROUTINE_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 MELTFRAM_NBVARPTR 35 void* varptr[35]; #define MELTFRAM_NBVARNUM 12 long varnum[12]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<35; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 35; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_PROCROUTINE", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1120:/ getarg"); /*_.PROU__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1121:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.PROU__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_PROCROUTINEOBJ*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1121:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1121:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check prou"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1121)?(1121):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1121:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1122:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PROU__V2*/ meltfptr[1]), 1, "NAMED_NAME");/*_.ONAM__V7*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1123:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PROU__V2*/ meltfptr[1]), 3, "OBROUT_BODY");/*_.OBODY__V8*/ meltfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1124:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PROU__V2*/ meltfptr[1]), 4, "OBROUT_NBVAL");/*_.ONBVAL__V9*/ meltfptr[8] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1125:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PROU__V2*/ meltfptr[1]), 5, "OBROUT_NBLONG");/*_.ONBLONG__V10*/ meltfptr[9] = slot; }; ; /*_#NBVAL__L3*/ meltfnum[1] = (melt_get_int((melt_ptr_t)(/*_.ONBVAL__V9*/ meltfptr[8])));; /*^compute*/ /*_#NBLONG__L4*/ meltfnum[3] = (melt_get_int((melt_ptr_t)(/*_.ONBLONG__V10*/ meltfptr[9])));; MELT_LOCATION("warmelt-outobj.melt:1128:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PROU__V2*/ meltfptr[1]), 6, "OBROUT_OTHERS");/*_.OTHERS__V11*/ meltfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1129:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PROU__V2*/ meltfptr[1]), 10, "OPROUT_GETARGS");/*_.OGARGS__V12*/ meltfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1130:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PROU__V2*/ meltfptr[1]), 7, "OBROUT_RETVAL");/*_.ORETVAL__V13*/ meltfptr[12] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1131:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PROU__V2*/ meltfptr[1]), 11, "OPROUT_LOC");/*_.ORLOC__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1132:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PROU__V2*/ meltfptr[1]), 12, "OPROUT_FUNAM");/*_.OFUNAM__V15*/ meltfptr[14] = slot; }; ; /*_#IS_STRING__L5*/ meltfnum[4] = (melt_magic_discr((melt_ptr_t)(/*_.OFUNAM__V15*/ meltfptr[14])) == OBMAG_STRING);; /*^compute*/ /*_#NOT__L6*/ meltfnum[5] = (!(/*_#IS_STRING__L5*/ meltfnum[4]));; MELT_LOCATION("warmelt-outobj.melt:1135:/ cond"); /*cond*/ if (/*_#NOT__L6*/ meltfnum[5]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1136:/ compute"); /*_.OFUNAM__V15*/ meltfptr[14] = /*_.SETQ___V17*/ meltfptr[16] = (/*!konst_1*/ meltfrout->tabval[1]);; /*_.IF___V16*/ meltfptr[15] = /*_.SETQ___V17*/ meltfptr[16];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1135:/ clear"); /*clear*/ /*_.SETQ___V17*/ meltfptr[16] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V16*/ meltfptr[15] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1138:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1139:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1140:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = 0; /*^apply.arg*/ argtab[2].bp_cstring = "proc"; /*_.OUTPUT_RAW_LOCATION__V18*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_RAW_LOCATION*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.ORLOC__V14*/ meltfptr[13]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1141:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; /*_#IS_MIXINT__L7*/ meltfnum[6] = (melt_magic_discr((melt_ptr_t)(/*_.ORLOC__V14*/ meltfptr[13])) == OBMAG_MIXINT);; MELT_LOCATION("warmelt-outobj.melt:1142:/ cond"); /*cond*/ if (/*_#IS_MIXINT__L7*/ meltfnum[6]) /*then*/ { /*^cond.then*/ /*_#OR___L8*/ meltfnum[7] = /*_#IS_MIXINT__L7*/ meltfnum[6];; } else {MELT_LOCATION("warmelt-outobj.melt:1142:/ cond.else"); /*^block*/ /*anyblock*/{ /*_#IS_MIXLOC__L9*/ meltfnum[8] = (melt_magic_discr((melt_ptr_t)(/*_.ORLOC__V14*/ meltfptr[13])) == OBMAG_MIXLOC);; /*^compute*/ /*_#OR___L8*/ meltfnum[7] = /*_#IS_MIXLOC__L9*/ meltfnum[8];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1142:/ clear"); /*clear*/ /*_#IS_MIXLOC__L9*/ meltfnum[8] = 0 ;} ; } ; /*^cond*/ /*cond*/ if (/*_#OR___L8*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1143:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_long = 0; /*^apply.arg*/ argtab[2].bp_cstring = "procdecl"; /*_.OUTPUT_RAW_LOCATION__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_RAW_LOCATION*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.ORLOC__V14*/ meltfptr[13]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V19*/ meltfptr[18] = /*_.OUTPUT_RAW_LOCATION__V20*/ meltfptr[19];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1142:/ clear"); /*clear*/ /*_.OUTPUT_RAW_LOCATION__V20*/ meltfptr[19] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V19*/ meltfptr[18] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1145:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( "melt_ptr_t MELT_MODULE_VISIBILITY "));} ; { MELT_LOCATION("warmelt-outobj.melt:1146:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.ONAM__V7*/ meltfptr[5])));} ; { MELT_LOCATION("warmelt-outobj.melt:1147:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( "(meltclosure_ptr_t closp_,"));} ; { MELT_LOCATION("warmelt-outobj.melt:1148:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( " melt_ptr_t firstargp_,"));} ; { MELT_LOCATION("warmelt-outobj.melt:1149:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( " const char xargdescr_[],"));} ; { MELT_LOCATION("warmelt-outobj.melt:1150:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( " union meltparam_un *xargtab_,"));} ; { MELT_LOCATION("warmelt-outobj.melt:1151:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( " const char xresdescr_[],"));} ; { MELT_LOCATION("warmelt-outobj.melt:1152:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( " union meltparam_un *xrestab_);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1153:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1155:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1156:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1157:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1158:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "melt_ptr_t MELT_MODULE_VISIBILITY "));} ; { MELT_LOCATION("warmelt-outobj.melt:1159:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1160:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAM__V7*/ meltfptr[5])));} ; { MELT_LOCATION("warmelt-outobj.melt:1161:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "(meltclosure_ptr_t closp_,"));} ; { MELT_LOCATION("warmelt-outobj.melt:1162:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " melt_ptr_t firstargp_,"));} ; { MELT_LOCATION("warmelt-outobj.melt:1163:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " const char xargdescr_[],"));} ; { MELT_LOCATION("warmelt-outobj.melt:1164:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " union meltparam_un *xargtab_,"));} ; { MELT_LOCATION("warmelt-outobj.melt:1165:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (5), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1166:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " const char xresdescr_[],"));} ; { MELT_LOCATION("warmelt-outobj.melt:1167:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " union meltparam_un *xrestab_)"));} ; { MELT_LOCATION("warmelt-outobj.melt:1168:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1169:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "{"));} ; MELT_LOCATION("warmelt-outobj.melt:1170:/ apply"); /*apply*/{ union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.PROU__V2*/ meltfptr[1]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*_.OUTPUT_CURFRAME_DECLSTRUCT_INIT__V21*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CURFRAME_DECLSTRUCT_INIT*/ meltfrout->tabval[3])), (melt_ptr_t)((/*!OUTPUT_CURFRAME_DECLSTRUCT*/ meltfrout->tabval[4])), (BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1171:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "melt_trace_start(\""));} ; { MELT_LOCATION("warmelt-outobj.melt:1172:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.OFUNAM__V15*/ meltfptr[14])));} ; { MELT_LOCATION("warmelt-outobj.melt:1173:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "\", meltcallcount);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1174:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1176:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*getargs*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1177:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1178:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[8] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1178:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_procroutine output ogargs"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[8]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1178; /*_.DEBUG_MSG_FUN__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.OGARGS__V12*/ meltfptr[11]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V22*/ meltfptr[21] = /*_.DEBUG_MSG_FUN__V23*/ meltfptr[22];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1178:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V23*/ meltfptr[22] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V22*/ meltfptr[21] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1179:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_MULTIPLE_OR_NULL__L11*/ meltfnum[8] = ((/*_.OGARGS__V12*/ meltfptr[11]) == NULL || (melt_unsafe_magic_discr((melt_ptr_t)(/*_.OGARGS__V12*/ meltfptr[11])) == OBMAG_MULTIPLE));; MELT_LOCATION("warmelt-outobj.melt:1179:/ cond"); /*cond*/ if (/*_#IS_MULTIPLE_OR_NULL__L11*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V25*/ meltfptr[24] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1179:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check ogargs"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1179)?(1179):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V25*/ meltfptr[24] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V24*/ meltfptr[22] = /*_.IFELSE___V25*/ meltfptr[24];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1179:/ clear"); /*clear*/ /*_#IS_MULTIPLE_OR_NULL__L11*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V25*/ meltfptr[24] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V24*/ meltfptr[22] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1182:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V27*/ meltfptr[26] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_8*/ meltfrout->tabval[8])), (2)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V27*/ meltfptr[26])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V27*/ meltfptr[26]))); ((meltclosure_ptr_t)/*_.LAMBDA___V27*/ meltfptr[26])->tabval[0] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V27*/ meltfptr[26])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V27*/ meltfptr[26]))); ((meltclosure_ptr_t)/*_.LAMBDA___V27*/ meltfptr[26])->tabval[1] = (melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]); ; /*_.LAMBDA___V26*/ meltfptr[24] = /*_.LAMBDA___V27*/ meltfptr[26];; MELT_LOCATION("warmelt-outobj.melt:1180:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V26*/ meltfptr[24]; /*_.MULTIPLE_EVERY__V28*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.OGARGS__V12*/ meltfptr[11]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1190:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1191:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1192:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " goto lab_endgetargs;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1193:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1194:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "lab_endgetargs:;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1195:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1198:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_LIST__L12*/ meltfnum[8] = (melt_magic_discr((melt_ptr_t)(/*_.OBODY__V8*/ meltfptr[7])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1198:/ cond"); /*cond*/ if (/*_#IS_LIST__L12*/ meltfnum[8]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V30*/ meltfptr[29] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1198:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check obody"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1198)?(1198):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V30*/ meltfptr[29] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V29*/ meltfptr[28] = /*_.IFELSE___V30*/ meltfptr[29];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1198:/ clear"); /*clear*/ /*_#IS_LIST__L12*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V30*/ meltfptr[29] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V29*/ meltfptr[28] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; { MELT_LOCATION("warmelt-outobj.melt:1199:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*body*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1200:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1203:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V32*/ meltfptr[31] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_12*/ meltfrout->tabval[12])), (2)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V32*/ meltfptr[31])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V32*/ meltfptr[31]))); ((meltclosure_ptr_t)/*_.LAMBDA___V32*/ meltfptr[31])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V32*/ meltfptr[31])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V32*/ meltfptr[31]))); ((meltclosure_ptr_t)/*_.LAMBDA___V32*/ meltfptr[31])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]); ; /*_.LAMBDA___V31*/ meltfptr[29] = /*_.LAMBDA___V32*/ meltfptr[31];; MELT_LOCATION("warmelt-outobj.melt:1201:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V31*/ meltfptr[29]; /*_.LIST_EVERY__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ meltfrout->tabval[9])), (melt_ptr_t)(/*_.OBODY__V8*/ meltfptr[7]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1209:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1210:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1211:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " goto labend_rout;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1212:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1213:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "labend_rout:"));} ; { MELT_LOCATION("warmelt-outobj.melt:1214:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1215:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "melt_trace_end(\""));} ; { MELT_LOCATION("warmelt-outobj.melt:1216:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.OFUNAM__V15*/ meltfptr[14])));} ; { MELT_LOCATION("warmelt-outobj.melt:1217:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "\", meltcallcount);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1218:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " melt_topframe = (struct callframe_melt_st*) meltfram__.prev;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1219:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1220:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " return (melt_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:1221:/ cond"); /*cond*/ if (/*_.ORETVAL__V13*/ meltfptr[12]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1222:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^ojbmsend.arg*/ argtab[2].bp_long = 1; /*_.OUTPUT_C_CODE__V35*/ meltfptr[34] = meltgc_send((melt_ptr_t)(/*_.ORETVAL__V13*/ meltfptr[12]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[13])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFELSE___V34*/ meltfptr[33] = /*_.OUTPUT_C_CODE__V35*/ meltfptr[34];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1221:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V35*/ meltfptr[34] = 0 ;} ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1223:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*noretval*/ NULL"));} ; /*clear*/ /*_.IFELSE___V34*/ meltfptr[33] = 0 ; /*epilog*/ } ; } ; { MELT_LOCATION("warmelt-outobj.melt:1224:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ");"));} ; { MELT_LOCATION("warmelt-outobj.melt:1225:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1226:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef meltcallcount"));} ; { MELT_LOCATION("warmelt-outobj.melt:1227:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1228:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef meltfram__"));} ; { MELT_LOCATION("warmelt-outobj.melt:1229:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1230:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef MELTFRAM_NBVARNUM"));} ; { MELT_LOCATION("warmelt-outobj.melt:1231:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1232:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef MELTFRAM_NBVARPTR"));} ; { MELT_LOCATION("warmelt-outobj.melt:1233:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1234:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "} /*end "));} ; { MELT_LOCATION("warmelt-outobj.melt:1235:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAM__V7*/ meltfptr[5])));} ; { MELT_LOCATION("warmelt-outobj.melt:1236:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1237:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1238:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1122:/ clear"); /*clear*/ /*_.ONAM__V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.OBODY__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.ONBVAL__V9*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.ONBLONG__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_#NBVAL__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_#NBLONG__L4*/ meltfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_.OTHERS__V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.OGARGS__V12*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.ORETVAL__V13*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.ORLOC__V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_.OFUNAM__V15*/ meltfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_#IS_STRING__L5*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L6*/ meltfnum[5] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V16*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_RAW_LOCATION__V18*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_#IS_MIXINT__L7*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_#OR___L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V19*/ meltfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_CURFRAME_DECLSTRUCT_INIT__V21*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V24*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V26*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.MULTIPLE_EVERY__V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V29*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V31*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_EVERY__V33*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V34*/ meltfptr[33] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1120:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_PROCROUTINE", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_35_warmelt_outobj_OUTPUCOD_PROCROUTINE*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_36_warmelt_outobj_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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_36_warmelt_outobj_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 MELTFRAM_NBVARPTR 3 void* varptr[3]; #define MELTFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 3; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1182:/ getarg"); /*_.CURGET__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#CURANK__L1*/ meltfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1183:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1184:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), ( "/*getarg#"));} ; { MELT_LOCATION("warmelt-outobj.melt:1185:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), (/*_#CURANK__L1*/ meltfnum[0]));} ; { MELT_LOCATION("warmelt-outobj.melt:1186:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1187:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1188:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ meltfclos->tabval[1]); /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ meltfclos->tabval[0]); /*^ojbmsend.arg*/ argtab[2].bp_long = 1; /*_.OUTPUT_C_CODE__V3*/ meltfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURGET__V2*/ meltfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1182:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.OUTPUT_C_CODE__V3*/ meltfptr[2];; MELT_LOCATION("warmelt-outobj.melt:1182:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.OUTPUT_C_CODE__V3*/ meltfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_36_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_37_warmelt_outobj_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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_37_warmelt_outobj_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 MELTFRAM_NBVARPTR 3 void* varptr[3]; #define MELTFRAM_NBVARNUM 3 long varnum[3]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 3; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1203:/ getarg"); /*_.CURBODY__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1204:/ cond"); /*cond*/ if (/*_.CURBODY__V2*/ meltfptr[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.CURBODY__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ meltfrout->tabval[0])));; /*^compute*/ /*_#NOT__L3*/ meltfnum[2] = (!(/*_#IS_A__L2*/ meltfnum[1]));; /*^compute*/ /*_#IF___L1*/ meltfnum[0] = /*_#NOT__L3*/ meltfnum[2];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1204:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L3*/ meltfnum[2] = 0 ;} ; } else {/*^cond.else*/ /*_#IF___L1*/ meltfnum[0] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1204:/ cond"); /*cond*/ if (/*_#IF___L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1206:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ meltfclos->tabval[0]); /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ meltfclos->tabval[1]); /*^ojbmsend.arg*/ argtab[2].bp_long = 0; /*_.OUTPUT_C_CODE__V3*/ meltfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURBODY__V2*/ meltfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[1])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1207:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[1])), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1205:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1204:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ meltfptr[2] = 0 ;} ; } /*noelse*/ ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1203:/ clear"); /*clear*/ /*_#IF___L1*/ meltfnum[0] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_37_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_warmelt_outobj_OUTPUT_CURFRAME_CDAT_STRUCT(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_38_warmelt_outobj_OUTPUT_CURFRAME_CDAT_STRUCT_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 MELTFRAM_NBVARPTR 6 void* varptr[6]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 6; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUT_CURFRAME_CDAT_STRUCT", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1246:/ getarg"); /*_.IDATUP__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1247:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1248:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "struct cdata_st {"));} ; MELT_LOCATION("warmelt-outobj.melt:1251:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V5*/ meltfptr[4] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_2*/ meltfrout->tabval[2])), (1)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V5*/ meltfptr[4])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V5*/ meltfptr[4]))); ((meltclosure_ptr_t)/*_.LAMBDA___V5*/ meltfptr[4])->tabval[0] = (melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]); ; /*_.LAMBDA___V4*/ meltfptr[3] = /*_.LAMBDA___V5*/ meltfptr[4];; MELT_LOCATION("warmelt-outobj.melt:1249:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V4*/ meltfptr[3]; /*_.MULTIPLE_EVERY__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.IDATUP__V2*/ meltfptr[1]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1255:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1256:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( " long spare_;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1257:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1258:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "}"));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1246:/ clear"); /*clear*/ /*_.LAMBDA___V4*/ meltfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_.MULTIPLE_EVERY__V6*/ meltfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUT_CURFRAME_CDAT_STRUCT", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_38_warmelt_outobj_OUTPUT_CURFRAME_CDAT_STRUCT*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_warmelt_outobj_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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_39_warmelt_outobj_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 MELTFRAM_NBVARPTR 3 void* varptr[3]; #define MELTFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 3; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1251:/ getarg"); /*_.CURDAT__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#CURK__L1*/ meltfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1253:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[0])), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1254:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ meltfclos->tabval[0]); /*_.OUTPUT_C_DECLINIT__V3*/ meltfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURDAT__V2*/ meltfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_DECLINIT*/ meltfrout->tabval[0])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1251:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.OUTPUT_C_DECLINIT__V3*/ meltfptr[2];; MELT_LOCATION("warmelt-outobj.melt:1251:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.OUTPUT_C_DECLINIT__V3*/ meltfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_39_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_warmelt_outobj_OUTPUT_CURFRAME_CDAT_FILL(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_40_warmelt_outobj_OUTPUT_CURFRAME_CDAT_FILL_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 MELTFRAM_NBVARPTR 9 void* varptr[9]; #define MELTFRAM_NBVARNUM 3 long varnum[3]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 9; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUT_CURFRAME_CDAT_FILL", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1262:/ getarg"); /*_.IDATUP__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1264:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( " cdat = (struct cdata_st*) meltgc_allocate(sizeof(*cdat),0);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1265:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1266:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( " melt_prohibit_garbcoll = TRUE;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1267:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1270:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "/*initial routine predef*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1271:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (1), 0);} ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start cit1__EACHTUP: */ long cit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.IDATUP__V2*/ meltfptr[1]); for (/*_#CURK__L1*/ meltfnum[0] = 0; (/*_#CURK__L1*/ meltfnum[0] >= 0) && (/*_#CURK__L1*/ meltfnum[0] < cit1__EACHTUP_ln); /*_#CURK__L1*/ meltfnum[0]++) { /*_.CURPDAT__V4*/ meltfptr[3] = melt_multiple_nth((melt_ptr_t)(/*_.IDATUP__V2*/ meltfptr[1]), /*_#CURK__L1*/ meltfnum[0]); #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1275:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1275:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_initialroutine curpdat inipredef"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1275; /*_.DEBUG_MSG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.CURPDAT__V4*/ meltfptr[3]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V5*/ meltfptr[4] = /*_.DEBUG_MSG_FUN__V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1275:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1276:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &(/*!konst_2*/ meltfrout->tabval[2]); /*^ojbmsend.arg*/ argtab[2].bp_long = 1; /*_.OUTPUT_C_INITIAL_PREDEF__V7*/ meltfptr[5] = meltgc_send((melt_ptr_t)(/*_.CURPDAT__V4*/ meltfptr[3]), (melt_ptr_t)((/*!OUTPUT_C_INITIAL_PREDEF*/ meltfrout->tabval[1])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; if (/*_#CURK__L1*/ meltfnum[0]<0) break; } /* end cit1__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-outobj.melt:1272:/ clear"); /*clear*/ /*_.CURPDAT__V4*/ meltfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_#CURK__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_INITIAL_PREDEF__V7*/ meltfptr[5] = 0 ;} /*endciterblock FOREACH_IN_MULTIPLE*/ ; { MELT_LOCATION("warmelt-outobj.melt:1279:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( "/*initial routine fill*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1280:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (1), 0);} ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start cit2__EACHTUP: */ long cit2__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.IDATUP__V2*/ meltfptr[1]); for (/*_#CURK__L3*/ meltfnum[1] = 0; (/*_#CURK__L3*/ meltfnum[1] >= 0) && (/*_#CURK__L3*/ meltfnum[1] < cit2__EACHTUP_ln); /*_#CURK__L3*/ meltfnum[1]++) { /*_.CURFIL__V8*/ meltfptr[7] = melt_multiple_nth((melt_ptr_t)(/*_.IDATUP__V2*/ meltfptr[1]), /*_#CURK__L3*/ meltfnum[1]); { MELT_LOCATION("warmelt-outobj.melt:1285:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1286:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &(/*!konst_4*/ meltfrout->tabval[4]); /*^ojbmsend.arg*/ argtab[2].bp_long = 0; /*_.OUTPUT_C_INITIAL_FILL__V9*/ meltfptr[8] = meltgc_send((melt_ptr_t)(/*_.CURFIL__V8*/ meltfptr[7]), (melt_ptr_t)((/*!OUTPUT_C_INITIAL_FILL*/ meltfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; if (/*_#CURK__L3*/ meltfnum[1]<0) break; } /* end cit2__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-outobj.melt:1281:/ clear"); /*clear*/ /*_.CURFIL__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_#CURK__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_INITIAL_FILL__V9*/ meltfptr[8] = 0 ;} /*endciterblock FOREACH_IN_MULTIPLE*/ ; { MELT_LOCATION("warmelt-outobj.melt:1291:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( " cdat = NULL;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1292:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1293:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), ( " melt_prohibit_garbcoll = FALSE;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1294:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V3*/ meltfptr[2]), (0), 0);} ; /*epilog*/ } ; goto labend_rout; labend_rout: melt_trace_end("OUTPUT_CURFRAME_CDAT_FILL", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_40_warmelt_outobj_OUTPUT_CURFRAME_CDAT_FILL*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_warmelt_outobj_OUTPUCOD_INITIALROUTINE(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_41_warmelt_outobj_OUTPUCOD_INITIALROUTINE_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 MELTFRAM_NBVARPTR 43 void* varptr[43]; #define MELTFRAM_NBVARNUM 15 long varnum[15]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<43; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 43; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_INITIALROUTINE", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1301:/ getarg"); /*_.PINI__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1302:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.PINI__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_INITIALROUTINEOBJ*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1302:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1302:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check pini"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1302)?(1302):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1302:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1303:/ quasiblock"); MELT_LOCATION("warmelt-outobj.melt:1304:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PINI__V2*/ meltfptr[1]), 10, "OIROUT_DATA");/*_.IDATUP__V7*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1305:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PINI__V2*/ meltfptr[1]), 12, "OIROUT_FILL");/*_.IRFILL__V8*/ meltfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1306:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PINI__V2*/ meltfptr[1]), 11, "OIROUT_PROLOG");/*_.IPROLOG__V9*/ meltfptr[8] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1307:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PINI__V2*/ meltfptr[1]), 7, "OBROUT_RETVAL");/*_.ORETVAL__V10*/ meltfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1308:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PINI__V2*/ meltfptr[1]), 13, "OIROUT_MODULENAME");/*_.OMODNAM__V11*/ meltfptr[10] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1310:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1311:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1312:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( "void* start_module_melt(void*);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1313:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1314:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( "void mark_module_melt(void*);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1315:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1316:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( "void* initial_frame_melt;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1317:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1318:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1319:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1320:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "typedef "));} ; MELT_LOCATION("warmelt-outobj.melt:1321:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*_.OUTPUT_CURFRAME_DECLSTRUCT__V12*/ meltfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CURFRAME_DECLSTRUCT*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.PINI__V2*/ meltfptr[1]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1322:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " initial_frame_st;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1323:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1324:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1325:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1326:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "static void initialize_module_meltdata(initial_frame_st *iniframp__, char predefinited[])"));} ; { MELT_LOCATION("warmelt-outobj.melt:1327:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1328:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "{"));} ; { MELT_LOCATION("warmelt-outobj.melt:1329:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1330:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#define meltfram__ (*iniframp__)"));} ; { MELT_LOCATION("warmelt-outobj.melt:1331:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1332:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*_.OUTPUT_CURFRAME_CDAT_STRUCT__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CURFRAME_CDAT_STRUCT*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.IDATUP__V7*/ meltfptr[5]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1333:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " *cdat = NULL;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1334:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1336:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*_.OUTPUT_CURFRAME_CDAT_FILL__V14*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CURFRAME_CDAT_FILL*/ meltfrout->tabval[3])), (melt_ptr_t)(/*_.IDATUP__V7*/ meltfptr[5]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1337:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1338:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef meltfram__"));} ; { MELT_LOCATION("warmelt-outobj.melt:1339:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1340:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "} /*end initialize_module_meltdata*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1341:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1342:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1343:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1344:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "void* start_module_melt(void* modargp_) {"));} ; { MELT_LOCATION("warmelt-outobj.melt:1345:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1350:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1351:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "char predefinited[MELTGLOB__LASTGLOB+8];"));} ; { MELT_LOCATION("warmelt-outobj.melt:1352:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1355:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V16*/ meltfptr[15] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_5*/ meltfrout->tabval[5])), (0)); ; /*_.LAMBDA___V15*/ meltfptr[14] = /*_.LAMBDA___V16*/ meltfptr[15];; MELT_LOCATION("warmelt-outobj.melt:1354:/ apply"); /*apply*/{ union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.PINI__V2*/ meltfptr[1]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*_.OUTPUT_CURFRAME_DECLSTRUCT_INIT__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CURFRAME_DECLSTRUCT_INIT*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.LAMBDA___V15*/ meltfptr[14]), (BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1362:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/**initial routine prologue**/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1363:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1364:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "initial_frame_melt = (void*) &meltfram__;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1365:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1368:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V19*/ meltfptr[18] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_9*/ meltfrout->tabval[9])), (2)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V19*/ meltfptr[18])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V19*/ meltfptr[18]))); ((meltclosure_ptr_t)/*_.LAMBDA___V19*/ meltfptr[18])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V19*/ meltfptr[18])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V19*/ meltfptr[18]))); ((meltclosure_ptr_t)/*_.LAMBDA___V19*/ meltfptr[18])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]); ; /*_.LAMBDA___V18*/ meltfptr[17] = /*_.LAMBDA___V19*/ meltfptr[18];; MELT_LOCATION("warmelt-outobj.melt:1366:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V18*/ meltfptr[17]; /*_.LIST_EVERY__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.IPROLOG__V9*/ meltfptr[8]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1375:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/**initial routine cdata initializer**/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1376:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1378:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1379:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "memset(predefinited, 0, sizeof(predefinited));"));} ; { MELT_LOCATION("warmelt-outobj.melt:1380:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1381:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "initialize_module_meltdata(&meltfram__, predefinited);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1382:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1385:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/**initial routine body**/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1386:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1388:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PINI__V2*/ meltfptr[1]), 3, "OBROUT_BODY");/*_.RAWBODY__V21*/ meltfptr[20] = slot; }; ; /*_.BODYLIST__V22*/ meltfptr[21] = (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[10]))));; /*^compute*/ /*_.CHUNKBUFLIST__V23*/ meltfptr[22] = (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[10]))));; /*citerblock FOREACH_IN_LIST*/ { /* start cit1__EACHLIST */ for (/*_.CURPAIR__V24*/ meltfptr[23] = melt_list_first(/*_.RAWBODY__V21*/ meltfptr[20]); melt_magic_discr(/*_.CURPAIR__V24*/ meltfptr[23]) == OBMAG_PAIR; /*_.CURPAIR__V24*/ meltfptr[23] = melt_pair_tail(/*_.CURPAIR__V24*/ meltfptr[23])) { /*_.CURBODY__V25*/ meltfptr[24] = melt_pair_head(/*_.CURPAIR__V24*/ meltfptr[23]); MELT_LOCATION("warmelt-outobj.melt:1395:/ cond"); /*cond*/ if (/*_.CURBODY__V25*/ meltfptr[24]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#IS_A__L4*/ meltfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.CURBODY__V25*/ meltfptr[24]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ meltfrout->tabval[11])));; /*^compute*/ /*_#NOT__L5*/ meltfnum[4] = (!(/*_#IS_A__L4*/ meltfnum[3]));; /*^compute*/ /*_#IF___L3*/ meltfnum[1] = /*_#NOT__L5*/ meltfnum[4];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1395:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L5*/ meltfnum[4] = 0 ;} ; } else {/*^cond.else*/ /*_#IF___L3*/ meltfnum[1] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1395:/ cond"); /*cond*/ if (/*_#IF___L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1396:/ locexp"); meltgc_append_list((melt_ptr_t)(/*_.BODYLIST__V22*/ meltfptr[21]), (melt_ptr_t)(/*_.CURBODY__V25*/ meltfptr[24]));} ; /*epilog*/ } ; } /*noelse*/ ; } /* end cit1__EACHLIST */ /*citerepilog*/ MELT_LOCATION("warmelt-outobj.melt:1392:/ clear"); /*clear*/ /*_.CURPAIR__V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_.CURBODY__V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_#IF___L3*/ meltfnum[1] = 0 ;} /*endciterblock FOREACH_IN_LIST*/ ; MELT_LOCATION("warmelt-outobj.melt:1397:/ quasiblock"); /*^apply*/ /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[13]); /*_.BODTUP__V26*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!LIST_TO_MULTIPLE*/ meltfrout->tabval[12])), (melt_ptr_t)(/*_.BODYLIST__V22*/ meltfptr[21]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.CHUNKBUF__V27*/ meltfptr[26] = (/*nil*/NULL);; /*^compute*/ /*_#NBBODY__L6*/ meltfnum[3] = (melt_multiple_length((melt_ptr_t)(/*_.BODTUP__V26*/ meltfptr[25])));; /*^compute*/ /*_#CHUNKCOUNT__L7*/ meltfnum[4] = 0;; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start cit2__EACHTUP: */ long cit2__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.BODTUP__V26*/ meltfptr[25]); for (/*_#BODIX__L8*/ meltfnum[7] = 0; (/*_#BODIX__L8*/ meltfnum[7] >= 0) && (/*_#BODIX__L8*/ meltfnum[7] < cit2__EACHTUP_ln); /*_#BODIX__L8*/ meltfnum[7]++) { /*_.CURBODY__V28*/ meltfptr[27] = melt_multiple_nth((melt_ptr_t)(/*_.BODTUP__V26*/ meltfptr[25]), /*_#BODIX__L8*/ meltfnum[7]); /*_#IRAW__L9*/ meltfnum[8] = ((/*_#BODIX__L8*/ meltfnum[7]) % (256));; /*^compute*/ /*_#I__L10*/ meltfnum[9] = ((/*_#IRAW__L9*/ meltfnum[8]) == (0));; MELT_LOCATION("warmelt-outobj.melt:1406:/ cond"); /*cond*/ if (/*_#I__L10*/ meltfnum[9]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1407:/ quasiblock"); /*_#CHUNKIX__L11*/ meltfnum[10] = ((/*_#CHUNKCOUNT__L7*/ meltfnum[4]) + (1));; /*^compute*/ /*_.NEWCHUNKBUF__V31*/ meltfptr[30] = meltgc_new_strbuf((meltobject_ptr_t)((/*!DISCR_STRBUF*/ meltfrout->tabval[14])), (char*)0);; /*^compute*/ /*_#I__L12*/ meltfnum[11] = ((/*_#CHUNKCOUNT__L7*/ meltfnum[4]) + (1));; MELT_LOCATION("warmelt-outobj.melt:1410:/ compute"); /*_#CHUNKCOUNT__L7*/ meltfnum[4] = /*_#SETQ___L13*/ meltfnum[12] = /*_#I__L12*/ meltfnum[11];; { MELT_LOCATION("warmelt-outobj.melt:1411:/ locexp"); meltgc_append_list((melt_ptr_t)(/*_.CHUNKBUFLIST__V23*/ meltfptr[22]), (melt_ptr_t)(/*_.NEWCHUNKBUF__V31*/ meltfptr[30]));} ; MELT_LOCATION("warmelt-outobj.melt:1412:/ compute"); /*_.CHUNKBUF__V27*/ meltfptr[26] = /*_.SETQ___V32*/ meltfptr[31] = /*_.NEWCHUNKBUF__V31*/ meltfptr[30];; /*_.LET___V30*/ meltfptr[29] = /*_.SETQ___V32*/ meltfptr[31];; MELT_LOCATION("warmelt-outobj.melt:1407:/ clear"); /*clear*/ /*_#CHUNKIX__L11*/ meltfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_.NEWCHUNKBUF__V31*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_#I__L12*/ meltfnum[11] = 0 ; /*^clear*/ /*clear*/ /*_#SETQ___L13*/ meltfnum[12] = 0 ; /*^clear*/ /*clear*/ /*_.SETQ___V32*/ meltfptr[31] = 0 ; /*_.IF___V29*/ meltfptr[28] = /*_.LET___V30*/ meltfptr[29];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1406:/ clear"); /*clear*/ /*_.LET___V30*/ meltfptr[29] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V29*/ meltfptr[28] = NULL;; } ; MELT_LOCATION("warmelt-outobj.melt:1414:/ quasiblock"); /*^putslot*/ /*putslot*/ melt_assertmsg("putslot checkobj @CONTAINER_VALUE", melt_magic_discr((melt_ptr_t)((/*!PREVLOC_CONTAINER*/ meltfrout->tabval[15]))) == OBMAG_OBJECT); melt_putfield_object(((/*!PREVLOC_CONTAINER*/ meltfrout->tabval[15])), (0), ((/*nil*/NULL)), "CONTAINER_VALUE"); ; /*^touch*/ meltgc_touch((/*!PREVLOC_CONTAINER*/ meltfrout->tabval[15])); ; MELT_LOCATION("warmelt-outobj.melt:1415:/ quasiblock"); /*^putslot*/ /*putslot*/ melt_assertmsg("putslot checkobj @CONTAINER_VALUE", melt_magic_discr((melt_ptr_t)((/*!PREVIMPLBUF_CONTAINER*/ meltfrout->tabval[16]))) == OBMAG_OBJECT); melt_putfield_object(((/*!PREVIMPLBUF_CONTAINER*/ meltfrout->tabval[16])), (0), ((/*nil*/NULL)), "CONTAINER_VALUE"); ; /*^touch*/ meltgc_touch((/*!PREVIMPLBUF_CONTAINER*/ meltfrout->tabval[16])); ; MELT_LOCATION("warmelt-outobj.melt:1416:/ quasiblock"); /*^cond*/ /*cond*/ if (/*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURBODY__V28*/ meltfptr[27]), (melt_ptr_t)((/*!CLASS_OBJINSTR*/ meltfrout->tabval[17])))) /*then*/ { /*^cond.then*/ /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURBODY__V28*/ meltfptr[27]), 0, "OBI_LOC");/*_.CURLOC__V34*/ meltfptr[31] = slot; }; ; } else {/*^cond.else*/ /*_.CURLOC__V34*/ meltfptr[31] = NULL;; } ; MELT_LOCATION("warmelt-outobj.melt:1418:/ cond"); /*cond*/ if (/*_.CURLOC__V34*/ meltfptr[31]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1419:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.CHUNKBUF__V27*/ meltfptr[26]; /*^apply.arg*/ argtab[1].bp_long = 1; /*^apply.arg*/ argtab[2].bp_cstring = "initchunk"; /*_.OUTPUT_LOCATION__V36*/ meltfptr[35] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[18])), (melt_ptr_t)(/*_.CURLOC__V34*/ meltfptr[31]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V35*/ meltfptr[29] = /*_.OUTPUT_LOCATION__V36*/ meltfptr[35];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1418:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V36*/ meltfptr[35] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V35*/ meltfptr[29] = NULL;; } ; /*^compute*/ /*_.LET___V33*/ meltfptr[30] = /*_.IF___V35*/ meltfptr[29];; MELT_LOCATION("warmelt-outobj.melt:1416:/ clear"); /*clear*/ /*_.CURLOC__V34*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V35*/ meltfptr[29] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1421:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.CHUNKBUF__V27*/ meltfptr[26]; /*^ojbmsend.arg*/ argtab[2].bp_long = 1; /*_.OUTPUT_C_CODE__V37*/ meltfptr[35] = meltgc_send((melt_ptr_t)(/*_.CURBODY__V28*/ meltfptr[27]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[19])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1422:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.CHUNKBUF__V27*/ meltfptr[26]), (1), 0);} ; if (/*_#BODIX__L8*/ meltfnum[7]<0) break; } /* end cit2__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-outobj.melt:1402:/ clear"); /*clear*/ /*_.CURBODY__V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_#BODIX__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_#IRAW__L9*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_#I__L10*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V29*/ meltfptr[28] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V33*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_CODE__V37*/ meltfptr[35] = 0 ;} /*endciterblock FOREACH_IN_MULTIPLE*/ ; MELT_LOCATION("warmelt-outobj.melt:1397:/ clear"); /*clear*/ /*_.BODTUP__V26*/ meltfptr[25] = 0 ; /*^clear*/ /*clear*/ /*_.CHUNKBUF__V27*/ meltfptr[26] = 0 ; /*^clear*/ /*clear*/ /*_#NBBODY__L6*/ meltfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_#CHUNKCOUNT__L7*/ meltfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1425:/ quasiblock"); /*^putslot*/ /*putslot*/ melt_assertmsg("putslot checkobj @CONTAINER_VALUE", melt_magic_discr((melt_ptr_t)((/*!PREVLOC_CONTAINER*/ meltfrout->tabval[15]))) == OBMAG_OBJECT); melt_putfield_object(((/*!PREVLOC_CONTAINER*/ meltfrout->tabval[15])), (0), ((/*nil*/NULL)), "CONTAINER_VALUE"); ; /*^touch*/ meltgc_touch((/*!PREVLOC_CONTAINER*/ meltfrout->tabval[15])); ; MELT_LOCATION("warmelt-outobj.melt:1426:/ quasiblock"); /*^putslot*/ /*putslot*/ melt_assertmsg("putslot checkobj @CONTAINER_VALUE", melt_magic_discr((melt_ptr_t)((/*!PREVIMPLBUF_CONTAINER*/ meltfrout->tabval[16]))) == OBMAG_OBJECT); melt_putfield_object(((/*!PREVIMPLBUF_CONTAINER*/ meltfrout->tabval[16])), (0), ((/*nil*/NULL)), "CONTAINER_VALUE"); ; /*^touch*/ meltgc_touch((/*!PREVIMPLBUF_CONTAINER*/ meltfrout->tabval[16])); ; MELT_LOCATION("warmelt-outobj.melt:1427:/ quasiblock"); /*^apply*/ /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[13]); /*_.CHUNKTUP__V38*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t)((/*!LIST_TO_MULTIPLE*/ meltfrout->tabval[12])), (melt_ptr_t)(/*_.CHUNKBUFLIST__V23*/ meltfptr[22]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1430:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1431:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( "struct frame_start_module_melt_st;"));} ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start cit3__EACHTUP: */ long cit3__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.CHUNKTUP__V38*/ meltfptr[31]); for (/*_#CHUNKIX__L14*/ meltfnum[10] = 0; (/*_#CHUNKIX__L14*/ meltfnum[10] >= 0) && (/*_#CHUNKIX__L14*/ meltfnum[10] < cit3__EACHTUP_ln); /*_#CHUNKIX__L14*/ meltfnum[10]++) { /*_.CURCHUNK__V39*/ meltfptr[29] = melt_multiple_nth((melt_ptr_t)(/*_.CHUNKTUP__V38*/ meltfptr[31]), /*_#CHUNKIX__L14*/ meltfnum[10]); { MELT_LOCATION("warmelt-outobj.melt:1435:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1436:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( "void MELT_MODULE_VISIBILITY "));} ; { MELT_LOCATION("warmelt-outobj.melt:1437:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.OMODNAM__V11*/ meltfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:1438:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( "_initialmeltchunk_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1439:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (/*_#CHUNKIX__L14*/ meltfnum[10]));} ; { MELT_LOCATION("warmelt-outobj.melt:1440:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), ( " (struct frame_start_module_melt_st*, char*);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1441:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1442:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.OMODNAM__V11*/ meltfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:1443:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "_initialmeltchunk_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1444:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#CHUNKIX__L14*/ meltfnum[10]));} ; { MELT_LOCATION("warmelt-outobj.melt:1445:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " (&meltfram__, predefinited);"));} ; if (/*_#CHUNKIX__L14*/ meltfnum[10]<0) break; } /* end cit3__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-outobj.melt:1432:/ clear"); /*clear*/ /*_.CURCHUNK__V39*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_#CHUNKIX__L14*/ meltfnum[10] = 0 ;} /*endciterblock FOREACH_IN_MULTIPLE*/ ; { MELT_LOCATION("warmelt-outobj.melt:1447:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1450:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1451:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1452:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " goto labend_rout;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1453:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1454:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "labend_rout: melt_topframe = (struct callframe_melt_st *) meltfram__.prev;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1455:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1456:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "initial_frame_melt = (void*)0;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1457:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1458:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " return "));} ; MELT_LOCATION("warmelt-outobj.melt:1459:/ cond"); /*cond*/ if (/*_.ORETVAL__V10*/ meltfptr[9]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1460:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^ojbmsend.arg*/ argtab[2].bp_long = 1; /*_.OUTPUT_C_CODE__V41*/ meltfptr[26] = meltgc_send((melt_ptr_t)(/*_.ORETVAL__V10*/ meltfptr[9]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[19])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFELSE___V40*/ meltfptr[25] = /*_.OUTPUT_C_CODE__V41*/ meltfptr[26];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1459:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V41*/ meltfptr[26] = 0 ;} ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1461:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*noretval*/ NULL"));} ; /*clear*/ /*_.IFELSE___V40*/ meltfptr[25] = 0 ; /*epilog*/ } ; } ; { MELT_LOCATION("warmelt-outobj.melt:1462:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1463:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1464:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef meltcallcount"));} ; { MELT_LOCATION("warmelt-outobj.melt:1465:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1466:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef meltfram__"));} ; { MELT_LOCATION("warmelt-outobj.melt:1467:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1468:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef MELTFRAM_NBVARNUM"));} ; { MELT_LOCATION("warmelt-outobj.melt:1469:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1470:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef MELTFRAM_NBVARPTR"));} ; { MELT_LOCATION("warmelt-outobj.melt:1471:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1472:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1473:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "} /* end start_module_melt */"));} ; { MELT_LOCATION("warmelt-outobj.melt:1474:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start cit4__EACHTUP: */ long cit4__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.CHUNKTUP__V38*/ meltfptr[31]); for (/*_#CHUNKIX__L15*/ meltfnum[11] = 0; (/*_#CHUNKIX__L15*/ meltfnum[11] >= 0) && (/*_#CHUNKIX__L15*/ meltfnum[11] < cit4__EACHTUP_ln); /*_#CHUNKIX__L15*/ meltfnum[11]++) { /*_.CURCHUNK__V42*/ meltfptr[26] = melt_multiple_nth((melt_ptr_t)(/*_.CHUNKTUP__V38*/ meltfptr[31]), /*_#CHUNKIX__L15*/ meltfnum[11]); { MELT_LOCATION("warmelt-outobj.melt:1479:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1480:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "void MELT_MODULE_VISIBILITY "));} ; { MELT_LOCATION("warmelt-outobj.melt:1481:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.OMODNAM__V11*/ meltfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:1482:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "_initialmeltchunk_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1483:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#CHUNKIX__L15*/ meltfnum[11]));} ; { MELT_LOCATION("warmelt-outobj.melt:1484:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " (struct frame_start_module_melt_st* meltframptr__, char predefinited[]) {"));} ; { MELT_LOCATION("warmelt-outobj.melt:1485:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1486:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#define meltfram__ (*meltframptr__)"));} ; { MELT_LOCATION("warmelt-outobj.melt:1487:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1488:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef meltcallcount"));} ; { MELT_LOCATION("warmelt-outobj.melt:1489:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1490:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#define meltcallcount 0L"));} ; { MELT_LOCATION("warmelt-outobj.melt:1491:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1492:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_strbuf_str(/*_.CURCHUNK__V42*/ meltfptr[26]));} ; { MELT_LOCATION("warmelt-outobj.melt:1493:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1494:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "#undef meltfram__"));} ; { MELT_LOCATION("warmelt-outobj.melt:1495:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1496:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "} /*end of "));} ; { MELT_LOCATION("warmelt-outobj.melt:1497:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.OMODNAM__V11*/ meltfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:1498:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "_initialmeltchunk_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1499:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#CHUNKIX__L15*/ meltfnum[11]));} ; { MELT_LOCATION("warmelt-outobj.melt:1500:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1501:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; if (/*_#CHUNKIX__L15*/ meltfnum[11]<0) break; } /* end cit4__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-outobj.melt:1476:/ clear"); /*clear*/ /*_.CURCHUNK__V42*/ meltfptr[26] = 0 ; /*^clear*/ /*clear*/ /*_#CHUNKIX__L15*/ meltfnum[11] = 0 ;} /*endciterblock FOREACH_IN_MULTIPLE*/ ; MELT_LOCATION("warmelt-outobj.melt:1427:/ clear"); /*clear*/ /*_.CHUNKTUP__V38*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V40*/ meltfptr[25] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1388:/ clear"); /*clear*/ /*_.RAWBODY__V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.BODYLIST__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.CHUNKBUFLIST__V23*/ meltfptr[22] = 0 ; { MELT_LOCATION("warmelt-outobj.melt:1505:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1506:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "void mark_module_melt(void*fp)"));} ; { MELT_LOCATION("warmelt-outobj.melt:1507:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1508:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "{"));} ; { MELT_LOCATION("warmelt-outobj.melt:1509:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1510:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "int ix=0;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1511:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1512:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "initial_frame_st* framptr_= (initial_frame_st*)fp;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1513:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1514:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*_.OUTPUCOD_MARKER__V43*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUCOD_MARKER*/ meltfrout->tabval[20])), (melt_ptr_t)(/*_.PINI__V2*/ meltfptr[1]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1515:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1516:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "} /* end mark_module_melt */"));} ; { MELT_LOCATION("warmelt-outobj.melt:1517:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1518:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1303:/ clear"); /*clear*/ /*_.IDATUP__V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.IRFILL__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.IPROLOG__V9*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.ORETVAL__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.OMODNAM__V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_CURFRAME_DECLSTRUCT__V12*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_CURFRAME_CDAT_STRUCT__V13*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_CURFRAME_CDAT_FILL__V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V15*/ meltfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_CURFRAME_DECLSTRUCT_INIT__V17*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_EVERY__V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUCOD_MARKER__V43*/ meltfptr[31] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1301:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_INITIALROUTINE", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_41_warmelt_outobj_OUTPUCOD_INITIALROUTINE*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_warmelt_outobj_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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_42_warmelt_outobj_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 MELTFRAM_NBVARPTR 3 void* varptr[3]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 3; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1355:/ getarg"); /*_.ROU__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DSBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1356:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1357:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ meltfptr[2]), ( "initial_frame_st "));} ; /*epilog*/ } ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_42_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_warmelt_outobj_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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_43_warmelt_outobj_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 MELTFRAM_NBVARPTR 3 void* varptr[3]; #define MELTFRAM_NBVARNUM 3 long varnum[3]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 3; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1368:/ getarg"); /*_.CURPROL__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1370:/ cond"); /*cond*/ if (/*_.CURPROL__V2*/ meltfptr[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.CURPROL__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ meltfrout->tabval[0])));; /*^compute*/ /*_#NOT__L3*/ meltfnum[2] = (!(/*_#IS_A__L2*/ meltfnum[1]));; /*^compute*/ /*_#IF___L1*/ meltfnum[0] = /*_#NOT__L3*/ meltfnum[2];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1370:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L3*/ meltfnum[2] = 0 ;} ; } else {/*^cond.else*/ /*_#IF___L1*/ meltfnum[0] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1370:/ cond"); /*cond*/ if (/*_#IF___L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1372:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ meltfclos->tabval[0]); /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ meltfclos->tabval[1]); /*^ojbmsend.arg*/ argtab[2].bp_long = 1; /*_.OUTPUT_C_CODE__V3*/ meltfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURPROL__V2*/ meltfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[1])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1373:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[1])), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1371:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1370:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ meltfptr[2] = 0 ;} ; } /*noelse*/ ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1368:/ clear"); /*clear*/ /*_#IF___L1*/ meltfnum[0] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_43_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_warmelt_outobj_OUTPUCOD_GETARG(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_44_warmelt_outobj_OUTPUCOD_GETARG_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 MELTFRAM_NBVARPTR 26 void* varptr[26]; #define MELTFRAM_NBVARNUM 15 long varnum[15]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<26; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 26; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_GETARG", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1524:/ getarg"); /*_.GARG__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1525:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.GARG__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJGETARG*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1525:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1525:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check garg"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1525)?(1525):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1525:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1527:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.GARG__V2*/ meltfptr[1]), 1, "OBARG_OBLOC");/*_.OLOC__V7*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1528:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.GARG__V2*/ meltfptr[1]), 0, "OBI_LOC");/*_.NLOC__V8*/ meltfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1529:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.GARG__V2*/ meltfptr[1]), 2, "OBARG_BIND");/*_.OBIND__V9*/ meltfptr[8] = slot; }; ; /*_#RKBIND__L3*/ meltfnum[1] = (melt_get_int((melt_ptr_t)(/*_.OBIND__V9*/ meltfptr[8])));; MELT_LOCATION("warmelt-outobj.melt:1531:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBIND__V9*/ meltfptr[8]), 1, "FBIND_TYPE");/*_.CTYBIND__V10*/ meltfptr[9] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1533:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L4*/ meltfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.OBIND__V9*/ meltfptr[8]), (melt_ptr_t)((/*!CLASS_FORMAL_BINDING*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:1533:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[3]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V12*/ meltfptr[11] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1533:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check obind"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1533)?(1533):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V11*/ meltfptr[10] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1533:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[10] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1534:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "getarg"; /*_.OUTPUT_LOCATION__V13*/ meltfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.NLOC__V8*/ meltfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1535:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L5*/ meltfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.OLOC__V7*/ meltfptr[5]), (melt_ptr_t)((/*!CLASS_OBJLOCV*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:1535:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ meltfnum[3]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V15*/ meltfptr[14] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1535:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check oloc"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1535)?(1535):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V15*/ meltfptr[14] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V14*/ meltfptr[13] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1535:/ clear"); /*clear*/ /*_#IS_A__L5*/ meltfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V15*/ meltfptr[14] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V14*/ meltfptr[13] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1536:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L6*/ meltfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.CTYBIND__V10*/ meltfptr[9]), (melt_ptr_t)((/*!CLASS_CTYPE*/ meltfrout->tabval[4])));; MELT_LOCATION("warmelt-outobj.melt:1536:/ cond"); /*cond*/ if (/*_#IS_A__L6*/ meltfnum[3]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V17*/ meltfptr[16] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1536:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check ctybind"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1536)?(1536):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V17*/ meltfptr[16] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V16*/ meltfptr[14] = /*_.IFELSE___V17*/ meltfptr[16];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1536:/ clear"); /*clear*/ /*_#IS_A__L6*/ meltfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V17*/ meltfptr[16] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V16*/ meltfptr[14] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; /*^compute*/ /*_#I__L7*/ meltfnum[3] = ((/*_#RKBIND__L3*/ meltfnum[1]) == (0));; MELT_LOCATION("warmelt-outobj.melt:1537:/ cond"); /*cond*/ if (/*_#I__L7*/ meltfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1539:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#__L8*/ meltfnum[7] = ((/*_.CTYBIND__V10*/ meltfptr[9]) == ((/*!CTYPE_VALUE*/ meltfrout->tabval[5])));; MELT_LOCATION("warmelt-outobj.melt:1539:/ cond"); /*cond*/ if (/*_#__L8*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V19*/ meltfptr[18] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1539:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check ctybind first"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1539)?(1539):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V19*/ meltfptr[18] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V18*/ meltfptr[16] = /*_.IFELSE___V19*/ meltfptr[18];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1539:/ clear"); /*clear*/ /*_#__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V19*/ meltfptr[18] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V18*/ meltfptr[16] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1540:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*_.OUTPUT_C_CODE__V20*/ meltfptr[18] = meltgc_send((melt_ptr_t)(/*_.OLOC__V7*/ meltfptr[5]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[6])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1541:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " = (melt_ptr_t) firstargp_;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1542:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1538:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1537:/ clear"); /*clear*/ /*_.IFCPP___V18*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_CODE__V20*/ meltfptr[18] = 0 ;} ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1544:/ quasiblock"); MELT_LOCATION("warmelt-outobj.melt:1546:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CTYBIND__V10*/ meltfptr[9]), 4, "CTYPE_PARCHAR");/*_.PARC__V21*/ meltfptr[16] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1547:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CTYBIND__V10*/ meltfptr[9]), 6, "CTYPE_ARGFIELD");/*_.ARGF__V22*/ meltfptr[18] = slot; }; ; /*_#IS_STRING__L9*/ meltfnum[7] = (melt_magic_discr((melt_ptr_t)(/*_.PARC__V21*/ meltfptr[16])) == OBMAG_STRING);; /*^compute*/ /*_#NOT__L10*/ meltfnum[9] = (!(/*_#IS_STRING__L9*/ meltfnum[7]));; MELT_LOCATION("warmelt-outobj.melt:1549:/ cond"); /*cond*/ if (/*_#NOT__L10*/ meltfnum[9]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1551:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CTYBIND__V10*/ meltfptr[9]), 1, "NAMED_NAME");/*_.NAMED_NAME__V23*/ meltfptr[22] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1550:/ locexp"); melt_error_str((melt_ptr_t)(/*_.OLOC__V7*/ meltfptr[5]), ( "impossible argument ctype"), (melt_ptr_t)(/*_.NAMED_NAME__V23*/ meltfptr[22]));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1549:/ clear"); /*clear*/ /*_.NAMED_NAME__V23*/ meltfptr[22] = 0 ;} ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:1552:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "if (xargdescr_["));} ; /*_#I__L11*/ meltfnum[10] = ((/*_#RKBIND__L3*/ meltfnum[1]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:1553:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#I__L11*/ meltfnum[10]));} ; { MELT_LOCATION("warmelt-outobj.melt:1554:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "] != "));} ; { MELT_LOCATION("warmelt-outobj.melt:1555:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.PARC__V21*/ meltfptr[16])));} ; { MELT_LOCATION("warmelt-outobj.melt:1556:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ") goto lab_endgetargs;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1557:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; /*_#__L12*/ meltfnum[11] = ((/*_.CTYBIND__V10*/ meltfptr[9]) == ((/*!CTYPE_VALUE*/ meltfrout->tabval[5])));; MELT_LOCATION("warmelt-outobj.melt:1558:/ cond"); /*cond*/ if (/*_#__L12*/ meltfnum[11]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1560:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*_.OUTPUT_C_CODE__V24*/ meltfptr[22] = meltgc_send((melt_ptr_t)(/*_.OLOC__V7*/ meltfptr[5]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[6])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1561:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " = (xargtab_["));} ; /*_#I__L13*/ meltfnum[12] = ((/*_#RKBIND__L3*/ meltfnum[1]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:1562:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#I__L13*/ meltfnum[12]));} ; { MELT_LOCATION("warmelt-outobj.melt:1563:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "].bp_aptr) ? (*(xargtab_["));} ; /*_#I__L14*/ meltfnum[13] = ((/*_#RKBIND__L3*/ meltfnum[1]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:1564:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#I__L14*/ meltfnum[13]));} ; { MELT_LOCATION("warmelt-outobj.melt:1565:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "].bp_aptr)) : NULL;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1566:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1567:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "gcc_assert(melt_discr((melt_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:1568:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*_.OUTPUT_C_CODE__V25*/ meltfptr[24] = meltgc_send((melt_ptr_t)(/*_.OLOC__V7*/ meltfptr[5]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[6])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1569:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ")) != NULL);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1570:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1559:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1558:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V24*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_#I__L13*/ meltfnum[12] = 0 ; /*^clear*/ /*clear*/ /*_#I__L14*/ meltfnum[13] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_CODE__V25*/ meltfptr[24] = 0 ;} ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1573:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*_.OUTPUT_C_CODE__V26*/ meltfptr[22] = meltgc_send((melt_ptr_t)(/*_.OLOC__V7*/ meltfptr[5]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[6])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1574:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " = xargtab_["));} ; /*_#I__L15*/ meltfnum[12] = ((/*_#RKBIND__L3*/ meltfnum[1]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:1575:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#I__L15*/ meltfnum[12]));} ; { MELT_LOCATION("warmelt-outobj.melt:1576:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "]."));} ; { MELT_LOCATION("warmelt-outobj.melt:1577:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.ARGF__V22*/ meltfptr[18])));} ; { MELT_LOCATION("warmelt-outobj.melt:1578:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ";"));} ; MELT_LOCATION("warmelt-outobj.melt:1572:/ quasiblock"); /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1558:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V26*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_#I__L15*/ meltfnum[12] = 0 ;} ; } ; { MELT_LOCATION("warmelt-outobj.melt:1581:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1544:/ clear"); /*clear*/ /*_.PARC__V21*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.ARGF__V22*/ meltfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_#IS_STRING__L9*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L10*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_#I__L11*/ meltfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_#__L12*/ meltfnum[11] = 0 ; /*epilog*/ } ; } ; MELT_LOCATION("warmelt-outobj.melt:1527:/ clear"); /*clear*/ /*_.OLOC__V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.NLOC__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.OBIND__V9*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_#RKBIND__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.CTYBIND__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V13*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V16*/ meltfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_#I__L7*/ meltfnum[3] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1524:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_GETARG", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_44_warmelt_outobj_OUTPUCOD_GETARG*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_warmelt_outobj_OUTPUCOD_OBJLOCV(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_45_warmelt_outobj_OUTPUCOD_OBJLOCV_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 MELTFRAM_NBVARPTR 9 void* varptr[9]; #define MELTFRAM_NBVARNUM 6 long varnum[6]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 9; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJLOCV", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1590:/ getarg"); /*_.LOCV__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1591:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.LOCV__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJLOCV*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1591:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1591:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check locv"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1591)?(1591):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1591:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1593:/ quasiblock"); MELT_LOCATION("warmelt-outobj.melt:1594:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.LOCV__V2*/ meltfptr[1]), 0, "OBV_TYPE");/*_.LTYP__V7*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1595:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.LOCV__V2*/ meltfptr[1]), 1, "OBL_OFF");/*_.LOFF__V8*/ meltfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1596:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.LOCV__V2*/ meltfptr[1]), 3, "OBL_CNAME");/*_.LCNAM__V9*/ meltfptr[8] = slot; }; ; /*_#__L3*/ meltfnum[1] = ((/*_.LTYP__V7*/ meltfptr[5]) == ((/*!CTYPE_VALUE*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:1599:/ cond"); /*cond*/ if (/*_#__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1600:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*_."));} ; { MELT_LOCATION("warmelt-outobj.melt:1601:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.LCNAM__V9*/ meltfptr[8])));} ; { MELT_LOCATION("warmelt-outobj.melt:1602:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "*/ meltfptr["));} ; /*_#GET_INT__L4*/ meltfnum[3] = (melt_get_int((melt_ptr_t)(/*_.LOFF__V8*/ meltfptr[7])));; { MELT_LOCATION("warmelt-outobj.melt:1603:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#GET_INT__L4*/ meltfnum[3]));} ; { MELT_LOCATION("warmelt-outobj.melt:1604:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "]"));} ; MELT_LOCATION("warmelt-outobj.melt:1599:/ quasiblock"); /*epilog*/ /*^clear*/ /*clear*/ /*_#GET_INT__L4*/ meltfnum[3] = 0 ;} ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ /*_#__L5*/ meltfnum[3] = ((/*_.LTYP__V7*/ meltfptr[5]) == ((/*!CTYPE_LONG*/ meltfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:1605:/ cond"); /*cond*/ if (/*_#__L5*/ meltfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1606:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*_#"));} ; { MELT_LOCATION("warmelt-outobj.melt:1607:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.LCNAM__V9*/ meltfptr[8])));} ; { MELT_LOCATION("warmelt-outobj.melt:1608:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "*/ meltfnum["));} ; /*_#GET_INT__L6*/ meltfnum[5] = (melt_get_int((melt_ptr_t)(/*_.LOFF__V8*/ meltfptr[7])));; { MELT_LOCATION("warmelt-outobj.melt:1609:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#GET_INT__L6*/ meltfnum[5]));} ; { MELT_LOCATION("warmelt-outobj.melt:1610:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "]"));} ; MELT_LOCATION("warmelt-outobj.melt:1605:/ quasiblock"); /*epilog*/ /*^clear*/ /*clear*/ /*_#GET_INT__L6*/ meltfnum[5] = 0 ;} ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1612:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*_?*/ meltfram__."));} ; { MELT_LOCATION("warmelt-outobj.melt:1613:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.LCNAM__V9*/ meltfptr[8])));} ; MELT_LOCATION("warmelt-outobj.melt:1611:/ quasiblock"); /*epilog*/ } ; } ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1599:/ clear"); /*clear*/ /*_#__L5*/ meltfnum[3] = 0 ;} ; } ; MELT_LOCATION("warmelt-outobj.melt:1593:/ clear"); /*clear*/ /*_.LTYP__V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.LOFF__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.LCNAM__V9*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_#__L3*/ meltfnum[1] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1590:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJLOCV", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_45_warmelt_outobj_OUTPUCOD_OBJLOCV*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_warmelt_outobj_OUTPUCOD_OBJCLOCCV(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_46_warmelt_outobj_OUTPUCOD_OBJCLOCCV_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 MELTFRAM_NBVARPTR 11 void* varptr[11]; #define MELTFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 11; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJCLOCCV", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1620:/ getarg"); /*_.OCCV__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1621:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OCCV__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCLOCCV*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1621:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1621:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check occv"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1621)?(1621):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1621:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1622:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCCV__V2*/ meltfptr[1]), 1, "OBC_OFF");/*_.OOFF__V7*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1623:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCCV__V2*/ meltfptr[1]), 3, "OBC_NAME");/*_.ONAM__V8*/ meltfptr[7] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1624:/ cppif.then"); /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1625:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCCV__V2*/ meltfptr[1]), 0, "OBV_TYPE");/*_.OBV_TYPE__V10*/ meltfptr[9] = slot; }; ; /*_#__L3*/ meltfnum[1] = ((/*_.OBV_TYPE__V10*/ meltfptr[9]) == ((/*!CTYPE_VALUE*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:1624:/ cond"); /*cond*/ if (/*_#__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V11*/ meltfptr[10] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1624:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check valueness of closed occurrence"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1624)?(1624):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V11*/ meltfptr[10] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V9*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1624:/ clear"); /*clear*/ /*_.OBV_TYPE__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_#__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V11*/ meltfptr[10] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V9*/ meltfptr[8] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; { MELT_LOCATION("warmelt-outobj.melt:1626:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "(/*~"));} ; { MELT_LOCATION("warmelt-outobj.melt:1627:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAM__V8*/ meltfptr[7])));} ; { MELT_LOCATION("warmelt-outobj.melt:1628:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "*/ meltfclos->tabval["));} ; /*_#GET_INT__L4*/ meltfnum[1] = (melt_get_int((melt_ptr_t)(/*_.OOFF__V7*/ meltfptr[5])));; { MELT_LOCATION("warmelt-outobj.melt:1629:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#GET_INT__L4*/ meltfnum[1]));} ; { MELT_LOCATION("warmelt-outobj.melt:1630:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "])"));} ; MELT_LOCATION("warmelt-outobj.melt:1622:/ clear"); /*clear*/ /*_.OOFF__V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.ONAM__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V9*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_#GET_INT__L4*/ meltfnum[1] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1620:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCLOCCV", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_46_warmelt_outobj_OUTPUCOD_OBJCLOCCV*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_warmelt_outobj_OUTPUCOD_OBJCONSTV(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_47_warmelt_outobj_OUTPUCOD_OBJCONSTV_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 MELTFRAM_NBVARPTR 13 void* varptr[13]; #define MELTFRAM_NBVARNUM 5 long varnum[5]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 13; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJCONSTV", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1637:/ getarg"); /*_.OCNSTV__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1638:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OCNSTV__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCONSTV*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1638:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1638:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check ocnstv"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1638)?(1638):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1638:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1639:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1639:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objconstv ocnstv"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1639; /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OCNSTV__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1639:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1640:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCNSTV__V2*/ meltfptr[1]), 1, "OBC_OFF");/*_.OOFF__V9*/ meltfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1641:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCNSTV__V2*/ meltfptr[1]), 3, "OBC_NAME");/*_.ONAM__V10*/ meltfptr[9] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1642:/ cppif.then"); /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1643:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCNSTV__V2*/ meltfptr[1]), 0, "OBV_TYPE");/*_.OBV_TYPE__V12*/ meltfptr[11] = slot; }; ; /*_#__L4*/ meltfnum[1] = ((/*_.OBV_TYPE__V12*/ meltfptr[11]) == ((/*!CTYPE_VALUE*/ meltfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:1642:/ cond"); /*cond*/ if (/*_#__L4*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V13*/ meltfptr[12] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1642:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check valueness of const occurrence"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1642)?(1642):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V13*/ meltfptr[12] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V11*/ meltfptr[10] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1642:/ clear"); /*clear*/ /*_.OBV_TYPE__V12*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_#__L4*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V13*/ meltfptr[12] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[10] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; { MELT_LOCATION("warmelt-outobj.melt:1644:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "(/*!"));} ; { MELT_LOCATION("warmelt-outobj.melt:1645:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAM__V10*/ meltfptr[9])));} ; { MELT_LOCATION("warmelt-outobj.melt:1647:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "*/ meltfrout->tabval["));} ; /*_#GET_INT__L5*/ meltfnum[1] = (melt_get_int((melt_ptr_t)(/*_.OOFF__V9*/ meltfptr[7])));; { MELT_LOCATION("warmelt-outobj.melt:1648:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#GET_INT__L5*/ meltfnum[1]));} ; { MELT_LOCATION("warmelt-outobj.melt:1649:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "])"));} ; MELT_LOCATION("warmelt-outobj.melt:1640:/ clear"); /*clear*/ /*_.OOFF__V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.ONAM__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_#GET_INT__L5*/ meltfnum[1] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1637:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCONSTV", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_47_warmelt_outobj_OUTPUCOD_OBJCONSTV*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_warmelt_outobj_OUTPUT_CODE_INSTRUCTIONS_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 static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_48_warmelt_outobj_OUTPUT_CODE_INSTRUCTIONS_LIST_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 MELTFRAM_NBVARPTR 25 void* varptr[25]; #define MELTFRAM_NBVARNUM 6 long varnum[6]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<25; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 25; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUT_CODE_INSTRUCTIONS_LIST", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1655:/ getarg"); /*_.LIS__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_PTR) goto lab_endgetargs; /*_.BOXEDDEPTH__V5*/ meltfptr[4] = (xargtab_[2].bp_aptr) ? (*(xargtab_[2].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.BOXEDDEPTH__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1656:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_LIST_OR_NULL__L1*/ meltfnum[0] = ((/*_.LIS__V2*/ meltfptr[1]) == NULL || (melt_unsafe_magic_discr((melt_ptr_t)(/*_.LIS__V2*/ meltfptr[1])) == OBMAG_LIST));; MELT_LOCATION("warmelt-outobj.melt:1656:/ cond"); /*cond*/ if (/*_#IS_LIST_OR_NULL__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V7*/ meltfptr[6] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1656:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check lis"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1656)?(1656):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V7*/ meltfptr[6] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1656:/ clear"); /*clear*/ /*_#IS_LIST_OR_NULL__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V7*/ meltfptr[6] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V6*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1657:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_INTEGERBOX__L2*/ meltfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.BOXEDDEPTH__V5*/ meltfptr[4])) == OBMAG_INT);; MELT_LOCATION("warmelt-outobj.melt:1657:/ cond"); /*cond*/ if (/*_#IS_INTEGERBOX__L2*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V9*/ meltfptr[8] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1657:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check boxeddepth"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1657)?(1657):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V9*/ meltfptr[8] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1657:/ clear"); /*clear*/ /*_#IS_INTEGERBOX__L2*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V9*/ meltfptr[8] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V8*/ meltfptr[6] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1658:/ quasiblock"); /*_#DEPTH__L3*/ meltfnum[0] = (melt_get_int((melt_ptr_t)(/*_.BOXEDDEPTH__V5*/ meltfptr[4])));; { MELT_LOCATION("warmelt-outobj.melt:1659:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L3*/ meltfnum[0]), 0);} ; /*citerblock FOREACH_IN_LIST*/ { /* start cit1__EACHLIST */ for (/*_.PAIR__V10*/ meltfptr[8] = melt_list_first(/*_.LIS__V2*/ meltfptr[1]); melt_magic_discr(/*_.PAIR__V10*/ meltfptr[8]) == OBMAG_PAIR; /*_.PAIR__V10*/ meltfptr[8] = melt_pair_tail(/*_.PAIR__V10*/ meltfptr[8])) { /*_.CUR__V11*/ meltfptr[10] = melt_pair_head(/*_.PAIR__V10*/ meltfptr[8]); /*_#IS_A__L4*/ meltfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.CUR__V11*/ meltfptr[10]), (melt_ptr_t)((/*!CLASS_OBJPLAINBLOCK*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1664:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[3]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1665:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L3*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1666:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CUR__V11*/ meltfptr[10]), 0, "OBI_LOC");/*_.BLOC__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1667:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CUR__V11*/ meltfptr[10]), 1, "OBLO_BODYL");/*_.BODYL__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1668:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CUR__V11*/ meltfptr[10]), 2, "OBLO_EPIL");/*_.EPIL__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1670:/ cond"); /*cond*/ if (/*_.BLOC__V14*/ meltfptr[13]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*^apply*/ /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L3*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "quasiblock"; /*_.OUTPUT_LOCATION__V18*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.BLOC__V14*/ meltfptr[13]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V17*/ meltfptr[16] = /*_.OUTPUT_LOCATION__V18*/ meltfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1670:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V18*/ meltfptr[17] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION("warmelt-outobj.melt:1671:/ cond"); /*cond*/ if (/*_.BODYL__V15*/ meltfptr[14]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*^apply*/ /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXEDDEPTH__V5*/ meltfptr[4]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.BODYL__V15*/ meltfptr[14]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V19*/ meltfptr[17] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V20*/ meltfptr[19];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1671:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V20*/ meltfptr[19] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V19*/ meltfptr[17] = NULL;; } ; MELT_LOCATION("warmelt-outobj.melt:1672:/ cond"); /*cond*/ if (/*_.EPIL__V16*/ meltfptr[15]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*^apply*/ /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXEDDEPTH__V5*/ meltfptr[4]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.EPIL__V16*/ meltfptr[15]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V21*/ meltfptr[19] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V22*/ meltfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1672:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V22*/ meltfptr[21] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V21*/ meltfptr[19] = NULL;; } ; /*^compute*/ /*_.LET___V13*/ meltfptr[12] = /*_.IF___V21*/ meltfptr[19];; MELT_LOCATION("warmelt-outobj.melt:1666:/ clear"); /*clear*/ /*_.BLOC__V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_.BODYL__V15*/ meltfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_.EPIL__V16*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V17*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V19*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V21*/ meltfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1664:/ quasiblock"); /*_.PROGN___V23*/ meltfptr[21] = /*_.LET___V13*/ meltfptr[12];; /*^compute*/ /*_.IFELSE___V12*/ meltfptr[11] = /*_.PROGN___V23*/ meltfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1664:/ clear"); /*clear*/ /*_.LET___V13*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V23*/ meltfptr[21] = 0 ;} ; } else {/*^cond.else*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1675:/ cond"); /*cond*/ if (/*_.CUR__V11*/ meltfptr[10]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#IS_NOT_A__L6*/ meltfnum[5] = !melt_is_instance_of((melt_ptr_t)(/*_.CUR__V11*/ meltfptr[10]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ meltfrout->tabval[3])));; /*^compute*/ /*_#IF___L5*/ meltfnum[4] = /*_#IS_NOT_A__L6*/ meltfnum[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1675:/ clear"); /*clear*/ /*_#IS_NOT_A__L6*/ meltfnum[5] = 0 ;} ; } else {/*^cond.else*/ /*_#IF___L5*/ meltfnum[4] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1675:/ cond"); /*cond*/ if (/*_#IF___L5*/ meltfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ { MELT_LOCATION("warmelt-outobj.melt:1676:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L3*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1677:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTH__L3*/ meltfnum[0]; /*_.OUTPUT_C_CODE__V25*/ meltfptr[14] = meltgc_send((melt_ptr_t)(/*_.CUR__V11*/ meltfptr[10]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[4])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1678:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ";"));} ; MELT_LOCATION("warmelt-outobj.melt:1675:/ quasiblock"); /*epilog*/ /*^clear*/ /*clear*/ /*_.OUTPUT_C_CODE__V25*/ meltfptr[14] = 0 ;} ; } else {/*^cond.else*/ /*_.IFELSE___V24*/ meltfptr[13] = NULL;; } ; /*^compute*/ /*_.IFELSE___V12*/ meltfptr[11] = /*_.IFELSE___V24*/ meltfptr[13];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1664:/ clear"); /*clear*/ /*_#IF___L5*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V24*/ meltfptr[13] = 0 ;} ; } ; } /* end cit1__EACHLIST */ /*citerepilog*/ MELT_LOCATION("warmelt-outobj.melt:1660:/ clear"); /*clear*/ /*_.PAIR__V10*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.CUR__V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_#IS_A__L4*/ meltfnum[3] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ;} /*endciterblock FOREACH_IN_LIST*/ ; MELT_LOCATION("warmelt-outobj.melt:1658:/ clear"); /*clear*/ /*_#DEPTH__L3*/ meltfnum[0] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1655:/ clear"); /*clear*/ /*_.IFCPP___V6*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V8*/ meltfptr[6] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUT_CODE_INSTRUCTIONS_LIST", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_48_warmelt_outobj_OUTPUT_CODE_INSTRUCTIONS_LIST*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_warmelt_outobj_OUTPUCOD_OBJANYBLOCK(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_49_warmelt_outobj_OUTPUCOD_OBJANYBLOCK_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 MELTFRAM_NBVARPTR 20 void* varptr[20]; #define MELTFRAM_NBVARNUM 8 long varnum[8]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 20; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJANYBLOCK", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1686:/ getarg"); /*_.OBLO__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1687:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJANYBLOCK*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1687:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1687:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check oblo"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1687)?(1687):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1687:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1688:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1688:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objblock oblo"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1688; /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1688:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1689:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 0, "OBI_LOC");/*_.OBI_LOC__V9*/ meltfptr[7] = slot; }; ; /*^apply*/ /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "block"; /*_.OUTPUT_LOCATION__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.OBI_LOC__V9*/ meltfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1690:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 1, "OBLO_BODYL");/*_.BODYL__V11*/ meltfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1691:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 2, "OBLO_EPIL");/*_.EPIL__V12*/ meltfptr[11] = slot; }; ; /*_#I__L4*/ meltfnum[1] = ((/*_#DEPTH__L1*/ meltfnum[0]) + (1));; /*^compute*/ /*_.BOXDEPTHP1__V13*/ meltfptr[12] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ meltfrout->tabval[3])), (/*_#I__L4*/ meltfnum[1])));; { MELT_LOCATION("warmelt-outobj.melt:1694:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*anyblock*/{"));} ; /*_#IS_LIST__L5*/ meltfnum[4] = (melt_magic_discr((melt_ptr_t)(/*_.BODYL__V11*/ meltfptr[10])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1695:/ cond"); /*cond*/ if (/*_#IS_LIST__L5*/ meltfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1696:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V13*/ meltfptr[12]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V15*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.BODYL__V11*/ meltfptr[10]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V14*/ meltfptr[13] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V15*/ meltfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1695:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V15*/ meltfptr[14] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V14*/ meltfptr[13] = NULL;; } ; /*^compute*/ /*_#IS_LIST__L6*/ meltfnum[5] = (melt_magic_discr((melt_ptr_t)(/*_.EPIL__V12*/ meltfptr[11])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1697:/ cond"); /*cond*/ if (/*_#IS_LIST__L6*/ meltfnum[5]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#GET_INT__L7*/ meltfnum[6] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V13*/ meltfptr[12])));; { MELT_LOCATION("warmelt-outobj.melt:1699:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#GET_INT__L7*/ meltfnum[6]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1700:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*epilog*/"));} ; MELT_LOCATION("warmelt-outobj.melt:1701:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V13*/ meltfptr[12]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.EPIL__V12*/ meltfptr[11]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1698:/ quasiblock"); /*_.PROGN___V18*/ meltfptr[17] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V17*/ meltfptr[16];; /*^compute*/ /*_.IF___V16*/ meltfptr[14] = /*_.PROGN___V18*/ meltfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1697:/ clear"); /*clear*/ /*_#GET_INT__L7*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V17*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V18*/ meltfptr[17] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V16*/ meltfptr[14] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1702:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "}"));} ; { MELT_LOCATION("warmelt-outobj.melt:1703:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1690:/ clear"); /*clear*/ /*_.BODYL__V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.EPIL__V12*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_#I__L4*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.BOXDEPTHP1__V13*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_#IS_LIST__L5*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_#IS_LIST__L6*/ meltfnum[5] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V16*/ meltfptr[14] = 0 ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1705:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[6] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1705:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objblock done oblo"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[6]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1705; /*_.DEBUG_MSG_FUN__V20*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V19*/ meltfptr[16] = /*_.DEBUG_MSG_FUN__V20*/ meltfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1705:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V20*/ meltfptr[17] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V19*/ meltfptr[16] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1686:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V19*/ meltfptr[16];; MELT_LOCATION("warmelt-outobj.melt:1686:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.OBI_LOC__V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V19*/ meltfptr[16] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJANYBLOCK", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_49_warmelt_outobj_OUTPUCOD_OBJANYBLOCK*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_warmelt_outobj_OUTPUCOD_OBJMULTIALLOCBLOCK(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_50_warmelt_outobj_OUTPUCOD_OBJMULTIALLOCBLOCK_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 MELTFRAM_NBVARPTR 40 void* varptr[40]; #define MELTFRAM_NBVARNUM 14 long varnum[14]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<40; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 40; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJMULTIALLOCBLOCK", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1710:/ getarg"); /*_.OBLO__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1711:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1711:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objmultiallocblock oblo"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1711; /*_.DEBUG_MSG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V5*/ meltfptr[4] = /*_.DEBUG_MSG_FUN__V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1711:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1712:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJMULTIALLOCBLOCK*/ meltfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:1712:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V8*/ meltfptr[7] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1712:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check oblo"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1712)?(1712):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V8*/ meltfptr[7] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V7*/ meltfptr[5] = /*_.IFELSE___V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1712:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1713:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 0, "OBI_LOC");/*_.OLOC__V9*/ meltfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1714:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 3, "OMALBLO_ALLSTRUCT");/*_.OALLSTRUCT__V10*/ meltfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1715:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 4, "OMALBLO_NAME");/*_.ONAME__V11*/ meltfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1716:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 2, "OBLO_EPIL");/*_.EPIL__V12*/ meltfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1717:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 1, "OBLO_BODYL");/*_.BODYL__V13*/ meltfptr[12] = slot; }; ; /*_#DEPTHP1__L4*/ meltfnum[1] = ((/*_#DEPTH__L1*/ meltfnum[0]) + (1));; /*^compute*/ /*_.BOXDEPTHP1__V14*/ meltfptr[13] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ meltfrout->tabval[2])), (/*_#DEPTHP1__L4*/ meltfnum[1])));; MELT_LOCATION("warmelt-outobj.melt:1720:/ quasiblock"); /*_.PTRBUF__V16*/ meltfptr[15] = meltgc_new_strbuf((meltobject_ptr_t)((/*!DISCR_STRBUF*/ meltfrout->tabval[3])), (char*)0);; { MELT_LOCATION("warmelt-outobj.melt:1721:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.PTRBUF__V16*/ meltfptr[15]), melt_string_str((melt_ptr_t)(/*_.ONAME__V11*/ meltfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:1722:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.PTRBUF__V16*/ meltfptr[15]), ( "_ptr"));} ; /*_.STRBUF2STRING__V17*/ meltfptr[16] = (meltgc_new_stringdup((meltobject_ptr_t)((/*!DISCR_VERBATIM_STRING*/ meltfrout->tabval[4])), melt_strbuf_str((melt_ptr_t)(/*_.PTRBUF__V16*/ meltfptr[15]))));; /*^compute*/ /*_.LET___V15*/ meltfptr[14] = /*_.STRBUF2STRING__V17*/ meltfptr[16];; MELT_LOCATION("warmelt-outobj.melt:1720:/ clear"); /*clear*/ /*_.PTRBUF__V16*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.STRBUF2STRING__V17*/ meltfptr[16] = 0 ; /*_.ONAMEPTR__V18*/ meltfptr[15] = /*_.LET___V15*/ meltfptr[14];; MELT_LOCATION("warmelt-outobj.melt:1725:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "blockmultialloc"; /*_.OUTPUT_LOCATION__V19*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.OLOC__V9*/ meltfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1726:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1726:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objmultiallocblock oallstruct"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1726; /*_.DEBUG_MSG_FUN__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.OALLSTRUCT__V10*/ meltfptr[9]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V20*/ meltfptr[19] = /*_.DEBUG_MSG_FUN__V21*/ meltfptr[20];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1726:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V21*/ meltfptr[20] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V20*/ meltfptr[19] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1727:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_MULTIPLE_OR_NULL__L6*/ meltfnum[4] = ((/*_.OALLSTRUCT__V10*/ meltfptr[9]) == NULL || (melt_unsafe_magic_discr((melt_ptr_t)(/*_.OALLSTRUCT__V10*/ meltfptr[9])) == OBMAG_MULTIPLE));; MELT_LOCATION("warmelt-outobj.melt:1727:/ cond"); /*cond*/ if (/*_#IS_MULTIPLE_OR_NULL__L6*/ meltfnum[4]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V23*/ meltfptr[22] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1727:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check oallstruct"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1727)?(1727):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V23*/ meltfptr[22] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V22*/ meltfptr[20] = /*_.IFELSE___V23*/ meltfptr[22];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1727:/ clear"); /*clear*/ /*_#IS_MULTIPLE_OR_NULL__L6*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V23*/ meltfptr[22] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V22*/ meltfptr[20] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; { MELT_LOCATION("warmelt-outobj.melt:1728:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*multiallocblock*/{"));} ; { MELT_LOCATION("warmelt-outobj.melt:1729:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTHP1__L4*/ meltfnum[1]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1730:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "struct "));} ; { MELT_LOCATION("warmelt-outobj.melt:1731:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAME__V11*/ meltfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:1732:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "_st {"));} ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start cit1__EACHTUP: */ long cit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.OALLSTRUCT__V10*/ meltfptr[9]); for (/*_#STRIX__L7*/ meltfnum[4] = 0; (/*_#STRIX__L7*/ meltfnum[4] >= 0) && (/*_#STRIX__L7*/ meltfnum[4] < cit1__EACHTUP_ln); /*_#STRIX__L7*/ meltfnum[4]++) { /*_.CURSTRU__V24*/ meltfptr[22] = melt_multiple_nth((melt_ptr_t)(/*_.OALLSTRUCT__V10*/ meltfptr[9]), /*_#STRIX__L7*/ meltfnum[4]); #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1736:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1736:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objmultiallocblock curstru declare"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1736; /*_.DEBUG_MSG_FUN__V26*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.CURSTRU__V24*/ meltfptr[22]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V25*/ meltfptr[24] = /*_.DEBUG_MSG_FUN__V26*/ meltfptr[25];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1736:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V26*/ meltfptr[25] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V25*/ meltfptr[24] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1737:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L9*/ meltfnum[7] = melt_is_instance_of((melt_ptr_t)(/*_.CURSTRU__V24*/ meltfptr[22]), (melt_ptr_t)((/*!CLASS_OBJINITELEM*/ meltfrout->tabval[6])));; MELT_LOCATION("warmelt-outobj.melt:1737:/ cond"); /*cond*/ if (/*_#IS_A__L9*/ meltfnum[7]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V28*/ meltfptr[27] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1737:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check curstru"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1737)?(1737):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V28*/ meltfptr[27] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V27*/ meltfptr[25] = /*_.IFELSE___V28*/ meltfptr[27];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1737:/ clear"); /*clear*/ /*_#IS_A__L9*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V28*/ meltfptr[27] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V27*/ meltfptr[25] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; { MELT_LOCATION("warmelt-outobj.melt:1738:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTHP1__L4*/ meltfnum[1]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1739:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*_.OUTPUT_C_DECLINIT__V29*/ meltfptr[27] = meltgc_send((melt_ptr_t)(/*_.CURSTRU__V24*/ meltfptr[22]), (melt_ptr_t)((/*!OUTPUT_C_DECLINIT*/ meltfrout->tabval[7])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; if (/*_#STRIX__L7*/ meltfnum[4]<0) break; } /* end cit1__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-outobj.melt:1733:/ clear"); /*clear*/ /*_.CURSTRU__V24*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_#STRIX__L7*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V27*/ meltfptr[25] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_DECLINIT__V29*/ meltfptr[27] = 0 ;} /*endciterblock FOREACH_IN_MULTIPLE*/ ; { MELT_LOCATION("warmelt-outobj.melt:1741:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " long "));} ; { MELT_LOCATION("warmelt-outobj.melt:1742:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAME__V11*/ meltfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:1743:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "_endgap; } *"));} ; { MELT_LOCATION("warmelt-outobj.melt:1744:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAME__V11*/ meltfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:1745:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "_ptr = 0;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1746:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTHP1__L4*/ meltfnum[1]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1747:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAME__V11*/ meltfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:1748:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "_ptr = (struct "));} ; { MELT_LOCATION("warmelt-outobj.melt:1749:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAME__V11*/ meltfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:1750:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "_st *) meltgc_allocate (sizeof (struct "));} ; { MELT_LOCATION("warmelt-outobj.melt:1751:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAME__V11*/ meltfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:1752:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "_st), 0);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1753:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTHP1__L4*/ meltfnum[1]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1755:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "blockmultialloc.initfill"; /*_.OUTPUT_LOCATION__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.OLOC__V9*/ meltfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start cit2__EACHTUP: */ long cit2__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.OALLSTRUCT__V10*/ meltfptr[9]); for (/*_#STRIX__L10*/ meltfnum[7] = 0; (/*_#STRIX__L10*/ meltfnum[7] >= 0) && (/*_#STRIX__L10*/ meltfnum[7] < cit2__EACHTUP_ln); /*_#STRIX__L10*/ meltfnum[7]++) { /*_.CURSTRU__V31*/ meltfptr[30] = melt_multiple_nth((melt_ptr_t)(/*_.OALLSTRUCT__V10*/ meltfptr[9]), /*_#STRIX__L10*/ meltfnum[7]); #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1759:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1759:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objmultiallocblock curstru initfill"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1759; /*_.DEBUG_MSG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.CURSTRU__V31*/ meltfptr[30]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V32*/ meltfptr[31] = /*_.DEBUG_MSG_FUN__V33*/ meltfptr[32];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1759:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V33*/ meltfptr[32] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V32*/ meltfptr[31] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1760:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.ONAMEPTR__V18*/ meltfptr[15]; /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTHP1__L4*/ meltfnum[1]; /*_.OUTPUT_C_INITIAL_FILL__V34*/ meltfptr[32] = meltgc_send((melt_ptr_t)(/*_.CURSTRU__V31*/ meltfptr[30]), (melt_ptr_t)((/*!OUTPUT_C_INITIAL_FILL*/ meltfrout->tabval[8])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1761:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTHP1__L4*/ meltfnum[1]), 0);} ; if (/*_#STRIX__L10*/ meltfnum[7]<0) break; } /* end cit2__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-outobj.melt:1756:/ clear"); /*clear*/ /*_.CURSTRU__V31*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_#STRIX__L10*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V32*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_INITIAL_FILL__V34*/ meltfptr[32] = 0 ;} /*endciterblock FOREACH_IN_MULTIPLE*/ ; /*_#IS_LIST__L12*/ meltfnum[10] = (melt_magic_discr((melt_ptr_t)(/*_.BODYL__V13*/ meltfptr[12])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1764:/ cond"); /*cond*/ if (/*_#IS_LIST__L12*/ meltfnum[10]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1765:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V14*/ meltfptr[13]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V36*/ meltfptr[35] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ meltfrout->tabval[9])), (melt_ptr_t)(/*_.BODYL__V13*/ meltfptr[12]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V35*/ meltfptr[34] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V36*/ meltfptr[35];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1764:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V36*/ meltfptr[35] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V35*/ meltfptr[34] = NULL;; } ; /*^compute*/ /*_#IS_LIST__L13*/ meltfnum[12] = (melt_magic_discr((melt_ptr_t)(/*_.EPIL__V12*/ meltfptr[11])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1767:/ cond"); /*cond*/ if (/*_#IS_LIST__L13*/ meltfnum[12]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#GET_INT__L14*/ meltfnum[13] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V14*/ meltfptr[13])));; { MELT_LOCATION("warmelt-outobj.melt:1769:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#GET_INT__L14*/ meltfnum[13]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1770:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*epilog*/"));} ; MELT_LOCATION("warmelt-outobj.melt:1771:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V14*/ meltfptr[13]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V38*/ meltfptr[37] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ meltfrout->tabval[9])), (melt_ptr_t)(/*_.EPIL__V12*/ meltfptr[11]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1768:/ quasiblock"); /*_.PROGN___V39*/ meltfptr[38] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V38*/ meltfptr[37];; /*^compute*/ /*_.IF___V37*/ meltfptr[35] = /*_.PROGN___V39*/ meltfptr[38];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1767:/ clear"); /*clear*/ /*_#GET_INT__L14*/ meltfnum[13] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V38*/ meltfptr[37] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V39*/ meltfptr[38] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V37*/ meltfptr[35] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1773:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "} /*end multiallocblock*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1774:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1713:/ clear"); /*clear*/ /*_.OLOC__V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.OALLSTRUCT__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.ONAME__V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.EPIL__V12*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.BODYL__V13*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_#DEPTHP1__L4*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.BOXDEPTHP1__V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V15*/ meltfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_.ONAMEPTR__V18*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V19*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V22*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V30*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_#IS_LIST__L12*/ meltfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V35*/ meltfptr[34] = 0 ; /*^clear*/ /*clear*/ /*_#IS_LIST__L13*/ meltfnum[12] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V37*/ meltfptr[35] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1776:/ quasiblock"); /*_.RETVAL___V40*/ meltfptr[37] = (/*nil*/NULL);; MELT_LOCATION("warmelt-outobj.melt:1776:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RETVAL___V40*/ meltfptr[37];; MELT_LOCATION("warmelt-outobj.melt:1776:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*^clear*/ /*clear*/ /*_.RETVAL___V40*/ meltfptr[37] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1710:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJMULTIALLOCBLOCK", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_50_warmelt_outobj_OUTPUCOD_OBJMULTIALLOCBLOCK*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_51_warmelt_outobj_OUTPUCOD_OBJCITERBLOCK(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_51_warmelt_outobj_OUTPUCOD_OBJCITERBLOCK_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 MELTFRAM_NBVARPTR 35 void* varptr[35]; #define MELTFRAM_NBVARNUM 8 long varnum[8]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<35; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 35; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJCITERBLOCK", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1781:/ getarg"); /*_.OBCIT__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1782:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBCIT__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCITERBLOCK*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1782:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1782:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check obcit"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1782)?(1782):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1782:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1783:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1783:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objciterblock obcit"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1783; /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OBCIT__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1783:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1784:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ meltfptr[1]), 0, "OBI_LOC");/*_.OLOC__V9*/ meltfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1785:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ meltfptr[1]), 1, "OBLO_BODYL");/*_.BODYL__V10*/ meltfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1786:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ meltfptr[1]), 2, "OBLO_EPIL");/*_.EPIL__V11*/ meltfptr[10] = slot; }; ; /*_#I__L4*/ meltfnum[1] = ((/*_#DEPTH__L1*/ meltfnum[0]) + (1));; /*^compute*/ /*_.BOXDEPTHP1__V12*/ meltfptr[11] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ meltfrout->tabval[2])), (/*_#I__L4*/ meltfnum[1])));; MELT_LOCATION("warmelt-outobj.melt:1788:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ meltfptr[1]), 4, "OBCITER_BEFORE");/*_.OBEFORE__V13*/ meltfptr[12] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1789:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ meltfptr[1]), 5, "OBCITER_AFTER");/*_.OAFTER__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1790:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ meltfptr[1]), 3, "OBCITER_CITER");/*_.CITER__V15*/ meltfptr[14] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1792:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L5*/ meltfnum[4] = melt_is_instance_of((melt_ptr_t)(/*_.CITER__V15*/ meltfptr[14]), (melt_ptr_t)((/*!CLASS_CITERATOR*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:1792:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ meltfnum[4]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V17*/ meltfptr[16] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1792:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check citer"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1792)?(1792):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V17*/ meltfptr[16] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V16*/ meltfptr[15] = /*_.IFELSE___V17*/ meltfptr[16];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1792:/ clear"); /*clear*/ /*_#IS_A__L5*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V17*/ meltfptr[16] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V16*/ meltfptr[15] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1793:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "citerblock"; /*_.OUTPUT_LOCATION__V18*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ meltfptr[7]), (BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1794:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*citerblock "));} ; MELT_LOCATION("warmelt-outobj.melt:1795:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CITER__V15*/ meltfptr[14]), 1, "NAMED_NAME");/*_.NAMED_NAME__V19*/ meltfptr[18] = slot; }; ; { /*^locexp*/ meltgc_add_strbuf_ccomment((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V19*/ meltfptr[18])));} ; { MELT_LOCATION("warmelt-outobj.melt:1796:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "*/ {"));} ; { MELT_LOCATION("warmelt-outobj.melt:1797:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1798:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "citerbefore"; /*_.OUTPUT_LOCATION__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ meltfptr[7]), (BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1801:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V22*/ meltfptr[21] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_7*/ meltfrout->tabval[7])), (3)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V22*/ meltfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V22*/ meltfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V22*/ meltfptr[21])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V22*/ meltfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V22*/ meltfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V22*/ meltfptr[21])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V22*/ meltfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V22*/ meltfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V22*/ meltfptr[21])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V12*/ meltfptr[11]); ; /*_.LAMBDA___V21*/ meltfptr[20] = /*_.LAMBDA___V22*/ meltfptr[21];; MELT_LOCATION("warmelt-outobj.melt:1799:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V21*/ meltfptr[20]; /*_.MULTIPLE_EVERY__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.OBEFORE__V13*/ meltfptr[12]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1804:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1805:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "citerbody"; /*_.OUTPUT_LOCATION__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ meltfptr[7]), (BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_#IS_LIST__L6*/ meltfnum[4] = (melt_magic_discr((melt_ptr_t)(/*_.BODYL__V10*/ meltfptr[9])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1806:/ cond"); /*cond*/ if (/*_#IS_LIST__L6*/ meltfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1807:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V12*/ meltfptr[11]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V26*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.BODYL__V10*/ meltfptr[9]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V25*/ meltfptr[24] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V26*/ meltfptr[25];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1806:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V26*/ meltfptr[25] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V25*/ meltfptr[24] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1808:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1809:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "citerafter"; /*_.OUTPUT_LOCATION__V27*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ meltfptr[7]), (BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1812:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V29*/ meltfptr[28] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_10*/ meltfrout->tabval[10])), (3)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ meltfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ meltfptr[28])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ meltfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ meltfptr[28])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ meltfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ meltfptr[28])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V12*/ meltfptr[11]); ; /*_.LAMBDA___V28*/ meltfptr[27] = /*_.LAMBDA___V29*/ meltfptr[28];; MELT_LOCATION("warmelt-outobj.melt:1810:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V28*/ meltfptr[27]; /*_.MULTIPLE_EVERY__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.OAFTER__V14*/ meltfptr[13]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1815:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1816:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "citerepil"; /*_.OUTPUT_LOCATION__V31*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ meltfptr[7]), (BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_#IS_LIST__L7*/ meltfnum[6] = (melt_magic_discr((melt_ptr_t)(/*_.EPIL__V11*/ meltfptr[10])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1817:/ cond"); /*cond*/ if (/*_#IS_LIST__L7*/ meltfnum[6]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#GET_INT__L8*/ meltfnum[7] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V12*/ meltfptr[11])));; { MELT_LOCATION("warmelt-outobj.melt:1819:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#GET_INT__L8*/ meltfnum[7]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1820:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*citerepilog*/"));} ; MELT_LOCATION("warmelt-outobj.melt:1821:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V12*/ meltfptr[11]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.EPIL__V11*/ meltfptr[10]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1818:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[33] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V33*/ meltfptr[32];; /*^compute*/ /*_.IF___V32*/ meltfptr[31] = /*_.PROGN___V34*/ meltfptr[33];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1817:/ clear"); /*clear*/ /*_#GET_INT__L8*/ meltfnum[7] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V33*/ meltfptr[32] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V34*/ meltfptr[33] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V32*/ meltfptr[31] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1822:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "} /*endciterblock "));} ; MELT_LOCATION("warmelt-outobj.melt:1823:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CITER__V15*/ meltfptr[14]), 1, "NAMED_NAME");/*_.NAMED_NAME__V35*/ meltfptr[32] = slot; }; ; { /*^locexp*/ meltgc_add_strbuf_ccomment((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V35*/ meltfptr[32])));} ; { MELT_LOCATION("warmelt-outobj.melt:1824:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1825:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1784:/ clear"); /*clear*/ /*_.OLOC__V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.BODYL__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.EPIL__V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_#I__L4*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.BOXDEPTHP1__V12*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.OBEFORE__V13*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.OAFTER__V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_.CITER__V15*/ meltfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V16*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V18*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_.NAMED_NAME__V19*/ meltfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V21*/ meltfptr[20] = 0 ; /*^clear*/ /*clear*/ /*_.MULTIPLE_EVERY__V23*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V24*/ meltfptr[23] = 0 ; /*^clear*/ /*clear*/ /*_#IS_LIST__L6*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V25*/ meltfptr[24] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V27*/ meltfptr[25] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_.MULTIPLE_EVERY__V30*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V31*/ meltfptr[30] = 0 ; /*^clear*/ /*clear*/ /*_#IS_LIST__L7*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V32*/ meltfptr[31] = 0 ; /*^clear*/ /*clear*/ /*_.NAMED_NAME__V35*/ meltfptr[32] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1781:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCITERBLOCK", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_51_warmelt_outobj_OUTPUCOD_OBJCITERBLOCK*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_52_warmelt_outobj_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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_52_warmelt_outobj_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 MELTFRAM_NBVARPTR 3 void* varptr[3]; #define MELTFRAM_NBVARNUM 2 long varnum[2]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 3; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1801:/ getarg"); /*_.OBEF__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ /*_#GET_INT__L2*/ meltfnum[1] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ meltfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:1802:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ meltfclos->tabval[0]); /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ meltfclos->tabval[1]); /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#GET_INT__L2*/ meltfnum[1]; /*_.OUTPUT_C_CODE__V3*/ meltfptr[2] = meltgc_send((melt_ptr_t)(/*_.OBEF__V2*/ meltfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1801:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.OUTPUT_C_CODE__V3*/ meltfptr[2];; MELT_LOCATION("warmelt-outobj.melt:1801:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_#GET_INT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_CODE__V3*/ meltfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_52_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_53_warmelt_outobj_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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_53_warmelt_outobj_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 MELTFRAM_NBVARPTR 3 void* varptr[3]; #define MELTFRAM_NBVARNUM 2 long varnum[2]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 3; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1812:/ getarg"); /*_.OAFT__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ /*_#GET_INT__L2*/ meltfnum[1] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ meltfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:1813:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ meltfclos->tabval[0]); /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ meltfclos->tabval[1]); /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#GET_INT__L2*/ meltfnum[1]; /*_.OUTPUT_C_CODE__V3*/ meltfptr[2] = meltgc_send((melt_ptr_t)(/*_.OAFT__V2*/ meltfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1812:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.OUTPUT_C_CODE__V3*/ meltfptr[2];; MELT_LOCATION("warmelt-outobj.melt:1812:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_#GET_INT__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_C_CODE__V3*/ meltfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_53_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_54_warmelt_outobj_OUTPUCOD_OBJCOMMENTINSTR(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_54_warmelt_outobj_OUTPUCOD_OBJCOMMENTINSTR_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 MELTFRAM_NBVARPTR 13 void* varptr[13]; #define MELTFRAM_NBVARNUM 2 long varnum[2]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 13; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJCOMMENTINSTR", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1831:/ getarg"); /*_.OBCI__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1832:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBCI__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCOMMENTINSTR*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1832:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1832:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check obci"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1832)?(1832):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1832:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1833:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCI__V2*/ meltfptr[1]), 0, "OBI_LOC");/*_.OLOC__V7*/ meltfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1834:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCI__V2*/ meltfptr[1]), 1, "OBCI_COMMENT");/*_.COMS__V8*/ meltfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1835:/ quasiblock"); /*_.SBU__V10*/ meltfptr[9] = meltgc_new_strbuf((meltobject_ptr_t)((/*!DISCR_STRBUF*/ meltfrout->tabval[1])), (char*)0);; { MELT_LOCATION("warmelt-outobj.melt:1836:/ locexp"); meltgc_add_strbuf_ccomment((melt_ptr_t)(/*_.SBU__V10*/ meltfptr[9]), melt_string_str((melt_ptr_t)(/*_.COMS__V8*/ meltfptr[7])));} ; /*_.STRBUF2STRING__V11*/ meltfptr[10] = (meltgc_new_stringdup((meltobject_ptr_t)((/*!DISCR_STRING*/ meltfrout->tabval[2])), melt_strbuf_str((melt_ptr_t)(/*_.SBU__V10*/ meltfptr[9]))));; /*^compute*/ /*_.LET___V9*/ meltfptr[8] = /*_.STRBUF2STRING__V11*/ meltfptr[10];; MELT_LOCATION("warmelt-outobj.melt:1835:/ clear"); /*clear*/ /*_.SBU__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.STRBUF2STRING__V11*/ meltfptr[10] = 0 ; /*_.COMSTR__V12*/ meltfptr[9] = /*_.LET___V9*/ meltfptr[8];; MELT_LOCATION("warmelt-outobj.melt:1840:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "comment"; /*_.OUTPUT_LOCATION__V13*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[3])), (melt_ptr_t)(/*_.OLOC__V7*/ meltfptr[5]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1841:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/**COMMENT: "));} ; { MELT_LOCATION("warmelt-outobj.melt:1842:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.COMSTR__V12*/ meltfptr[9])));} ; { MELT_LOCATION("warmelt-outobj.melt:1843:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " **/;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1844:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1833:/ clear"); /*clear*/ /*_.OLOC__V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.COMS__V8*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V9*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_.COMSTR__V12*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V13*/ meltfptr[10] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1831:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCOMMENTINSTR", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_54_warmelt_outobj_OUTPUCOD_OBJCOMMENTINSTR*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_55_warmelt_outobj_OUTPUCOD_OBJCOMMENTEDBLOCK(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_55_warmelt_outobj_OUTPUCOD_OBJCOMMENTEDBLOCK_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 MELTFRAM_NBVARPTR 25 void* varptr[25]; #define MELTFRAM_NBVARNUM 8 long varnum[8]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<25; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 25; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJCOMMENTEDBLOCK", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1850:/ getarg"); /*_.OBLO__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1851:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCOMMENTEDBLOCK*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1851:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1851:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check oblo"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1851)?(1851):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1851:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1852:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1852:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objblock oblo"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1852; /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1852:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1853:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 0, "OBI_LOC");/*_.OBI_LOC__V9*/ meltfptr[7] = slot; }; ; /*^apply*/ /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "block"; /*_.OUTPUT_LOCATION__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.OBI_LOC__V9*/ meltfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1854:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 1, "OBLO_BODYL");/*_.BODYL__V11*/ meltfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1855:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 2, "OBLO_EPIL");/*_.EPIL__V12*/ meltfptr[11] = slot; }; ; /*_#I__L4*/ meltfnum[1] = ((/*_#DEPTH__L1*/ meltfnum[0]) + (1));; /*^compute*/ /*_.BOXDEPTHP1__V13*/ meltfptr[12] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ meltfrout->tabval[3])), (/*_#I__L4*/ meltfnum[1])));; MELT_LOCATION("warmelt-outobj.melt:1857:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 3, "OCOMBLO_COMMENT");/*_.COMS__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1858:/ quasiblock"); /*_.SBU__V16*/ meltfptr[15] = meltgc_new_strbuf((meltobject_ptr_t)((/*!DISCR_STRBUF*/ meltfrout->tabval[4])), (char*)0);; { MELT_LOCATION("warmelt-outobj.melt:1859:/ locexp"); meltgc_add_strbuf_ccomment((melt_ptr_t)(/*_.SBU__V16*/ meltfptr[15]), melt_string_str((melt_ptr_t)(/*_.COMS__V14*/ meltfptr[13])));} ; /*_.STRBUF2STRING__V17*/ meltfptr[16] = (meltgc_new_stringdup((meltobject_ptr_t)((/*!DISCR_STRING*/ meltfrout->tabval[5])), melt_strbuf_str((melt_ptr_t)(/*_.SBU__V16*/ meltfptr[15]))));; /*^compute*/ /*_.LET___V15*/ meltfptr[14] = /*_.STRBUF2STRING__V17*/ meltfptr[16];; MELT_LOCATION("warmelt-outobj.melt:1858:/ clear"); /*clear*/ /*_.SBU__V16*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_.STRBUF2STRING__V17*/ meltfptr[16] = 0 ; /*_.COMSTR__V18*/ meltfptr[15] = /*_.LET___V15*/ meltfptr[14];; { MELT_LOCATION("warmelt-outobj.melt:1863:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*com.block:"));} ; { MELT_LOCATION("warmelt-outobj.melt:1864:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.COMSTR__V18*/ meltfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1865:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "*/{"));} ; /*_#IS_LIST__L5*/ meltfnum[4] = (melt_magic_discr((melt_ptr_t)(/*_.BODYL__V11*/ meltfptr[10])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1866:/ cond"); /*cond*/ if (/*_#IS_LIST__L5*/ meltfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1867:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V13*/ meltfptr[12]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.BODYL__V11*/ meltfptr[10]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V19*/ meltfptr[16] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V20*/ meltfptr[19];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1866:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V20*/ meltfptr[19] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V19*/ meltfptr[16] = NULL;; } ; /*^compute*/ /*_#IS_LIST__L6*/ meltfnum[5] = (melt_magic_discr((melt_ptr_t)(/*_.EPIL__V12*/ meltfptr[11])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1868:/ cond"); /*cond*/ if (/*_#IS_LIST__L6*/ meltfnum[5]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#GET_INT__L7*/ meltfnum[6] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V13*/ meltfptr[12])));; { MELT_LOCATION("warmelt-outobj.melt:1870:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#GET_INT__L7*/ meltfnum[6]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1871:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*comp.epilog:"));} ; { MELT_LOCATION("warmelt-outobj.melt:1872:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.COMSTR__V18*/ meltfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1873:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "*/"));} ; MELT_LOCATION("warmelt-outobj.melt:1874:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ meltfptr[2]; /*^apply.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V13*/ meltfptr[12]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.EPIL__V12*/ meltfptr[11]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1869:/ quasiblock"); /*_.PROGN___V23*/ meltfptr[22] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V22*/ meltfptr[21];; /*^compute*/ /*_.IF___V21*/ meltfptr[19] = /*_.PROGN___V23*/ meltfptr[22];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1868:/ clear"); /*clear*/ /*_#GET_INT__L7*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V23*/ meltfptr[22] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V21*/ meltfptr[19] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1875:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "}"));} ; { MELT_LOCATION("warmelt-outobj.melt:1876:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*com.end block:"));} ; { MELT_LOCATION("warmelt-outobj.melt:1877:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.COMSTR__V18*/ meltfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1878:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1879:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1854:/ clear"); /*clear*/ /*_.BODYL__V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.EPIL__V12*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_#I__L4*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.BOXDEPTHP1__V13*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.COMS__V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_.LET___V15*/ meltfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_.COMSTR__V18*/ meltfptr[15] = 0 ; /*^clear*/ /*clear*/ /*_#IS_LIST__L5*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V19*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_#IS_LIST__L6*/ meltfnum[5] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V21*/ meltfptr[19] = 0 ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1881:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[6] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1881:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objcommentedblock done oblo"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[6]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1881; /*_.DEBUG_MSG_FUN__V25*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V24*/ meltfptr[21] = /*_.DEBUG_MSG_FUN__V25*/ meltfptr[22];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1881:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V25*/ meltfptr[22] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V24*/ meltfptr[21] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1850:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V24*/ meltfptr[21];; MELT_LOCATION("warmelt-outobj.melt:1850:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.OBI_LOC__V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V24*/ meltfptr[21] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCOMMENTEDBLOCK", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_55_warmelt_outobj_OUTPUCOD_OBJCOMMENTEDBLOCK*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_56_warmelt_outobj_OUTPUCOD_OBJLABELINSTR(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_56_warmelt_outobj_OUTPUCOD_OBJLABELINSTR_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 MELTFRAM_NBVARPTR 13 void* varptr[13]; #define MELTFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 13; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJLABELINSTR", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1888:/ getarg"); /*_.OBLAB__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1889:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBLAB__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJLABELINSTR*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1889:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1889:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check oblab"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1889)?(1889):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1889:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1890:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1890:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objlabelinstr oblab"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1890; /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OBLAB__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1890:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; { MELT_LOCATION("warmelt-outobj.melt:1891:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1892:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*objlabel*/ "));} ; MELT_LOCATION("warmelt-outobj.melt:1893:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLAB__V2*/ meltfptr[1]), 1, "OBLAB_PREFIX");/*_.OBLAB_PREFIX__V9*/ meltfptr[7] = slot; }; ; { /*^locexp*/ meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.OBLAB_PREFIX__V9*/ meltfptr[7])));} ; MELT_LOCATION("warmelt-outobj.melt:1894:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLAB__V2*/ meltfptr[1]), 2, "OBLAB_RANK");/*_.OBRANK__V10*/ meltfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1895:/ cond"); /*cond*/ if (/*_.OBRANK__V10*/ meltfptr[9]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1896:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLAB__V2*/ meltfptr[1]), 2, "OBLAB_RANK");/*_.OBLAB_RANK__V11*/ meltfptr[10] = slot; }; ; /*_#GET_INT__L4*/ meltfnum[1] = (melt_get_int((melt_ptr_t)(/*_.OBLAB_RANK__V11*/ meltfptr[10])));; { MELT_LOCATION("warmelt-outobj.melt:1896:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#GET_INT__L4*/ meltfnum[1]));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1895:/ clear"); /*clear*/ /*_.OBLAB_RANK__V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_#GET_INT__L4*/ meltfnum[1] = 0 ;} ; } /*noelse*/ ; MELT_LOCATION("warmelt-outobj.melt:1894:/ clear"); /*clear*/ /*_.OBRANK__V10*/ meltfptr[9] = 0 ; { MELT_LOCATION("warmelt-outobj.melt:1897:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ":"));} ; { MELT_LOCATION("warmelt-outobj.melt:1898:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1899:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLAB__V2*/ meltfptr[1]), 0, "OBI_LOC");/*_.OBI_LOC__V12*/ meltfptr[10] = slot; }; ; /*^apply*/ /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "objlabel"; /*_.OUTPUT_LOCATION__V13*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.OBI_LOC__V12*/ meltfptr[10]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1888:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.OUTPUT_LOCATION__V13*/ meltfptr[9];; MELT_LOCATION("warmelt-outobj.melt:1888:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.OBLAB_PREFIX__V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.OBI_LOC__V12*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V13*/ meltfptr[9] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJLABELINSTR", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_56_warmelt_outobj_OUTPUCOD_OBJLABELINSTR*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_57_warmelt_outobj_OUTPUCOD_OBJGOTOINSTR(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_57_warmelt_outobj_OUTPUCOD_OBJGOTOINSTR_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 MELTFRAM_NBVARPTR 12 void* varptr[12]; #define MELTFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<12; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 12; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJGOTOINSTR", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1906:/ getarg"); /*_.OBGOTO__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1907:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBGOTO__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJGOTOINSTR*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1907:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1907:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check obgoto"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1907)?(1907):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1907:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1908:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1908:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objgotoinstr"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1908; /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OBGOTO__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1908:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1909:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBGOTO__V2*/ meltfptr[1]), 0, "OBI_LOC");/*_.OBI_LOC__V9*/ meltfptr[7] = slot; }; ; /*^apply*/ /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "objgoto"; /*_.OUTPUT_LOCATION__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.OBI_LOC__V9*/ meltfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1910:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*objgoto*/ goto "));} ; MELT_LOCATION("warmelt-outobj.melt:1911:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBGOTO__V2*/ meltfptr[1]), 1, "OBGOTO_PREFIX");/*_.OBGOTO_PREFIX__V11*/ meltfptr[10] = slot; }; ; { /*^locexp*/ meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), melt_string_str((melt_ptr_t)(/*_.OBGOTO_PREFIX__V11*/ meltfptr[10])));} ; MELT_LOCATION("warmelt-outobj.melt:1912:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBGOTO__V2*/ meltfptr[1]), 2, "OBGOTO_RANK");/*_.OBRANK__V12*/ meltfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1913:/ cond"); /*cond*/ if (/*_.OBRANK__V12*/ meltfptr[11]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#GET_INT__L4*/ meltfnum[1] = (melt_get_int((melt_ptr_t)(/*_.OBRANK__V12*/ meltfptr[11])));; { MELT_LOCATION("warmelt-outobj.melt:1914:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#GET_INT__L4*/ meltfnum[1]));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1913:/ clear"); /*clear*/ /*_#GET_INT__L4*/ meltfnum[1] = 0 ;} ; } /*noelse*/ ; MELT_LOCATION("warmelt-outobj.melt:1912:/ clear"); /*clear*/ /*_.OBRANK__V12*/ meltfptr[11] = 0 ; { MELT_LOCATION("warmelt-outobj.melt:1915:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1916:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1906:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.OBI_LOC__V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.OBGOTO_PREFIX__V11*/ meltfptr[10] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJGOTOINSTR", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_57_warmelt_outobj_OUTPUCOD_OBJGOTOINSTR*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_58_warmelt_outobj_ADD2SBUF_CLONSYM(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_58_warmelt_outobj_ADD2SBUF_CLONSYM_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 MELTFRAM_NBVARPTR 9 void* varptr[9]; #define MELTFRAM_NBVARNUM 3 long varnum[3]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 9; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("ADD2SBUF_CLONSYM", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1922:/ getarg"); /*_.SBUF__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.CSY__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.CSY__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1923:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_STRBUF__L1*/ meltfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.SBUF__V2*/ meltfptr[1])) == OBMAG_STRBUF);; MELT_LOCATION("warmelt-outobj.melt:1923:/ cond"); /*cond*/ if (/*_#IS_STRBUF__L1*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V5*/ meltfptr[4] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1923:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check sbuf"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1923)?(1923):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V5*/ meltfptr[4] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1923:/ clear"); /*clear*/ /*_#IS_STRBUF__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V5*/ meltfptr[4] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V4*/ meltfptr[3] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1924:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.CSY__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_CLONED_SYMBOL*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1924:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[0]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V7*/ meltfptr[6] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1924:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check csy"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1924)?(1924):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V7*/ meltfptr[6] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1924:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V7*/ meltfptr[6] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V6*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1925:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CSY__V3*/ meltfptr[2]), 1, "NAMED_NAME");/*_.CNAM__V8*/ meltfptr[6] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1926:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CSY__V3*/ meltfptr[2]), 3, "CSYM_URANK");/*_.CSYM_URANK__V9*/ meltfptr[8] = slot; }; ; /*_#RK__L3*/ meltfnum[0] = (melt_get_int((melt_ptr_t)(/*_.CSYM_URANK__V9*/ meltfptr[8])));; { MELT_LOCATION("warmelt-outobj.melt:1927:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.SBUF__V2*/ meltfptr[1]), melt_string_str((melt_ptr_t)(/*_.CNAM__V8*/ meltfptr[6])));} ; { MELT_LOCATION("warmelt-outobj.melt:1928:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V2*/ meltfptr[1]), ( "_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1929:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.SBUF__V2*/ meltfptr[1]), (/*_#RK__L3*/ meltfnum[0]));} ; MELT_LOCATION("warmelt-outobj.melt:1925:/ clear"); /*clear*/ /*_.CNAM__V8*/ meltfptr[6] = 0 ; /*^clear*/ /*clear*/ /*_.CSYM_URANK__V9*/ meltfptr[8] = 0 ; /*^clear*/ /*clear*/ /*_#RK__L3*/ meltfnum[0] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1922:/ clear"); /*clear*/ /*_.IFCPP___V4*/ meltfptr[3] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V6*/ meltfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("ADD2SBUF_CLONSYM", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_58_warmelt_outobj_ADD2SBUF_CLONSYM*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_59_warmelt_outobj_OUTPUCOD_OBJLOOP(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_59_warmelt_outobj_OUTPUCOD_OBJLOOP_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 MELTFRAM_NBVARPTR 33 void* varptr[33]; #define MELTFRAM_NBVARNUM 12 long varnum[12]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<33; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 33; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJLOOP", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1933:/ getarg"); /*_.OBLO__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1934:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJLOOP*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1934:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1934:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check oblo"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1934)?(1934):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1934:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1935:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1935:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objloop oblo"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1935; /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1935:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1936:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 1, "OBLO_BODYL");/*_.BODYL__V9*/ meltfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1937:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 2, "OBLO_EPIL");/*_.EPIL__V10*/ meltfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1938:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 3, "OBLOOP_LABEL");/*_.LAB__V11*/ meltfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1939:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), 0, "OBI_LOC");/*_.OLOC__V12*/ meltfptr[11] = slot; }; ; /*_#I__L4*/ meltfnum[1] = ((/*_#DEPTH__L1*/ meltfnum[0]) + (1));; /*^compute*/ /*_.BOXDEPTHP1__V13*/ meltfptr[12] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ meltfrout->tabval[2])), (/*_#I__L4*/ meltfnum[1])));; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1942:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L5*/ meltfnum[4] = melt_is_instance_of((melt_ptr_t)(/*_.LAB__V11*/ meltfptr[10]), (melt_ptr_t)((/*!CLASS_CLONED_SYMBOL*/ meltfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:1942:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ meltfnum[4]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V15*/ meltfptr[14] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1942:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check lab"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1942)?(1942):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V15*/ meltfptr[14] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V14*/ meltfptr[13] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1942:/ clear"); /*clear*/ /*_#IS_A__L5*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V15*/ meltfptr[14] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V14*/ meltfptr[13] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1943:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "loop"; /*_.OUTPUT_LOCATION__V16*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V12*/ meltfptr[11]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1944:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*loop*/{ labloop_"));} ; MELT_LOCATION("warmelt-outobj.melt:1945:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAB__V11*/ meltfptr[10]; /*_.ADD2SBUF_CLONSYM__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!ADD2SBUF_CLONSYM*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1946:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ":;"));} ; /*_#IS_LIST__L6*/ meltfnum[4] = (melt_magic_discr((melt_ptr_t)(/*_.BODYL__V9*/ meltfptr[7])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1947:/ cond"); /*cond*/ if (/*_#IS_LIST__L6*/ meltfnum[4]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1949:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "loopbody"; /*_.OUTPUT_LOCATION__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V12*/ meltfptr[11]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_#I__L7*/ meltfnum[6] = ((/*_#DEPTH__L1*/ meltfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1950:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#I__L7*/ meltfnum[6]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1953:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V21*/ meltfptr[20] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_9*/ meltfrout->tabval[9])), (3)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V21*/ meltfptr[20])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V21*/ meltfptr[20]))); ((meltclosure_ptr_t)/*_.LAMBDA___V21*/ meltfptr[20])->tabval[0] = (melt_ptr_t)(/*_.BOXDEPTHP1__V13*/ meltfptr[12]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V21*/ meltfptr[20])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V21*/ meltfptr[20]))); ((meltclosure_ptr_t)/*_.LAMBDA___V21*/ meltfptr[20])->tabval[1] = (melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V21*/ meltfptr[20])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V21*/ meltfptr[20]))); ((meltclosure_ptr_t)/*_.LAMBDA___V21*/ meltfptr[20])->tabval[2] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]); ; /*_.LAMBDA___V20*/ meltfptr[19] = /*_.LAMBDA___V21*/ meltfptr[20];; MELT_LOCATION("warmelt-outobj.melt:1951:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V20*/ meltfptr[19]; /*_.LIST_EVERY__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.BODYL__V9*/ meltfptr[7]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1948:/ quasiblock"); /*_.PROGN___V23*/ meltfptr[22] = /*_.LIST_EVERY__V22*/ meltfptr[21];; /*^compute*/ /*_.IF___V18*/ meltfptr[17] = /*_.PROGN___V23*/ meltfptr[22];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1947:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V19*/ meltfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_#I__L7*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V20*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_EVERY__V22*/ meltfptr[21] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V23*/ meltfptr[22] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V18*/ meltfptr[17] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1959:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ";"));} ; /*_#I__L8*/ meltfnum[6] = ((/*_#DEPTH__L1*/ meltfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1960:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#I__L8*/ meltfnum[6]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1961:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " goto labloop_"));} ; MELT_LOCATION("warmelt-outobj.melt:1962:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAB__V11*/ meltfptr[10]; /*_.ADD2SBUF_CLONSYM__V24*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!ADD2SBUF_CLONSYM*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1963:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ";"));} ; /*_#I__L9*/ meltfnum[8] = ((/*_#DEPTH__L1*/ meltfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1964:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#I__L9*/ meltfnum[8]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1965:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " labexit_"));} ; MELT_LOCATION("warmelt-outobj.melt:1966:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAB__V11*/ meltfptr[10]; /*_.ADD2SBUF_CLONSYM__V25*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!ADD2SBUF_CLONSYM*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1967:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ":;"));} ; /*_#IS_LIST__L10*/ meltfnum[9] = (melt_magic_discr((melt_ptr_t)(/*_.EPIL__V10*/ meltfptr[9])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1968:/ cond"); /*cond*/ if (/*_#IS_LIST__L10*/ meltfnum[9]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1970:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "loopepilog"; /*_.OUTPUT_LOCATION__V27*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V12*/ meltfptr[11]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1971:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*loopepilog*/"));} ; /*_#I__L11*/ meltfnum[10] = ((/*_#DEPTH__L1*/ meltfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1972:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#I__L11*/ meltfnum[10]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1975:/ quasiblock"); /*^newclosure*/ /*newclosure*/ /*_.LAMBDA___V29*/ meltfptr[28] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_12*/ meltfrout->tabval[12])), (3)); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ meltfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ meltfptr[28])->tabval[0] = (melt_ptr_t)(/*_.BOXDEPTHP1__V13*/ meltfptr[12]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ meltfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ meltfptr[28])->tabval[1] = (melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2]); ; /*^putclosedv*/ /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ meltfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ meltfptr[28])->tabval[2] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]); ; /*_.LAMBDA___V28*/ meltfptr[27] = /*_.LAMBDA___V29*/ meltfptr[28];; MELT_LOCATION("warmelt-outobj.melt:1973:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V28*/ meltfptr[27]; /*_.LIST_EVERY__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.EPIL__V10*/ meltfptr[9]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1969:/ quasiblock"); /*_.PROGN___V31*/ meltfptr[30] = /*_.LIST_EVERY__V30*/ meltfptr[29];; /*^compute*/ /*_.IF___V26*/ meltfptr[21] = /*_.PROGN___V31*/ meltfptr[30];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1968:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V27*/ meltfptr[22] = 0 ; /*^clear*/ /*clear*/ /*_#I__L11*/ meltfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_.LAMBDA___V28*/ meltfptr[27] = 0 ; /*^clear*/ /*clear*/ /*_.LIST_EVERY__V30*/ meltfptr[29] = 0 ; /*^clear*/ /*clear*/ /*_.PROGN___V31*/ meltfptr[30] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V26*/ meltfptr[21] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1981:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "}"));} ; { MELT_LOCATION("warmelt-outobj.melt:1982:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1936:/ clear"); /*clear*/ /*_.BODYL__V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.EPIL__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.LAB__V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.OLOC__V12*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_#I__L4*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.BOXDEPTHP1__V13*/ meltfptr[12] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V14*/ meltfptr[13] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V16*/ meltfptr[14] = 0 ; /*^clear*/ /*clear*/ /*_.ADD2SBUF_CLONSYM__V17*/ meltfptr[16] = 0 ; /*^clear*/ /*clear*/ /*_#IS_LIST__L6*/ meltfnum[4] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V18*/ meltfptr[17] = 0 ; /*^clear*/ /*clear*/ /*_#I__L8*/ meltfnum[6] = 0 ; /*^clear*/ /*clear*/ /*_.ADD2SBUF_CLONSYM__V24*/ meltfptr[18] = 0 ; /*^clear*/ /*clear*/ /*_#I__L9*/ meltfnum[8] = 0 ; /*^clear*/ /*clear*/ /*_.ADD2SBUF_CLONSYM__V25*/ meltfptr[19] = 0 ; /*^clear*/ /*clear*/ /*_#IS_LIST__L10*/ meltfnum[9] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V26*/ meltfptr[21] = 0 ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1984:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[10] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1984:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objloop done oblo"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[10]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1984; /*_.DEBUG_MSG_FUN__V33*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V32*/ meltfptr[22] = /*_.DEBUG_MSG_FUN__V33*/ meltfptr[27];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1984:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[10] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V33*/ meltfptr[27] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V32*/ meltfptr[22] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1933:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V32*/ meltfptr[22];; MELT_LOCATION("warmelt-outobj.melt:1933:/ finalreturn"); ; /*finalret*/ goto labend_rout ; /*epilog*/ /*^clear*/ /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V32*/ meltfptr[22] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJLOOP", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_59_warmelt_outobj_OUTPUCOD_OBJLOOP*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_60_warmelt_outobj_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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_60_warmelt_outobj_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 MELTFRAM_NBVARPTR 4 void* varptr[4]; #define MELTFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 4; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1953:/ getarg"); /*_.CURBODY__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1954:/ quasiblock"); /*_#DEPTHP1__L1*/ meltfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ meltfclos->tabval[0]))));; MELT_LOCATION("warmelt-outobj.melt:1955:/ cond"); /*cond*/ if (/*_.CURBODY__V2*/ meltfptr[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#IS_A__L3*/ meltfnum[2] = melt_is_instance_of((melt_ptr_t)(/*_.CURBODY__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ meltfrout->tabval[0])));; /*^compute*/ /*_#NOT__L4*/ meltfnum[3] = (!(/*_#IS_A__L3*/ meltfnum[2]));; /*^compute*/ /*_#IF___L2*/ meltfnum[1] = /*_#NOT__L4*/ meltfnum[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1955:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L4*/ meltfnum[3] = 0 ;} ; } else {/*^cond.else*/ /*_#IF___L2*/ meltfnum[1] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1955:/ cond"); /*cond*/ if (/*_#IF___L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1956:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ meltfclos->tabval[1]); /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ meltfclos->tabval[2]); /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTHP1__L1*/ meltfnum[0]; /*_.OUTPUT_C_CODE__V4*/ meltfptr[3] = meltgc_send((melt_ptr_t)(/*_.CURBODY__V2*/ meltfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[1])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V3*/ meltfptr[2] = /*_.OUTPUT_C_CODE__V4*/ meltfptr[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1955:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V4*/ meltfptr[3] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V3*/ meltfptr[2] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1957:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[2])), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1958:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[2])), (/*_#DEPTHP1__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1954:/ clear"); /*clear*/ /*_#DEPTHP1__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_#IF___L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V3*/ meltfptr[2] = 0 ; /*epilog*/ } ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_60_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_61_warmelt_outobj_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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_61_warmelt_outobj_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 MELTFRAM_NBVARPTR 4 void* varptr[4]; #define MELTFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 4; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1975:/ getarg"); /*_.CUREPIL__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1976:/ quasiblock"); /*_#DEPTHP1__L1*/ meltfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ meltfclos->tabval[0]))));; MELT_LOCATION("warmelt-outobj.melt:1977:/ cond"); /*cond*/ if (/*_.CUREPIL__V2*/ meltfptr[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ /*_#IS_A__L3*/ meltfnum[2] = melt_is_instance_of((melt_ptr_t)(/*_.CUREPIL__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ meltfrout->tabval[0])));; /*^compute*/ /*_#NOT__L4*/ meltfnum[3] = (!(/*_#IS_A__L3*/ meltfnum[2]));; /*^compute*/ /*_#IF___L2*/ meltfnum[1] = /*_#NOT__L4*/ meltfnum[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1977:/ clear"); /*clear*/ /*_#IS_A__L3*/ meltfnum[2] = 0 ; /*^clear*/ /*clear*/ /*_#NOT__L4*/ meltfnum[3] = 0 ;} ; } else {/*^cond.else*/ /*_#IF___L2*/ meltfnum[1] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1977:/ cond"); /*cond*/ if (/*_#IF___L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*^block*/ /*anyblock*/{ MELT_LOCATION("warmelt-outobj.melt:1978:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^ojbmsend.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ meltfclos->tabval[1]); /*^ojbmsend.arg*/ argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ meltfclos->tabval[2]); /*^ojbmsend.arg*/ argtab[2].bp_long = /*_#DEPTHP1__L1*/ meltfnum[0]; /*_.OUTPUT_C_CODE__V4*/ meltfptr[3] = meltgc_send((melt_ptr_t)(/*_.CUREPIL__V2*/ meltfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ meltfrout->tabval[1])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V3*/ meltfptr[2] = /*_.OUTPUT_C_CODE__V4*/ meltfptr[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1977:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V4*/ meltfptr[3] = 0 ;} ; } else {/*^cond.else*/ /*_.IF___V3*/ meltfptr[2] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1979:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[2])), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1980:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ meltfclos->tabval[2])), (/*_#DEPTHP1__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1976:/ clear"); /*clear*/ /*_#DEPTHP1__L1*/ meltfnum[0] = 0 ; /*^clear*/ /*clear*/ /*_#IF___L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IF___V3*/ meltfptr[2] = 0 ; /*epilog*/ } ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_61_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_62_warmelt_outobj_OUTPUCOD_OBJEXIT(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__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_62_warmelt_outobj_OUTPUCOD_OBJEXIT_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 MELTFRAM_NBVARPTR 14 void* varptr[14]; #define MELTFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, meltframe; #define meltfram__ meltframe 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<14; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&meltfram__, 0, sizeof(meltfram__)); meltfram__.nbvar = 14; meltfram__.clos = closp_; meltfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &meltfram__; melt_trace_start("OUTPUCOD_OBJEXIT", meltcallcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1990:/ getarg"); /*_.OBXI__V2*/ meltfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ /*^getarg*/ if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ meltfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ meltfptr[2])) != NULL); /*getarg#2*/ /*^getarg*/ if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ meltfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3*/ /*^getarg*/ if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ meltfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1991:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBXI__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_OBJEXIT*/ meltfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1991:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V6*/ meltfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1991:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check obxi"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1991)?(1991):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1991:/ clear"); /*clear*/ /*_#IS_A__L2*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V6*/ meltfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V5*/ meltfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1992:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = meltcallcount;; MELT_LOCATION("warmelt-outobj.melt:1992:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_cstring = "outpucod_objexit obxi"; /*^apply.arg*/ argtab[1].bp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1]; /*^apply.arg*/ argtab[2].bp_cstring = "warmelt-outobj.melt"; /*^apply.arg*/ argtab[3].bp_long = 1992; /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OBXI__V2*/ meltfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ meltfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1992:/ clear"); /*clear*/ /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ meltfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1993:/ quasiblock"); /*^getslot*/ { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBXI__V2*/ meltfptr[1]), 1, "OBEXIT_LABEL");/*_.OLAB__V9*/ meltfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1994:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBXI__V2*/ meltfptr[1]), 0, "OBI_LOC");/*_.LOC__V10*/ meltfptr[9] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1996:/ cppif.then"); /*^block*/ /*anyblock*/{ /*_#IS_A__L4*/ meltfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OLAB__V9*/ meltfptr[7]), (melt_ptr_t)((/*!CLASS_CLONED_SYMBOL*/ meltfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:1996:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ meltfnum[1]) /*then*/ { /*^cond.then*/ /*_.IFELSE___V12*/ meltfptr[11] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1996:/ cond.else"); /*^block*/ /*anyblock*/{ { /*^locexp*/ melt_assert_failed(( "check olab"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1996)?(1996):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ; /*epilog*/ } ; } ; /*^compute*/ /*_.IFCPP___V11*/ meltfptr[10] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1996:/ clear"); /*clear*/ /*_#IS_A__L4*/ meltfnum[1] = 0 ; /*^clear*/ /*clear*/ /*_.IFELSE___V12*/ meltfptr[11] = 0 ;} #else /*ENABLE_CHECKING*/ /*^cppif.else*/ /*_.IFCPP___V11*/ meltfptr[10] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1997:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ meltfptr[3]; /*^apply.arg*/ argtab[1].bp_long = /*_#DEPTH__L1*/ meltfnum[0]; /*^apply.arg*/ argtab[2].bp_cstring = "exit"; /*_.OUTPUT_LOCATION__V13*/ meltfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ meltfrout->tabval[3])), (melt_ptr_t)(/*_.LOC__V10*/ meltfptr[9]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1998:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( "/*exit*/{"));} ; { MELT_LOCATION("warmelt-outobj.melt:1999:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:2000:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( " goto labexit_"));} ; MELT_LOCATION("warmelt-outobj.melt:2001:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); /*^apply.arg*/ argtab[0].bp_aptr = (melt_ptr_t*) &/*_.OLAB__V9*/ meltfptr[7]; /*_.ADD2SBUF_CLONSYM__V14*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t)((/*!ADD2SBUF_CLONSYM*/ meltfrout->tabval[4])), (melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2002:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), ( ";}"));} ; { MELT_LOCATION("warmelt-outobj.melt:2003:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ meltfptr[3]), (/*_#DEPTH__L1*/ meltfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1993:/ clear"); /*clear*/ /*_.OLAB__V9*/ meltfptr[7] = 0 ; /*^clear*/ /*clear*/ /*_.LOC__V10*/ meltfptr[9] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V11*/ meltfptr[10] = 0 ; /*^clear*/ /*clear*/ /*_.OUTPUT_LOCATION__V13*/ meltfptr[11] = 0 ; /*^clear*/ /*clear*/ /*_.ADD2SBUF_CLONSYM__V14*/ meltfptr[13] = 0 ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1990:/ clear"); /*clear*/ /*_.IFCPP___V5*/ meltfptr[4] = 0 ; /*^clear*/ /*clear*/ /*_.IFCPP___V7*/ meltfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJEXIT", meltcallcount); melt_topframe = (struct callframe_melt_st*) meltfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_62_warmelt_outobj_OUTPUCOD_OBJEXIT*/ /**** end of warmelt-outobj.0+01.c ****/