/* GCC MELT GENERATED FILE warmelt-outobj.0+1.c - DO NOT EDIT */ /* secondary MELT generated C file of rank #1 */ #include "run-melt.h" /**** warmelt-outobj.0+1.c declarations ****/ #define MELT_HAS_INITIAL_ENVIRONMENT 1 /**!!** *** Copyright 2008, 2009 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_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_22_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_23_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_24_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_25_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_26_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_27_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_28_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_29_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_30_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_31_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_32_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_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_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_35_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_36_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_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_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_39_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_40_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_41_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_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_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_44_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_45_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_46_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_47_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_48_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_49_warmelt_outobj_OUTPUCOD_OBJBLOCK(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_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_101_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_102_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_103_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_104_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_105_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_106_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_107_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_108_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_109_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_110_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_111_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_112_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_113_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_114_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_115_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_116_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_117_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_118_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_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_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_121_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_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_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_124_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_125_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_126_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_127_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_128_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_129_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_130_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_131_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_132_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_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_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_135_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_136_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_137_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_138_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_139_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_140_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_141_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_142_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_143_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_144_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_145_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_146_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_147_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_148_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_149_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_150_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_151_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_152_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_153_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_154_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; /**** warmelt-outobj.0+1.c implementations ****/ 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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1025:/ getarg"); /*_.CURPDAT__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1025:/ getarg"); if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#CURK__L1*/ curfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1025:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1027:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1027:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[0]); /*_.OUTPUT_C_INITPREDEF__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURPDAT__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_INITPREDEF*/ curfrout->tabval[0])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1025:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.OUTPUT_C_INITPREDEF__V3*/ curfptr[2];; MELT_LOCATION("warmelt-outobj.melt:1025:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1025:/ clear"); /*clear*/ /*_.OUTPUT_C_INITPREDEF__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_37_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_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__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_38_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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1034:/ getarg"); /*_.CURFIL__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1034:/ getarg"); if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#CURK__L1*/ curfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1034:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1036:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1037:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1037:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[0]); /*_.OUTPUT_C_INITFILL__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURFIL__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_INITFILL*/ curfrout->tabval[0])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1034:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.OUTPUT_C_INITFILL__V3*/ curfptr[2];; MELT_LOCATION("warmelt-outobj.melt:1034:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1034:/ clear"); /*clear*/ /*_.OUTPUT_C_INITFILL__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_38_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_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__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_39_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 CURFRAM_NBVARPTR 27 void* varptr[27]; #define CURFRAM_NBVARNUM 2 long varnum[2]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<27; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 27; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_INITIALROUTINE", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1052:/ getarg"); /*_.PINI__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1052:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1052:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1052:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1052:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1053:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1053:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.PINI__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_INITIALROUTINEOBJ*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1053:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1053:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1053:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1053:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1053:/ locexp"); melt_assert_failed(( "check pini"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1053)?(1053):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1053:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1053:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1053:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1054:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1055:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PINI__V2*/ curfptr[1]), 9, "OIROUT_DATA");/*_.IDATUP__V7*/ curfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1056:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PINI__V2*/ curfptr[1]), 11, "OIROUT_FILL");/*_.IRFILL__V8*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1057:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PINI__V2*/ curfptr[1]), 10, "OIROUT_PROLOG");/*_.IPROLOG__V9*/ curfptr[8] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1058:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PINI__V2*/ curfptr[1]), 7, "OBROUT_RETVAL");/*_.ORETVAL__V10*/ curfptr[9] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1060:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1061:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1062:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]), ( "void* start_module_melt(void*);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1063:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1064:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]), ( "void mark_module_melt(void*);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1065:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1066:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]), ( "void* initial_frame_melt;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1067:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1068:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1069:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1070:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "typedef "));} ; MELT_LOCATION("warmelt-outobj.melt:1071:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1071:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; /*_.OUTPUT_CURFRAME_DECLSTRUCT__V11*/ curfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CURFRAME_DECLSTRUCT*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.PINI__V2*/ curfptr[1]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1072:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " initial_frame_st;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1073:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1074:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1075:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1076:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "static void initialize_module_cdata(initial_frame_st *iniframp__, char predefinited[])"));} ; { MELT_LOCATION("warmelt-outobj.melt:1077:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1078:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "{"));} ; { MELT_LOCATION("warmelt-outobj.melt:1079:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1080:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "#define curfram__ (*iniframp__)"));} ; { MELT_LOCATION("warmelt-outobj.melt:1081:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1082:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1082:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; /*_.OUTPUT_CURFRAME_CDAT_STRUCT__V12*/ curfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CURFRAME_CDAT_STRUCT*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.IDATUP__V7*/ curfptr[5]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1083:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " *cdat = NULL;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1084:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1086:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1086:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; /*_.OUTPUT_CURFRAME_CDAT_FILL__V13*/ curfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CURFRAME_CDAT_FILL*/ curfrout->tabval[3])), (melt_ptr_t)(/*_.IDATUP__V7*/ curfptr[5]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1087:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1088:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "#undef curfram__"));} ; { MELT_LOCATION("warmelt-outobj.melt:1089:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1090:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "} /*end initialize_module_cdata*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1091:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1092:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1093:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1094:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "void* start_module_melt(void* modargp_) {"));} ; { MELT_LOCATION("warmelt-outobj.melt:1095:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1100:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1101:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "char predefinited[MELTGLOB__LASTGLOB+8];"));} ; { MELT_LOCATION("warmelt-outobj.melt:1102:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1105:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1105:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V15*/ curfptr[14] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_5*/ curfrout->tabval[5])), (0)); ; /*_.LAMBDA___V14*/ curfptr[13] = /*_.LAMBDA___V15*/ curfptr[14];;} ; MELT_LOCATION("warmelt-outobj.melt:1104:/ apply"); /*apply*/{ union meltparam_un argtab[2]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1104:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.PINI__V2*/ curfptr[1]; MELT_LOCATION("warmelt-outobj.melt:1104:/ apply.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; /*_.OUTPUT_CURFRAME_DECLSTRUCT_INIT__V16*/ curfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CURFRAME_DECLSTRUCT_INIT*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.LAMBDA___V14*/ curfptr[13]), (BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1112:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/**initial routine prologue**/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1113:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1114:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "initial_frame_melt = (void*) &curfram__;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1115:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1118:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1118:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V18*/ curfptr[17] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_9*/ curfrout->tabval[9])), (2)); ; MELT_LOCATION("warmelt-outobj.melt:1118:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V18*/ curfptr[17])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V18*/ curfptr[17]))); ((meltclosure_ptr_t)/*_.LAMBDA___V18*/ curfptr[17])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:1118:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V18*/ curfptr[17])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V18*/ curfptr[17]))); ((meltclosure_ptr_t)/*_.LAMBDA___V18*/ curfptr[17])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; /*_.LAMBDA___V17*/ curfptr[16] = /*_.LAMBDA___V18*/ curfptr[17];;} ; MELT_LOCATION("warmelt-outobj.melt:1116:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1116:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V17*/ curfptr[16]; /*_.LIST_EVERY__V19*/ curfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[6])), (melt_ptr_t)(/*_.IPROLOG__V9*/ curfptr[8]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1125:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/**initial routine cdata initializer**/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1126:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1128:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1129:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "memset(predefinited, 0, sizeof(predefinited));"));} ; { MELT_LOCATION("warmelt-outobj.melt:1130:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1131:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "initialize_module_cdata(&curfram__, predefinited);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1132:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1135:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/**initial routine body**/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1136:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1137:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1137:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.PINI__V2*/ curfptr[1]), 3, "OBROUT_BODY");/*_.IBODY__V21*/ curfptr[20] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1142:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1142:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V23*/ curfptr[22] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_12*/ curfrout->tabval[12])), (2)); ; MELT_LOCATION("warmelt-outobj.melt:1142:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V23*/ curfptr[22])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V23*/ curfptr[22]))); ((meltclosure_ptr_t)/*_.LAMBDA___V23*/ curfptr[22])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:1142:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V23*/ curfptr[22])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V23*/ curfptr[22]))); ((meltclosure_ptr_t)/*_.LAMBDA___V23*/ curfptr[22])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; /*_.LAMBDA___V22*/ curfptr[21] = /*_.LAMBDA___V23*/ curfptr[22];;} ; MELT_LOCATION("warmelt-outobj.melt:1140:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1140:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V22*/ curfptr[21]; /*_.LIST_EVERY__V24*/ curfptr[23] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[6])), (melt_ptr_t)(/*_.IBODY__V21*/ curfptr[20]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.LET___V20*/ curfptr[19] = /*_.LIST_EVERY__V24*/ curfptr[23];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1137:/ clear"); /*clear*/ /*_.IBODY__V21*/ curfptr[20] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1137:/ clear"); /*clear*/ /*_.LAMBDA___V22*/ curfptr[21] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1137:/ clear"); /*clear*/ /*_.LIST_EVERY__V24*/ curfptr[23] = 0 ;} ; { MELT_LOCATION("warmelt-outobj.melt:1150:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1151:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1152:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " goto labend_rout;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1153:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1154:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "labend_rout: melt_topframe = (struct callframe_melt_st *) curfram__.prev;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1155:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1156:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "initial_frame_melt = (void*)0;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1157:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1158:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " return "));} ; MELT_LOCATION("warmelt-outobj.melt:1159:/ cond"); /*cond*/ if (/*_.ORETVAL__V10*/ curfptr[9]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1159:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1159:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1160:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1160:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1160:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1160:/ ojbmsend.arg"); argtab[2].bp_long = 1; /*_.OUTPUT_C_CODE__V26*/ curfptr[21] = meltgc_send((melt_ptr_t)(/*_.ORETVAL__V10*/ curfptr[9]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[13])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFELSE___V25*/ curfptr[20] = /*_.OUTPUT_C_CODE__V26*/ curfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1159:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V26*/ curfptr[21] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1159:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1159:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1161:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*noretval*/ NULL"));} ; /*clear*/ /*_.IFELSE___V25*/ curfptr[20] = 0 ;} ; /*epilog*/} ; } ; { MELT_LOCATION("warmelt-outobj.melt:1162:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1163:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1164:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "#undef callcount"));} ; { MELT_LOCATION("warmelt-outobj.melt:1165:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1166:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "#undef CURFRAM_NBVARNUM"));} ; { MELT_LOCATION("warmelt-outobj.melt:1167:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1168:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "#undef CURFRAM_NBVARPTR"));} ; { MELT_LOCATION("warmelt-outobj.melt:1169:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1170:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1171:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "} /* end start_module_melt */"));} ; { MELT_LOCATION("warmelt-outobj.melt:1172:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1173:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1174:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "void mark_module_melt(void*fp)"));} ; { MELT_LOCATION("warmelt-outobj.melt:1175:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1176:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "{"));} ; { MELT_LOCATION("warmelt-outobj.melt:1177:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1178:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "int ix=0;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1179:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (1), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1180:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "initial_frame_st* framptr_= (initial_frame_st*)fp;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1181:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1182:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1182:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; /*_.OUTPUCOD_MARKER__V27*/ curfptr[23] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUCOD_MARKER*/ curfrout->tabval[14])), (melt_ptr_t)(/*_.PINI__V2*/ curfptr[1]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1183:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1184:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "} /* end mark_module_melt */"));} ; { MELT_LOCATION("warmelt-outobj.melt:1185:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1186:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (0), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.IDATUP__V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.IRFILL__V8*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.IPROLOG__V9*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.ORETVAL__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.OUTPUT_CURFRAME_DECLSTRUCT__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.OUTPUT_CURFRAME_CDAT_STRUCT__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.OUTPUT_CURFRAME_CDAT_FILL__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.LAMBDA___V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.OUTPUT_CURFRAME_DECLSTRUCT_INIT__V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.LAMBDA___V17*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.LIST_EVERY__V19*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.LET___V20*/ curfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.IFELSE___V25*/ curfptr[20] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1054:/ clear"); /*clear*/ /*_.OUTPUCOD_MARKER__V27*/ curfptr[23] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1052:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_INITIALROUTINE", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_39_warmelt_outobj_OUTPUCOD_INITIALROUTINE*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_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__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_40_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 CURFRAM_NBVARPTR 3 void* varptr[3]; /*no varnum*/ #define CURFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1105:/ getarg"); /*_.ROU__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1105:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DSBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DSBUF__V3*/ curfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1105:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1106:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.DSBUF__V3*/ curfptr[2]), (0), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1107:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.DSBUF__V3*/ curfptr[2]), ( "initial_frame_st "));} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_40_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_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__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_41_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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 3 long varnum[3]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1118:/ getarg"); /*_.CURPROL__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1118:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1120:/ cond"); /*cond*/ if (/*_.CURPROL__V2*/ curfptr[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1120:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1120:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.CURPROL__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ curfrout->tabval[0])));; /*_#NOT__L3*/ curfnum[2] = (!(/*_#IS_A__L2*/ curfnum[1]));; /*_#IF___L1*/ curfnum[0] = /*_#NOT__L3*/ curfnum[2];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1120:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1120:/ clear"); /*clear*/ /*_#NOT__L3*/ curfnum[2] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1120:/ cond.else"); /*_#IF___L1*/ curfnum[0] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1120:/ cond"); /*cond*/ if (/*_#IF___L1*/ curfnum[0]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1120:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1120:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1122:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1122:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:1122:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1122:/ ojbmsend.arg"); argtab[2].bp_long = 1; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURPROL__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[1])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1123:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1121:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1120:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; } /*noelse*/ ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1118:/ clear"); /*clear*/ /*_#IF___L1*/ curfnum[0] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_41_warmelt_outobj_LAMBDA_*/ 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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 3 long varnum[3]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1142:/ getarg"); /*_.CURBODY__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1142:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1144:/ cond"); /*cond*/ if (/*_.CURBODY__V2*/ curfptr[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1144:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1144:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.CURBODY__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ curfrout->tabval[0])));; /*_#NOT__L3*/ curfnum[2] = (!(/*_#IS_A__L2*/ curfnum[1]));; /*_#IF___L1*/ curfnum[0] = /*_#NOT__L3*/ curfnum[2];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1144:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1144:/ clear"); /*clear*/ /*_#NOT__L3*/ curfnum[2] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1144:/ cond.else"); /*_#IF___L1*/ curfnum[0] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1144:/ cond"); /*cond*/ if (/*_#IF___L1*/ curfnum[0]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1144:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1144:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1146:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1146:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:1146:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1146:/ ojbmsend.arg"); argtab[2].bp_long = 1; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURBODY__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[1])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1147:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), (1), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1145:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1144:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; } /*noelse*/ ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1142:/ clear"); /*clear*/ /*_#IF___L1*/ curfnum[0] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_42_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_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__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_43_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 CURFRAM_NBVARPTR 26 void* varptr[26]; #define CURFRAM_NBVARNUM 15 long varnum[15]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<26; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 26; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_GETARG", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1192:/ getarg"); /*_.GARG__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1192:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1192:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1192:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1192:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1193:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1193:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.GARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJGETARG*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1193:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1193:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1193:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1193:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1193:/ locexp"); melt_assert_failed(( "check garg"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1193)?(1193):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1193:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1193:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1193:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1195:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1195:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.GARG__V2*/ curfptr[1]), 1, "OBARG_OBLOC");/*_.OLOC__V7*/ curfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1196:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.GARG__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.NLOC__V8*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1197:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.GARG__V2*/ curfptr[1]), 2, "OBARG_BIND");/*_.OBIND__V9*/ curfptr[8] = slot; }; ; /*_#RKBIND__L3*/ curfnum[1] = (melt_get_int((melt_ptr_t)(/*_.OBIND__V9*/ curfptr[8])));; MELT_LOCATION("warmelt-outobj.melt:1199:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBIND__V9*/ curfptr[8]), 1, "FBIND_TYPE");/*_.CTYBIND__V10*/ curfptr[9] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1201:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1201:/ block"); /*block*/{ /*_#IS_A__L4*/ curfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.OBIND__V9*/ curfptr[8]), (melt_ptr_t)((/*!CLASS_FORMAL_BINDING*/ curfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:1201:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ curfnum[3]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1201:/ cond.then"); /*_.IFELSE___V12*/ curfptr[11] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1201:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1201:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1201:/ locexp"); melt_assert_failed(( "check obind"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1201)?(1201):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V12*/ curfptr[11] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V11*/ curfptr[10] = /*_.IFELSE___V12*/ curfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1201:/ clear"); /*clear*/ /*_#IS_A__L4*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1201:/ clear"); /*clear*/ /*_.IFELSE___V12*/ curfptr[11] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1201:/ cppif.else"); /*_.IFCPP___V11*/ curfptr[10] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1202:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1202:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1202:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1202:/ apply.arg"); argtab[2].bp_cstring = "getarg"; /*_.OUTPUT_LOCATION__V13*/ curfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.NLOC__V8*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1203:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1203:/ block"); /*block*/{ /*_#IS_A__L5*/ curfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.OLOC__V7*/ curfptr[5]), (melt_ptr_t)((/*!CLASS_OBJLOCV*/ curfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:1203:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ curfnum[3]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1203:/ cond.then"); /*_.IFELSE___V15*/ curfptr[14] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1203:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1203:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1203:/ locexp"); melt_assert_failed(( "check oloc"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1203)?(1203):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V15*/ curfptr[14] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V14*/ curfptr[13] = /*_.IFELSE___V15*/ curfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1203:/ clear"); /*clear*/ /*_#IS_A__L5*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1203:/ clear"); /*clear*/ /*_.IFELSE___V15*/ curfptr[14] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1203:/ cppif.else"); /*_.IFCPP___V14*/ curfptr[13] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1204:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1204:/ block"); /*block*/{ /*_#IS_A__L6*/ curfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.CTYBIND__V10*/ curfptr[9]), (melt_ptr_t)((/*!CLASS_CTYPE*/ curfrout->tabval[4])));; MELT_LOCATION("warmelt-outobj.melt:1204:/ cond"); /*cond*/ if (/*_#IS_A__L6*/ curfnum[3]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1204:/ cond.then"); /*_.IFELSE___V17*/ curfptr[16] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1204:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1204:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1204:/ locexp"); melt_assert_failed(( "check ctybind"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1204)?(1204):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V17*/ curfptr[16] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V16*/ curfptr[14] = /*_.IFELSE___V17*/ curfptr[16];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1204:/ clear"); /*clear*/ /*_#IS_A__L6*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1204:/ clear"); /*clear*/ /*_.IFELSE___V17*/ curfptr[16] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1204:/ cppif.else"); /*_.IFCPP___V16*/ curfptr[14] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; /*_#I__L7*/ curfnum[3] = ((/*_#RKBIND__L3*/ curfnum[1]) == (0));; MELT_LOCATION("warmelt-outobj.melt:1205:/ cond"); /*cond*/ if (/*_#I__L7*/ curfnum[3]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1205:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1205:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1207:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1207:/ block"); /*block*/{ /*_#__L8*/ curfnum[7] = ((/*_.CTYBIND__V10*/ curfptr[9]) == ((/*!CTYPE_VALUE*/ curfrout->tabval[5])));; MELT_LOCATION("warmelt-outobj.melt:1207:/ cond"); /*cond*/ if (/*_#__L8*/ curfnum[7]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1207:/ cond.then"); /*_.IFELSE___V19*/ curfptr[18] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1207:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1207:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1207:/ locexp"); melt_assert_failed(( "check ctybind first"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1207)?(1207):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V19*/ curfptr[18] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V18*/ curfptr[16] = /*_.IFELSE___V19*/ curfptr[18];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1207:/ clear"); /*clear*/ /*_#__L8*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1207:/ clear"); /*clear*/ /*_.IFELSE___V19*/ curfptr[18] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1207:/ cppif.else"); /*_.IFCPP___V18*/ curfptr[16] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1208:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1208:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1208:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1208:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V20*/ curfptr[18] = meltgc_send((melt_ptr_t)(/*_.OLOC__V7*/ curfptr[5]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[6])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1209:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " = (melt_ptr_t) firstargp_;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1210:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1206:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1205:/ clear"); /*clear*/ /*_.IFCPP___V18*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1205:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V20*/ curfptr[18] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1205:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1205:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1212:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1214:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CTYBIND__V10*/ curfptr[9]), 4, "CTYPE_PARCHAR");/*_.PARC__V21*/ curfptr[16] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1215:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CTYBIND__V10*/ curfptr[9]), 6, "CTYPE_ARGFIELD");/*_.ARGF__V22*/ curfptr[18] = slot; }; ; /*_#IS_STRING__L9*/ curfnum[7] = (melt_magic_discr((melt_ptr_t)(/*_.PARC__V21*/ curfptr[16])) == OBMAG_STRING);; /*_#NOT__L10*/ curfnum[9] = (!(/*_#IS_STRING__L9*/ curfnum[7]));; MELT_LOCATION("warmelt-outobj.melt:1217:/ cond"); /*cond*/ if (/*_#NOT__L10*/ curfnum[9]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1217:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1217:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1219:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CTYBIND__V10*/ curfptr[9]), 1, "NAMED_NAME");/*_.NAMED_NAME__V23*/ curfptr[22] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1218:/ locexp"); melt_error_str((melt_ptr_t)(/*_.OLOC__V7*/ curfptr[5]), ( "impossible argument ctype"), (melt_ptr_t)(/*_.NAMED_NAME__V23*/ curfptr[22]));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1217:/ clear"); /*clear*/ /*_.NAMED_NAME__V23*/ curfptr[22] = 0 ;} ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:1220:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "if (xargdescr_["));} ; /*_#I__L11*/ curfnum[10] = ((/*_#RKBIND__L3*/ curfnum[1]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:1221:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L11*/ curfnum[10]));} ; { MELT_LOCATION("warmelt-outobj.melt:1222:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "] != "));} ; { MELT_LOCATION("warmelt-outobj.melt:1223:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.PARC__V21*/ curfptr[16])));} ; { MELT_LOCATION("warmelt-outobj.melt:1224:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ") goto lab_endgetargs;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1225:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*_#__L12*/ curfnum[11] = ((/*_.CTYBIND__V10*/ curfptr[9]) == ((/*!CTYPE_VALUE*/ curfrout->tabval[5])));; MELT_LOCATION("warmelt-outobj.melt:1226:/ cond"); /*cond*/ if (/*_#__L12*/ curfnum[11]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1226:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1226:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1228:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1228:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1228:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1228:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V24*/ curfptr[22] = meltgc_send((melt_ptr_t)(/*_.OLOC__V7*/ curfptr[5]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[6])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1229:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " = (xargtab_["));} ; /*_#I__L13*/ curfnum[12] = ((/*_#RKBIND__L3*/ curfnum[1]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:1230:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L13*/ curfnum[12]));} ; { MELT_LOCATION("warmelt-outobj.melt:1231:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "].bp_aptr) ? (*(xargtab_["));} ; /*_#I__L14*/ curfnum[13] = ((/*_#RKBIND__L3*/ curfnum[1]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:1232:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L14*/ curfnum[13]));} ; { MELT_LOCATION("warmelt-outobj.melt:1233:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "].bp_aptr)) : NULL;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1234:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1235:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "gcc_assert(melt_discr((melt_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:1236:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1236:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1236:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1236:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V25*/ curfptr[24] = meltgc_send((melt_ptr_t)(/*_.OLOC__V7*/ curfptr[5]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[6])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1237:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ")) != NULL);"));} ; { MELT_LOCATION("warmelt-outobj.melt:1238:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1227:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1226:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V24*/ curfptr[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1226:/ clear"); /*clear*/ /*_#I__L13*/ curfnum[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1226:/ clear"); /*clear*/ /*_#I__L14*/ curfnum[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1226:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V25*/ curfptr[24] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1226:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1226:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1241:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1241:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1241:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1241:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V26*/ curfptr[22] = meltgc_send((melt_ptr_t)(/*_.OLOC__V7*/ curfptr[5]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[6])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1242:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " = xargtab_["));} ; /*_#I__L15*/ curfnum[12] = ((/*_#RKBIND__L3*/ curfnum[1]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:1243:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L15*/ curfnum[12]));} ; { MELT_LOCATION("warmelt-outobj.melt:1244:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "]."));} ; { MELT_LOCATION("warmelt-outobj.melt:1245:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.ARGF__V22*/ curfptr[18])));} ; { MELT_LOCATION("warmelt-outobj.melt:1246:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ";"));} ; MELT_LOCATION("warmelt-outobj.melt:1240:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1226:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V26*/ curfptr[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1226:/ clear"); /*clear*/ /*_#I__L15*/ curfnum[12] = 0 ;} ; } ; { MELT_LOCATION("warmelt-outobj.melt:1249:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1212:/ clear"); /*clear*/ /*_.PARC__V21*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1212:/ clear"); /*clear*/ /*_.ARGF__V22*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1212:/ clear"); /*clear*/ /*_#IS_STRING__L9*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1212:/ clear"); /*clear*/ /*_#NOT__L10*/ curfnum[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1212:/ clear"); /*clear*/ /*_#I__L11*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1212:/ clear"); /*clear*/ /*_#__L12*/ curfnum[11] = 0 ;} ; /*epilog*/} ; } ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1195:/ clear"); /*clear*/ /*_.OLOC__V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1195:/ clear"); /*clear*/ /*_.NLOC__V8*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1195:/ clear"); /*clear*/ /*_.OBIND__V9*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1195:/ clear"); /*clear*/ /*_#RKBIND__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1195:/ clear"); /*clear*/ /*_.CTYBIND__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1195:/ clear"); /*clear*/ /*_.IFCPP___V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1195:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V13*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1195:/ clear"); /*clear*/ /*_.IFCPP___V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1195:/ clear"); /*clear*/ /*_.IFCPP___V16*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1195:/ clear"); /*clear*/ /*_#I__L7*/ curfnum[3] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1192:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_GETARG", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_43_warmelt_outobj_OUTPUCOD_GETARG*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_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__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_44_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 CURFRAM_NBVARPTR 9 void* varptr[9]; #define CURFRAM_NBVARNUM 6 long varnum[6]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<9; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 9; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJLOCV", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1258:/ getarg"); /*_.LOCV__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1258:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1258:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1258:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1258:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1259:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1259:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.LOCV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJLOCV*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1259:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1259:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1259:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1259:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1259:/ locexp"); melt_assert_failed(( "check locv"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1259)?(1259):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1259:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1259:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1259:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1261:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1262:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.LOCV__V2*/ curfptr[1]), 0, "OBV_TYPE");/*_.LTYP__V7*/ curfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1263:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.LOCV__V2*/ curfptr[1]), 1, "OBL_OFF");/*_.LOFF__V8*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1264:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.LOCV__V2*/ curfptr[1]), 3, "OBL_CNAME");/*_.LCNAM__V9*/ curfptr[8] = slot; }; ; /*_#__L3*/ curfnum[1] = ((/*_.LTYP__V7*/ curfptr[5]) == ((/*!CTYPE_VALUE*/ curfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:1267:/ cond"); /*cond*/ if (/*_#__L3*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1267:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1267:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1268:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*_."));} ; { MELT_LOCATION("warmelt-outobj.melt:1269:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.LCNAM__V9*/ curfptr[8])));} ; { MELT_LOCATION("warmelt-outobj.melt:1270:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/ curfptr["));} ; /*_#GET_INT__L4*/ curfnum[3] = (melt_get_int((melt_ptr_t)(/*_.LOFF__V8*/ curfptr[7])));; { MELT_LOCATION("warmelt-outobj.melt:1271:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L4*/ curfnum[3]));} ; { MELT_LOCATION("warmelt-outobj.melt:1272:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "]"));} ; MELT_LOCATION("warmelt-outobj.melt:1267:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1267:/ clear"); /*clear*/ /*_#GET_INT__L4*/ curfnum[3] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1267:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1267:/ block"); /*block*/{ /*_#__L5*/ curfnum[3] = ((/*_.LTYP__V7*/ curfptr[5]) == ((/*!CTYPE_LONG*/ curfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:1273:/ cond"); /*cond*/ if (/*_#__L5*/ curfnum[3]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1273:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1273:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1274:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*_#"));} ; { MELT_LOCATION("warmelt-outobj.melt:1275:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.LCNAM__V9*/ curfptr[8])));} ; { MELT_LOCATION("warmelt-outobj.melt:1276:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/ curfnum["));} ; /*_#GET_INT__L6*/ curfnum[5] = (melt_get_int((melt_ptr_t)(/*_.LOFF__V8*/ curfptr[7])));; { MELT_LOCATION("warmelt-outobj.melt:1277:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L6*/ curfnum[5]));} ; { MELT_LOCATION("warmelt-outobj.melt:1278:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "]"));} ; MELT_LOCATION("warmelt-outobj.melt:1273:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1273:/ clear"); /*clear*/ /*_#GET_INT__L6*/ curfnum[5] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1273:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1273:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1280:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*_?*/ curfram__."));} ; { MELT_LOCATION("warmelt-outobj.melt:1281:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.LCNAM__V9*/ curfptr[8])));} ; MELT_LOCATION("warmelt-outobj.melt:1279:/ block"); /*block*/{} ; /*epilog*/} ; } ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1267:/ clear"); /*clear*/ /*_#__L5*/ curfnum[3] = 0 ;} ; } ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1261:/ clear"); /*clear*/ /*_.LTYP__V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1261:/ clear"); /*clear*/ /*_.LOFF__V8*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1261:/ clear"); /*clear*/ /*_.LCNAM__V9*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1261:/ clear"); /*clear*/ /*_#__L3*/ curfnum[1] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1258:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJLOCV", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_44_warmelt_outobj_OUTPUCOD_OBJLOCV*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_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__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_45_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 CURFRAM_NBVARPTR 11 void* varptr[11]; #define CURFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<11; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 11; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJCLOCCV", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1288:/ getarg"); /*_.OCCV__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1288:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1288:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1288:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1288:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1289:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1289:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OCCV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCLOCCV*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1289:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1289:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1289:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1289:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1289:/ locexp"); melt_assert_failed(( "check occv"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1289)?(1289):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1289:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1289:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1289:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1290:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1290:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCCV__V2*/ curfptr[1]), 1, "OBC_OFF");/*_.OOFF__V7*/ curfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1291:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCCV__V2*/ curfptr[1]), 3, "OBC_NAME");/*_.ONAM__V8*/ curfptr[7] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1292:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1292:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1293:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCCV__V2*/ curfptr[1]), 0, "OBV_TYPE");/*_.OBV_TYPE__V10*/ curfptr[9] = slot; }; ; /*_#__L3*/ curfnum[1] = ((/*_.OBV_TYPE__V10*/ curfptr[9]) == ((/*!CTYPE_VALUE*/ curfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:1292:/ cond"); /*cond*/ if (/*_#__L3*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1292:/ cond.then"); /*_.IFELSE___V11*/ curfptr[10] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1292:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1292:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1292:/ locexp"); melt_assert_failed(( "check valueness of closed occurrence"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1292)?(1292):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V11*/ curfptr[10] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V9*/ curfptr[8] = /*_.IFELSE___V11*/ curfptr[10];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1292:/ clear"); /*clear*/ /*_.OBV_TYPE__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1292:/ clear"); /*clear*/ /*_#__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1292:/ clear"); /*clear*/ /*_.IFELSE___V11*/ curfptr[10] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1292:/ cppif.else"); /*_.IFCPP___V9*/ curfptr[8] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; { MELT_LOCATION("warmelt-outobj.melt:1294:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "(/*~"));} ; { MELT_LOCATION("warmelt-outobj.melt:1295:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAM__V8*/ curfptr[7])));} ; { MELT_LOCATION("warmelt-outobj.melt:1296:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/ curfclos->tabval["));} ; /*_#GET_INT__L4*/ curfnum[1] = (melt_get_int((melt_ptr_t)(/*_.OOFF__V7*/ curfptr[5])));; { MELT_LOCATION("warmelt-outobj.melt:1297:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L4*/ curfnum[1]));} ; { MELT_LOCATION("warmelt-outobj.melt:1298:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "])"));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1290:/ clear"); /*clear*/ /*_.OOFF__V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1290:/ clear"); /*clear*/ /*_.ONAM__V8*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1290:/ clear"); /*clear*/ /*_.IFCPP___V9*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1290:/ clear"); /*clear*/ /*_#GET_INT__L4*/ curfnum[1] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1288:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCLOCCV", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_45_warmelt_outobj_OUTPUCOD_OBJCLOCCV*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_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__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_46_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 CURFRAM_NBVARPTR 13 void* varptr[13]; #define CURFRAM_NBVARNUM 5 long varnum[5]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<13; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 13; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJCONSTV", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1305:/ getarg"); /*_.OCNSTV__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1305:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1305:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1305:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1305:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1306:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1306:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OCNSTV__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCONSTV*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1306:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1306:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1306:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1306:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1306:/ locexp"); melt_assert_failed(( "check ocnstv"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1306)?(1306):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1306:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1306:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1306:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1307:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1307:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1307:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1307:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objconstv ocnstv"; MELT_LOCATION("warmelt-outobj.melt:1307:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1307:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1307:/ apply.arg"); argtab[3].bp_long = 1307; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OCNSTV__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1307:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1307:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1307:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1308:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1308:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCNSTV__V2*/ curfptr[1]), 1, "OBC_OFF");/*_.OOFF__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1309:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCNSTV__V2*/ curfptr[1]), 3, "OBC_NAME");/*_.ONAM__V10*/ curfptr[9] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1310:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1310:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1311:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCNSTV__V2*/ curfptr[1]), 0, "OBV_TYPE");/*_.OBV_TYPE__V12*/ curfptr[11] = slot; }; ; /*_#__L4*/ curfnum[1] = ((/*_.OBV_TYPE__V12*/ curfptr[11]) == ((/*!CTYPE_VALUE*/ curfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:1310:/ cond"); /*cond*/ if (/*_#__L4*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1310:/ cond.then"); /*_.IFELSE___V13*/ curfptr[12] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1310:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1310:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1310:/ locexp"); melt_assert_failed(( "check valueness of const occurrence"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1310)?(1310):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V13*/ curfptr[12] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V11*/ curfptr[10] = /*_.IFELSE___V13*/ curfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1310:/ clear"); /*clear*/ /*_.OBV_TYPE__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1310:/ clear"); /*clear*/ /*_#__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1310:/ clear"); /*clear*/ /*_.IFELSE___V13*/ curfptr[12] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1310:/ cppif.else"); /*_.IFCPP___V11*/ curfptr[10] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; { MELT_LOCATION("warmelt-outobj.melt:1312:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "(/*!"));} ; { MELT_LOCATION("warmelt-outobj.melt:1313:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.ONAM__V10*/ curfptr[9])));} ; { MELT_LOCATION("warmelt-outobj.melt:1315:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/ curfrout->tabval["));} ; /*_#GET_INT__L5*/ curfnum[1] = (melt_get_int((melt_ptr_t)(/*_.OOFF__V9*/ curfptr[7])));; { MELT_LOCATION("warmelt-outobj.melt:1316:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L5*/ curfnum[1]));} ; { MELT_LOCATION("warmelt-outobj.melt:1317:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "])"));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1308:/ clear"); /*clear*/ /*_.OOFF__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1308:/ clear"); /*clear*/ /*_.ONAM__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1308:/ clear"); /*clear*/ /*_.IFCPP___V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1308:/ clear"); /*clear*/ /*_#GET_INT__L5*/ curfnum[1] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1305:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1305:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCONSTV", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_46_warmelt_outobj_OUTPUCOD_OBJCONSTV*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_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__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_47_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 CURFRAM_NBVARPTR 12 void* varptr[12]; #define CURFRAM_NBVARNUM 2 long varnum[2]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<12; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 12; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUT_CODE_INSTRUCTIONS_LIST", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1323:/ getarg"); /*_.LIS__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1323:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1323:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1323:/ getarg"); if (xargdescr_[2] != BPAR_PTR) goto lab_endgetargs; /*_.BOXEDDEPTH__V5*/ curfptr[4] = (xargtab_[2].bp_aptr) ? (*(xargtab_[2].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.BOXEDDEPTH__V5*/ curfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1323:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1324:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1324:/ block"); /*block*/{ /*_#IS_LIST_OR_NULL__L1*/ curfnum[0] = ((/*_.LIS__V2*/ curfptr[1]) == NULL || (melt_unsafe_magic_discr((melt_ptr_t)(/*_.LIS__V2*/ curfptr[1])) == OBMAG_LIST));; MELT_LOCATION("warmelt-outobj.melt:1324:/ cond"); /*cond*/ if (/*_#IS_LIST_OR_NULL__L1*/ curfnum[0]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1324:/ cond.then"); /*_.IFELSE___V7*/ curfptr[6] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1324:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1324:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1324:/ locexp"); melt_assert_failed(( "check lis"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1324)?(1324):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V6*/ curfptr[5] = /*_.IFELSE___V7*/ curfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1324:/ clear"); /*clear*/ /*_#IS_LIST_OR_NULL__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1324:/ clear"); /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1324:/ cppif.else"); /*_.IFCPP___V6*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1325:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1325:/ block"); /*block*/{ /*_#IS_INTEGERBOX__L2*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.BOXEDDEPTH__V5*/ curfptr[4])) == OBMAG_INT);; MELT_LOCATION("warmelt-outobj.melt:1325:/ cond"); /*cond*/ if (/*_#IS_INTEGERBOX__L2*/ curfnum[0]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1325:/ cond.then"); /*_.IFELSE___V9*/ curfptr[8] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1325:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1325:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1325:/ locexp"); melt_assert_failed(( "check boxeddepth"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1325)?(1325):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V8*/ curfptr[6] = /*_.IFELSE___V9*/ curfptr[8];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1325:/ clear"); /*clear*/ /*_#IS_INTEGERBOX__L2*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1325:/ clear"); /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1325:/ cppif.else"); /*_.IFCPP___V8*/ curfptr[6] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1328:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1328:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V11*/ curfptr[10] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_3*/ curfrout->tabval[3])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:1328:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V11*/ curfptr[10])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V11*/ curfptr[10]))); ((meltclosure_ptr_t)/*_.LAMBDA___V11*/ curfptr[10])->tabval[0] = (melt_ptr_t)(/*_.BOXEDDEPTH__V5*/ curfptr[4]); ; MELT_LOCATION("warmelt-outobj.melt:1328:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V11*/ curfptr[10])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V11*/ curfptr[10]))); ((meltclosure_ptr_t)/*_.LAMBDA___V11*/ curfptr[10])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:1328:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V11*/ curfptr[10])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V11*/ curfptr[10]))); ((meltclosure_ptr_t)/*_.LAMBDA___V11*/ curfptr[10])->tabval[2] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; /*_.LAMBDA___V10*/ curfptr[8] = /*_.LAMBDA___V11*/ curfptr[10];;} ; MELT_LOCATION("warmelt-outobj.melt:1326:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1326:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V10*/ curfptr[8]; /*_.LIST_EVERY__V12*/ curfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.LIS__V2*/ curfptr[1]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1323:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.LIST_EVERY__V12*/ curfptr[11];; MELT_LOCATION("warmelt-outobj.melt:1323:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1323:/ clear"); /*clear*/ /*_.IFCPP___V6*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1323:/ clear"); /*clear*/ /*_.IFCPP___V8*/ curfptr[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1323:/ clear"); /*clear*/ /*_.LAMBDA___V10*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1323:/ clear"); /*clear*/ /*_.LIST_EVERY__V12*/ curfptr[11] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUT_CODE_INSTRUCTIONS_LIST", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_47_warmelt_outobj_OUTPUT_CODE_INSTRUCTIONS_LIST*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_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__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_48_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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 3 long varnum[3]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1328:/ getarg"); /*_.CUR__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1328:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1329:/ block"); /*block*/{ /*_#DEPTH__L1*/ curfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXEDDEPTH*/ curfclos->tabval[0]))));; MELT_LOCATION("warmelt-outobj.melt:1330:/ cond"); /*cond*/ if (/*_.CUR__V2*/ curfptr[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1330:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1330:/ block"); /*block*/{ /*_#IS_NOT_A__L3*/ curfnum[2] = !melt_is_instance_of((melt_ptr_t)(/*_.CUR__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ curfrout->tabval[0])));; /*_#IF___L2*/ curfnum[1] = /*_#IS_NOT_A__L3*/ curfnum[2];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1330:/ clear"); /*clear*/ /*_#IS_NOT_A__L3*/ curfnum[2] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1330:/ cond.else"); /*_#IF___L2*/ curfnum[1] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1330:/ cond"); /*cond*/ if (/*_#IF___L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1330:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1330:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1332:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1333:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1333:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[2]); MELT_LOCATION("warmelt-outobj.melt:1333:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1333:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CUR__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[1])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1334:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( ";"));} ; MELT_LOCATION("warmelt-outobj.melt:1331:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1330:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; } /*noelse*/ ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1329:/ clear"); /*clear*/ /*_#DEPTH__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1329:/ clear"); /*clear*/ /*_#IF___L2*/ curfnum[1] = 0 ;} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_48_warmelt_outobj_LAMBDA_*/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_warmelt_outobj_OUTPUCOD_OBJBLOCK(meltclosure_ptr_t closp_, melt_ptr_t firstargp_, const char xargdescr_[], union meltparam_un *xargtab_, const char xresdescr_[], union meltparam_un *xrestab_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_49_warmelt_outobj_OUTPUCOD_OBJBLOCK_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 20 void* varptr[20]; #define CURFRAM_NBVARNUM 8 long varnum[8]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<20; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 20; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJBLOCK", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1340:/ getarg"); /*_.OBLO__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1340:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1340:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1340:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1340:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1341:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1341:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJBLOCK*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1341:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1341:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1341:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1341:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1341:/ locexp"); melt_assert_failed(( "check oblo"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1341)?(1341):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1341:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1341:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1341:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1342:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1342:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1342:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1342:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objblock oblo"; MELT_LOCATION("warmelt-outobj.melt:1342:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1342:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1342:/ apply.arg"); argtab[3].bp_long = 1342; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1342:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1342:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1342:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1343:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.OBI_LOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1343:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1343:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1343:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1343:/ apply.arg"); argtab[2].bp_cstring = "block"; /*_.OUTPUT_LOCATION__V10*/ curfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.OBI_LOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1344:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1344:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), 1, "OBLO_BODYL");/*_.BODYL__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1345:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), 2, "OBLO_EPIL");/*_.EPIL__V12*/ curfptr[11] = slot; }; ; /*_#I__L4*/ curfnum[1] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; /*_.BOXDEPTHP1__V13*/ curfptr[12] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[3])), (/*_#I__L4*/ curfnum[1])));; { MELT_LOCATION("warmelt-outobj.melt:1348:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*block*/{"));} ; /*_#IS_LIST__L5*/ curfnum[4] = (melt_magic_discr((melt_ptr_t)(/*_.BODYL__V11*/ curfptr[10])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1349:/ cond"); /*cond*/ if (/*_#IS_LIST__L5*/ curfnum[4]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1349:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1349:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1350:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1350:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1350:/ apply.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1350:/ apply.arg"); argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V13*/ curfptr[12]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V15*/ curfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.BODYL__V11*/ curfptr[10]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V14*/ curfptr[13] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V15*/ curfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1349:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V15*/ curfptr[14] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1349:/ cond.else"); /*_.IF___V14*/ curfptr[13] = NULL;; } ; /*_#IS_LIST__L6*/ curfnum[5] = (melt_magic_discr((melt_ptr_t)(/*_.EPIL__V12*/ curfptr[11])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1351:/ cond"); /*cond*/ if (/*_#IS_LIST__L6*/ curfnum[5]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1351:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1351:/ block"); /*block*/{ /*_#GET_INT__L7*/ curfnum[6] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V13*/ curfptr[12])));; { MELT_LOCATION("warmelt-outobj.melt:1353:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L7*/ curfnum[6]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1354:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*epilog*/"));} ; MELT_LOCATION("warmelt-outobj.melt:1355:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1355:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1355:/ apply.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1355:/ apply.arg"); argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V13*/ curfptr[12]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V17*/ curfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.EPIL__V12*/ curfptr[11]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1352:/ block"); /*block*/{ /*_.PROGN___V18*/ curfptr[17] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V17*/ curfptr[16];;} ; /*_.IF___V16*/ curfptr[14] = /*_.PROGN___V18*/ curfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1351:/ clear"); /*clear*/ /*_#GET_INT__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1351:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V17*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1351:/ clear"); /*clear*/ /*_.PROGN___V18*/ curfptr[17] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1351:/ cond.else"); /*_.IF___V16*/ curfptr[14] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1356:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "}"));} ; { MELT_LOCATION("warmelt-outobj.melt:1357:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1344:/ clear"); /*clear*/ /*_.BODYL__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1344:/ clear"); /*clear*/ /*_.EPIL__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1344:/ clear"); /*clear*/ /*_#I__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1344:/ clear"); /*clear*/ /*_.BOXDEPTHP1__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1344:/ clear"); /*clear*/ /*_#IS_LIST__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1344:/ clear"); /*clear*/ /*_.IF___V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1344:/ clear"); /*clear*/ /*_#IS_LIST__L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1344:/ clear"); /*clear*/ /*_.IF___V16*/ curfptr[14] = 0 ;} ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1359:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1359:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L8*/ curfnum[6] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1359:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1359:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objblock done oblo"; MELT_LOCATION("warmelt-outobj.melt:1359:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L8*/ curfnum[6]; MELT_LOCATION("warmelt-outobj.melt:1359:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1359:/ apply.arg"); argtab[3].bp_long = 1359; /*_.DEBUG_MSG_FUN__V20*/ curfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V19*/ curfptr[16] = /*_.DEBUG_MSG_FUN__V20*/ curfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1359:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L8*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1359:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V20*/ curfptr[17] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1359:/ cppif.else"); /*_.IFCPP___V19*/ curfptr[16] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1340:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.IFCPP___V19*/ curfptr[16];; MELT_LOCATION("warmelt-outobj.melt:1340:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1340:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1340:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1340:/ clear"); /*clear*/ /*_.OBI_LOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1340:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1340:/ clear"); /*clear*/ /*_.IFCPP___V19*/ curfptr[16] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJBLOCK", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_49_warmelt_outobj_OUTPUCOD_OBJBLOCK*/ 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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 10 void* varptr[10]; #define CURFRAM_NBVARNUM 3 long varnum[3]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<10; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 10; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJMULTIALLOCBLOCK", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1364:/ getarg"); /*_.OBLO__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1364:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1364:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1364:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1364:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1365:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1365:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1365:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1365:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmultiallocblock oblo"; MELT_LOCATION("warmelt-outobj.melt:1365:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L2*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1365:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1365:/ apply.arg"); argtab[3].bp_long = 1365; /*_.DEBUG_MSG_FUN__V6*/ curfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.DEBUG_MSG_FUN__V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1365:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1365:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1365:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1366:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1366:/ block"); /*block*/{ /*_#IS_A__L3*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJMULTIALLOCBLOCK*/ curfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:1366:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1366:/ cond.then"); /*_.IFELSE___V8*/ curfptr[7] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1366:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1366:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1366:/ locexp"); melt_assert_failed(( "check oblo"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1366)?(1366):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V8*/ curfptr[7] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.IFELSE___V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1366:/ clear"); /*clear*/ /*_#IS_A__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1366:/ clear"); /*clear*/ /*_.IFELSE___V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1366:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1368:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1368:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1368:/ cond"); /*cond*/ if ((/*nil*/NULL)) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1368:/ cond.then"); /*_.IFELSE___V10*/ curfptr[9] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1368:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1368:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1368:/ locexp"); melt_assert_failed(( "@$@unimplemented outpucod_objmultiallocblock"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1368)?(1368):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V10*/ curfptr[9] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V9*/ curfptr[7] = /*_.IFELSE___V10*/ curfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1368:/ clear"); /*clear*/ /*_.IFELSE___V10*/ curfptr[9] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1368:/ cppif.else"); /*_.IFCPP___V9*/ curfptr[7] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1364:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.IFCPP___V9*/ curfptr[7];; MELT_LOCATION("warmelt-outobj.melt:1364:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1364:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1364:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1364:/ clear"); /*clear*/ /*_.IFCPP___V9*/ curfptr[7] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJMULTIALLOCBLOCK", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 35 void* varptr[35]; #define CURFRAM_NBVARNUM 8 long varnum[8]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<35; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 35; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJCITERBLOCK", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1373:/ getarg"); /*_.OBCIT__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1373:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1373:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1373:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1373:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1374:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1374:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBCIT__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCITERBLOCK*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1374:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1374:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1374:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1374:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1374:/ locexp"); melt_assert_failed(( "check obcit"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1374)?(1374):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1374:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1374:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1374:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1375:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1375:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1375:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1375:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objciterblock obcit"; MELT_LOCATION("warmelt-outobj.melt:1375:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1375:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1375:/ apply.arg"); argtab[3].bp_long = 1375; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OBCIT__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1375:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1375:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1375:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1376:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1376:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.OLOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1377:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ curfptr[1]), 1, "OBLO_BODYL");/*_.BODYL__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1378:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ curfptr[1]), 2, "OBLO_EPIL");/*_.EPIL__V11*/ curfptr[10] = slot; }; ; /*_#I__L4*/ curfnum[1] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; /*_.BOXDEPTHP1__V12*/ curfptr[11] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[2])), (/*_#I__L4*/ curfnum[1])));; MELT_LOCATION("warmelt-outobj.melt:1380:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ curfptr[1]), 4, "OBCITER_BEFORE");/*_.OBEFORE__V13*/ curfptr[12] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1381:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ curfptr[1]), 5, "OBCITER_AFTER");/*_.OAFTER__V14*/ curfptr[13] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1382:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCIT__V2*/ curfptr[1]), 3, "OBCITER_CITER");/*_.CITER__V15*/ curfptr[14] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1384:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1384:/ block"); /*block*/{ /*_#IS_A__L5*/ curfnum[4] = melt_is_instance_of((melt_ptr_t)(/*_.CITER__V15*/ curfptr[14]), (melt_ptr_t)((/*!CLASS_CITERATOR*/ curfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:1384:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ curfnum[4]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1384:/ cond.then"); /*_.IFELSE___V17*/ curfptr[16] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1384:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1384:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1384:/ locexp"); melt_assert_failed(( "check citer"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1384)?(1384):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V17*/ curfptr[16] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V16*/ curfptr[15] = /*_.IFELSE___V17*/ curfptr[16];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1384:/ clear"); /*clear*/ /*_#IS_A__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1384:/ clear"); /*clear*/ /*_.IFELSE___V17*/ curfptr[16] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1384:/ cppif.else"); /*_.IFCPP___V16*/ curfptr[15] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1385:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1385:/ apply.arg"); argtab[0].bp_cstring = "citerblock"; /*_.OUTPUT_LOCATION__V18*/ curfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]), (BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1386:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*citerblock "));} ; MELT_LOCATION("warmelt-outobj.melt:1387:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CITER__V15*/ curfptr[14]), 1, "NAMED_NAME");/*_.NAMED_NAME__V19*/ curfptr[18] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1387:/ locexp"); meltgc_add_strbuf_ccomment((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V19*/ curfptr[18])));} ; { MELT_LOCATION("warmelt-outobj.melt:1388:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/ {"));} ; { MELT_LOCATION("warmelt-outobj.melt:1389:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1390:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1390:/ apply.arg"); argtab[0].bp_cstring = "citerbefore"; /*_.OUTPUT_LOCATION__V20*/ curfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]), (BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1393:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1393:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V22*/ curfptr[21] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_7*/ curfrout->tabval[7])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:1393:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V22*/ curfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V22*/ curfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V22*/ curfptr[21])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:1393:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V22*/ curfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V22*/ curfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V22*/ curfptr[21])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:1393:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V22*/ curfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V22*/ curfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V22*/ curfptr[21])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V12*/ curfptr[11]); ; /*_.LAMBDA___V21*/ curfptr[20] = /*_.LAMBDA___V22*/ curfptr[21];;} ; MELT_LOCATION("warmelt-outobj.melt:1391:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1391:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V21*/ curfptr[20]; /*_.MULTIPLE_EVERY__V23*/ curfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.OBEFORE__V13*/ curfptr[12]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1396:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1397:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1397:/ apply.arg"); argtab[0].bp_cstring = "citerbody"; /*_.OUTPUT_LOCATION__V24*/ curfptr[23] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]), (BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_#IS_LIST__L6*/ curfnum[4] = (melt_magic_discr((melt_ptr_t)(/*_.BODYL__V10*/ curfptr[9])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1398:/ cond"); /*cond*/ if (/*_#IS_LIST__L6*/ curfnum[4]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1398:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1398:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1399:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1399:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1399:/ apply.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1399:/ apply.arg"); argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V12*/ curfptr[11]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V26*/ curfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ curfrout->tabval[8])), (melt_ptr_t)(/*_.BODYL__V10*/ curfptr[9]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V25*/ curfptr[24] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V26*/ curfptr[25];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1398:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V26*/ curfptr[25] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1398:/ cond.else"); /*_.IF___V25*/ curfptr[24] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1400:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1401:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1401:/ apply.arg"); argtab[0].bp_cstring = "citerafter"; /*_.OUTPUT_LOCATION__V27*/ curfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]), (BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1404:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1404:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V29*/ curfptr[28] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_10*/ curfrout->tabval[10])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:1404:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ curfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ curfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ curfptr[28])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:1404:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ curfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ curfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ curfptr[28])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:1404:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ curfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ curfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ curfptr[28])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V12*/ curfptr[11]); ; /*_.LAMBDA___V28*/ curfptr[27] = /*_.LAMBDA___V29*/ curfptr[28];;} ; MELT_LOCATION("warmelt-outobj.melt:1402:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1402:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V28*/ curfptr[27]; /*_.MULTIPLE_EVERY__V30*/ curfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.OAFTER__V14*/ curfptr[13]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1407:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1408:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1408:/ apply.arg"); argtab[0].bp_cstring = "citerepil"; /*_.OUTPUT_LOCATION__V31*/ curfptr[30] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]), (BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_#IS_LIST__L7*/ curfnum[6] = (melt_magic_discr((melt_ptr_t)(/*_.EPIL__V11*/ curfptr[10])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1409:/ cond"); /*cond*/ if (/*_#IS_LIST__L7*/ curfnum[6]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1409:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1409:/ block"); /*block*/{ /*_#GET_INT__L8*/ curfnum[7] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V12*/ curfptr[11])));; { MELT_LOCATION("warmelt-outobj.melt:1411:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L8*/ curfnum[7]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1412:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*citerepilog*/"));} ; MELT_LOCATION("warmelt-outobj.melt:1413:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1413:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1413:/ apply.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1413:/ apply.arg"); argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V12*/ curfptr[11]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V33*/ curfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ curfrout->tabval[8])), (melt_ptr_t)(/*_.EPIL__V11*/ curfptr[10]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1410:/ block"); /*block*/{ /*_.PROGN___V34*/ curfptr[33] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V33*/ curfptr[32];;} ; /*_.IF___V32*/ curfptr[31] = /*_.PROGN___V34*/ curfptr[33];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1409:/ clear"); /*clear*/ /*_#GET_INT__L8*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1409:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V33*/ curfptr[32] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1409:/ clear"); /*clear*/ /*_.PROGN___V34*/ curfptr[33] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1409:/ cond.else"); /*_.IF___V32*/ curfptr[31] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1414:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "} /*endciterblock "));} ; MELT_LOCATION("warmelt-outobj.melt:1415:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CITER__V15*/ curfptr[14]), 1, "NAMED_NAME");/*_.NAMED_NAME__V35*/ curfptr[32] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1415:/ locexp"); meltgc_add_strbuf_ccomment((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V35*/ curfptr[32])));} ; { MELT_LOCATION("warmelt-outobj.melt:1416:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1417:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.OLOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.BODYL__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.EPIL__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_#I__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.BOXDEPTHP1__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.OBEFORE__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.OAFTER__V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.CITER__V15*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.IFCPP___V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V18*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.NAMED_NAME__V19*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V20*/ curfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.LAMBDA___V21*/ curfptr[20] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.MULTIPLE_EVERY__V23*/ curfptr[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V24*/ curfptr[23] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_#IS_LIST__L6*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.IF___V25*/ curfptr[24] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V27*/ curfptr[25] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.LAMBDA___V28*/ curfptr[27] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.MULTIPLE_EVERY__V30*/ curfptr[29] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V31*/ curfptr[30] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_#IS_LIST__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.IF___V32*/ curfptr[31] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1376:/ clear"); /*clear*/ /*_.NAMED_NAME__V35*/ curfptr[32] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1373:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1373:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCITERBLOCK", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 2 long varnum[2]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1393:/ getarg"); /*_.OBEF__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1393:/ getarg"); if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ curfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1393:/ block"); /*block*/{ /*_#GET_INT__L2*/ curfnum[1] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:1394:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1394:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:1394:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1394:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L2*/ curfnum[1]; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.OBEF__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1393:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.OUTPUT_C_CODE__V3*/ curfptr[2];; MELT_LOCATION("warmelt-outobj.melt:1393:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1393:/ clear"); /*clear*/ /*_#GET_INT__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1393:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 2 long varnum[2]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1404:/ getarg"); /*_.OAFT__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1404:/ getarg"); if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ curfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1404:/ block"); /*block*/{ /*_#GET_INT__L2*/ curfnum[1] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:1405:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1405:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:1405:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1405:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L2*/ curfnum[1]; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.OAFT__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1404:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.OUTPUT_C_CODE__V3*/ curfptr[2];; MELT_LOCATION("warmelt-outobj.melt:1404:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1404:/ clear"); /*clear*/ /*_#GET_INT__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1404:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 13 void* varptr[13]; #define CURFRAM_NBVARNUM 2 long varnum[2]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<13; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 13; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJCOMMENTINSTR", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1423:/ getarg"); /*_.OBCI__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1423:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1423:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1423:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1423:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1424:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1424:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBCI__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCOMMENTINSTR*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1424:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1424:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1424:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1424:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1424:/ locexp"); melt_assert_failed(( "check obci"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1424)?(1424):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1424:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1424:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1424:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1425:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1425:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCI__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.OLOC__V7*/ curfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1426:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCI__V2*/ curfptr[1]), 1, "OBCI_COMMENT");/*_.COMS__V8*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1427:/ block"); /*block*/{ /*_.SBU__V10*/ curfptr[9] = meltgc_new_strbuf((meltobject_ptr_t)((/*!DISCR_STRBUF*/ curfrout->tabval[1])), (char*)0);; { MELT_LOCATION("warmelt-outobj.melt:1428:/ locexp"); meltgc_add_strbuf_ccomment((melt_ptr_t)(/*_.SBU__V10*/ curfptr[9]), melt_string_str((melt_ptr_t)(/*_.COMS__V8*/ curfptr[7])));} ; /*_.STRBUF2STRING__V11*/ curfptr[10] = (meltgc_new_stringdup((meltobject_ptr_t)((/*!DISCR_STRING*/ curfrout->tabval[2])), melt_strbuf_str((melt_ptr_t)(/*_.SBU__V10*/ curfptr[9]))));; /*_.LET___V9*/ curfptr[8] = /*_.STRBUF2STRING__V11*/ curfptr[10];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1427:/ clear"); /*clear*/ /*_.SBU__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1427:/ clear"); /*clear*/ /*_.STRBUF2STRING__V11*/ curfptr[10] = 0 ;} ; /*_.COMSTR__V12*/ curfptr[9] = /*_.LET___V9*/ curfptr[8];; MELT_LOCATION("warmelt-outobj.melt:1432:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1432:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1432:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1432:/ apply.arg"); argtab[2].bp_cstring = "comment"; /*_.OUTPUT_LOCATION__V13*/ curfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[3])), (melt_ptr_t)(/*_.OLOC__V7*/ curfptr[5]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1433:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/**COMMENT: "));} ; { MELT_LOCATION("warmelt-outobj.melt:1434:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.COMSTR__V12*/ curfptr[9])));} ; { MELT_LOCATION("warmelt-outobj.melt:1435:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " **/;"));} ; { MELT_LOCATION("warmelt-outobj.melt:1436:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1425:/ clear"); /*clear*/ /*_.OLOC__V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1425:/ clear"); /*clear*/ /*_.COMS__V8*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1425:/ clear"); /*clear*/ /*_.LET___V9*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1425:/ clear"); /*clear*/ /*_.COMSTR__V12*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1425:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V13*/ curfptr[10] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1423:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCOMMENTINSTR", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 25 void* varptr[25]; #define CURFRAM_NBVARNUM 8 long varnum[8]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<25; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 25; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJCOMMENTEDBLOCK", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1442:/ getarg"); /*_.OBLO__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1442:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1442:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1442:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1442:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1443:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1443:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCOMMENTEDBLOCK*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1443:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1443:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1443:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1443:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1443:/ locexp"); melt_assert_failed(( "check oblo"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1443)?(1443):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1443:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1443:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1443:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1444:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1444:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1444:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1444:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objblock oblo"; MELT_LOCATION("warmelt-outobj.melt:1444:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1444:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1444:/ apply.arg"); argtab[3].bp_long = 1444; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1444:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1444:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1444:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1445:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.OBI_LOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1445:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1445:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1445:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1445:/ apply.arg"); argtab[2].bp_cstring = "block"; /*_.OUTPUT_LOCATION__V10*/ curfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.OBI_LOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1446:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1446:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), 1, "OBLO_BODYL");/*_.BODYL__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1447:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), 2, "OBLO_EPIL");/*_.EPIL__V12*/ curfptr[11] = slot; }; ; /*_#I__L4*/ curfnum[1] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; /*_.BOXDEPTHP1__V13*/ curfptr[12] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[3])), (/*_#I__L4*/ curfnum[1])));; MELT_LOCATION("warmelt-outobj.melt:1449:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), 3, "OCOMBLO_COMMENT");/*_.COMS__V14*/ curfptr[13] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1450:/ block"); /*block*/{ /*_.SBU__V16*/ curfptr[15] = meltgc_new_strbuf((meltobject_ptr_t)((/*!DISCR_STRBUF*/ curfrout->tabval[4])), (char*)0);; { MELT_LOCATION("warmelt-outobj.melt:1451:/ locexp"); meltgc_add_strbuf_ccomment((melt_ptr_t)(/*_.SBU__V16*/ curfptr[15]), melt_string_str((melt_ptr_t)(/*_.COMS__V14*/ curfptr[13])));} ; /*_.STRBUF2STRING__V17*/ curfptr[16] = (meltgc_new_stringdup((meltobject_ptr_t)((/*!DISCR_STRING*/ curfrout->tabval[5])), melt_strbuf_str((melt_ptr_t)(/*_.SBU__V16*/ curfptr[15]))));; /*_.LET___V15*/ curfptr[14] = /*_.STRBUF2STRING__V17*/ curfptr[16];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1450:/ clear"); /*clear*/ /*_.SBU__V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1450:/ clear"); /*clear*/ /*_.STRBUF2STRING__V17*/ curfptr[16] = 0 ;} ; /*_.COMSTR__V18*/ curfptr[15] = /*_.LET___V15*/ curfptr[14];; { MELT_LOCATION("warmelt-outobj.melt:1455:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*com.block:"));} ; { MELT_LOCATION("warmelt-outobj.melt:1456:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.COMSTR__V18*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1457:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/{"));} ; /*_#IS_LIST__L5*/ curfnum[4] = (melt_magic_discr((melt_ptr_t)(/*_.BODYL__V11*/ curfptr[10])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1458:/ cond"); /*cond*/ if (/*_#IS_LIST__L5*/ curfnum[4]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1458:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1458:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1459:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1459:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1459:/ apply.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1459:/ apply.arg"); argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V13*/ curfptr[12]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V20*/ curfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ curfrout->tabval[6])), (melt_ptr_t)(/*_.BODYL__V11*/ curfptr[10]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V19*/ curfptr[16] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V20*/ curfptr[19];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1458:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V20*/ curfptr[19] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1458:/ cond.else"); /*_.IF___V19*/ curfptr[16] = NULL;; } ; /*_#IS_LIST__L6*/ curfnum[5] = (melt_magic_discr((melt_ptr_t)(/*_.EPIL__V12*/ curfptr[11])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1460:/ cond"); /*cond*/ if (/*_#IS_LIST__L6*/ curfnum[5]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1460:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1460:/ block"); /*block*/{ /*_#GET_INT__L7*/ curfnum[6] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V13*/ curfptr[12])));; { MELT_LOCATION("warmelt-outobj.melt:1462:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L7*/ curfnum[6]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1463:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*comp.epilog:"));} ; { MELT_LOCATION("warmelt-outobj.melt:1464:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.COMSTR__V18*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1465:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/"));} ; MELT_LOCATION("warmelt-outobj.melt:1466:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1466:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1466:/ apply.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1466:/ apply.arg"); argtab[2].bp_aptr = (melt_ptr_t*) &/*_.BOXDEPTHP1__V13*/ curfptr[12]; /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V22*/ curfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_CODE_INSTRUCTIONS_LIST*/ curfrout->tabval[6])), (melt_ptr_t)(/*_.EPIL__V12*/ curfptr[11]), (BPARSTR_PTR BPARSTR_PTR BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1461:/ block"); /*block*/{ /*_.PROGN___V23*/ curfptr[22] = /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V22*/ curfptr[21];;} ; /*_.IF___V21*/ curfptr[19] = /*_.PROGN___V23*/ curfptr[22];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1460:/ clear"); /*clear*/ /*_#GET_INT__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1460:/ clear"); /*clear*/ /*_.OUTPUT_CODE_INSTRUCTIONS_LIST__V22*/ curfptr[21] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1460:/ clear"); /*clear*/ /*_.PROGN___V23*/ curfptr[22] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1460:/ cond.else"); /*_.IF___V21*/ curfptr[19] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1467:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "}"));} ; { MELT_LOCATION("warmelt-outobj.melt:1468:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*com.end block:"));} ; { MELT_LOCATION("warmelt-outobj.melt:1469:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.COMSTR__V18*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1470:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1471:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1446:/ clear"); /*clear*/ /*_.BODYL__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1446:/ clear"); /*clear*/ /*_.EPIL__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1446:/ clear"); /*clear*/ /*_#I__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1446:/ clear"); /*clear*/ /*_.BOXDEPTHP1__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1446:/ clear"); /*clear*/ /*_.COMS__V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1446:/ clear"); /*clear*/ /*_.LET___V15*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1446:/ clear"); /*clear*/ /*_.COMSTR__V18*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1446:/ clear"); /*clear*/ /*_#IS_LIST__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1446:/ clear"); /*clear*/ /*_.IF___V19*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1446:/ clear"); /*clear*/ /*_#IS_LIST__L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1446:/ clear"); /*clear*/ /*_.IF___V21*/ curfptr[19] = 0 ;} ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1473:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1473:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L8*/ curfnum[6] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1473:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1473:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objcommentedblock done oblo"; MELT_LOCATION("warmelt-outobj.melt:1473:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L8*/ curfnum[6]; MELT_LOCATION("warmelt-outobj.melt:1473:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1473:/ apply.arg"); argtab[3].bp_long = 1473; /*_.DEBUG_MSG_FUN__V25*/ curfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V24*/ curfptr[21] = /*_.DEBUG_MSG_FUN__V25*/ curfptr[22];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1473:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L8*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1473:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V25*/ curfptr[22] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1473:/ cppif.else"); /*_.IFCPP___V24*/ curfptr[21] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1442:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.IFCPP___V24*/ curfptr[21];; MELT_LOCATION("warmelt-outobj.melt:1442:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1442:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1442:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1442:/ clear"); /*clear*/ /*_.OBI_LOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1442:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1442:/ clear"); /*clear*/ /*_.IFCPP___V24*/ curfptr[21] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCOMMENTEDBLOCK", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_55_warmelt_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 13 void* varptr[13]; #define CURFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<13; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 13; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJLABELINSTR", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1480:/ getarg"); /*_.OBLAB__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1480:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1480:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1480:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1480:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1481:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1481:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBLAB__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJLABELINSTR*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1481:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1481:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1481:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1481:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1481:/ locexp"); melt_assert_failed(( "check oblab"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1481)?(1481):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1481:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1481:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1481:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1482:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1482:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1482:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1482:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objlabelinstr oblab"; MELT_LOCATION("warmelt-outobj.melt:1482:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1482:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1482:/ apply.arg"); argtab[3].bp_long = 1482; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OBLAB__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1482:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1482:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1482:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; { MELT_LOCATION("warmelt-outobj.melt:1483:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1484:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*objlabel*/ "));} ; MELT_LOCATION("warmelt-outobj.melt:1485:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLAB__V2*/ curfptr[1]), 1, "OBLAB_PREFIX");/*_.OBLAB_PREFIX__V9*/ curfptr[7] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1485:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.OBLAB_PREFIX__V9*/ curfptr[7])));} ; MELT_LOCATION("warmelt-outobj.melt:1486:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1486:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLAB__V2*/ curfptr[1]), 2, "OBLAB_RANK");/*_.OBRANK__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1487:/ cond"); /*cond*/ if (/*_.OBRANK__V10*/ curfptr[9]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1487:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1487:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1488:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLAB__V2*/ curfptr[1]), 2, "OBLAB_RANK");/*_.OBLAB_RANK__V11*/ curfptr[10] = slot; }; ; /*_#GET_INT__L4*/ curfnum[1] = (melt_get_int((melt_ptr_t)(/*_.OBLAB_RANK__V11*/ curfptr[10])));; { MELT_LOCATION("warmelt-outobj.melt:1488:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L4*/ curfnum[1]));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1487:/ clear"); /*clear*/ /*_.OBLAB_RANK__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1487:/ clear"); /*clear*/ /*_#GET_INT__L4*/ curfnum[1] = 0 ;} ; } /*noelse*/ ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1486:/ clear"); /*clear*/ /*_.OBRANK__V10*/ curfptr[9] = 0 ;} ; { MELT_LOCATION("warmelt-outobj.melt:1489:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ":"));} ; { MELT_LOCATION("warmelt-outobj.melt:1490:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1491:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLAB__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.OBI_LOC__V12*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1491:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1491:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1491:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1491:/ apply.arg"); argtab[2].bp_cstring = "objlabel"; /*_.OUTPUT_LOCATION__V13*/ curfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.OBI_LOC__V12*/ curfptr[10]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1480:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.OUTPUT_LOCATION__V13*/ curfptr[9];; MELT_LOCATION("warmelt-outobj.melt:1480:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1480:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1480:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1480:/ clear"); /*clear*/ /*_.OBLAB_PREFIX__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1480:/ clear"); /*clear*/ /*_.OBI_LOC__V12*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1480:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V13*/ curfptr[9] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJLABELINSTR", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_56_warmelt_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 12 void* varptr[12]; #define CURFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<12; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 12; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJGOTOINSTR", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1498:/ getarg"); /*_.OBGOTO__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1498:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1498:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1498:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1498:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1499:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1499:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBGOTO__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJGOTOINSTR*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1499:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1499:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1499:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1499:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1499:/ locexp"); melt_assert_failed(( "check obgoto"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1499)?(1499):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1499:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1499:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1499:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1500:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1500:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1500:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1500:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objgotoinstr"; MELT_LOCATION("warmelt-outobj.melt:1500:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1500:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1500:/ apply.arg"); argtab[3].bp_long = 1500; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OBGOTO__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1500:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1500:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1500:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1501:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBGOTO__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.OBI_LOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1501:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1501:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1501:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1501:/ apply.arg"); argtab[2].bp_cstring = "objgoto"; /*_.OUTPUT_LOCATION__V10*/ curfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.OBI_LOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1502:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*objgoto*/ goto "));} ; MELT_LOCATION("warmelt-outobj.melt:1503:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBGOTO__V2*/ curfptr[1]), 1, "OBGOTO_PREFIX");/*_.OBGOTO_PREFIX__V11*/ curfptr[10] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1503:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.OBGOTO_PREFIX__V11*/ curfptr[10])));} ; MELT_LOCATION("warmelt-outobj.melt:1504:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1504:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBGOTO__V2*/ curfptr[1]), 2, "OBGOTO_RANK");/*_.OBRANK__V12*/ curfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1505:/ cond"); /*cond*/ if (/*_.OBRANK__V12*/ curfptr[11]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1505:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1505:/ block"); /*block*/{ /*_#GET_INT__L4*/ curfnum[1] = (melt_get_int((melt_ptr_t)(/*_.OBRANK__V12*/ curfptr[11])));; { MELT_LOCATION("warmelt-outobj.melt:1506:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L4*/ curfnum[1]));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1505:/ clear"); /*clear*/ /*_#GET_INT__L4*/ curfnum[1] = 0 ;} ; } /*noelse*/ ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1504:/ clear"); /*clear*/ /*_.OBRANK__V12*/ curfptr[11] = 0 ;} ; { MELT_LOCATION("warmelt-outobj.melt:1507:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1508:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1498:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1498:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1498:/ clear"); /*clear*/ /*_.OBI_LOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1498:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1498:/ clear"); /*clear*/ /*_.OBGOTO_PREFIX__V11*/ curfptr[10] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJGOTOINSTR", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 9 void* varptr[9]; #define CURFRAM_NBVARNUM 3 long varnum[3]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<9; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 9; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("ADD2SBUF_CLONSYM", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1514:/ getarg"); /*_.SBUF__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1514:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.CSY__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.CSY__V3*/ curfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1514:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1515:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1515:/ block"); /*block*/{ /*_#IS_STRBUF__L1*/ curfnum[0] = (melt_magic_discr((melt_ptr_t)(/*_.SBUF__V2*/ curfptr[1])) == OBMAG_STRBUF);; MELT_LOCATION("warmelt-outobj.melt:1515:/ cond"); /*cond*/ if (/*_#IS_STRBUF__L1*/ curfnum[0]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1515:/ cond.then"); /*_.IFELSE___V5*/ curfptr[4] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1515:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1515:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1515:/ locexp"); melt_assert_failed(( "check sbuf"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1515)?(1515):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V4*/ curfptr[3] = /*_.IFELSE___V5*/ curfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1515:/ clear"); /*clear*/ /*_#IS_STRBUF__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1515:/ clear"); /*clear*/ /*_.IFELSE___V5*/ curfptr[4] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1515:/ cppif.else"); /*_.IFCPP___V4*/ curfptr[3] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1516:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1516:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[0] = melt_is_instance_of((melt_ptr_t)(/*_.CSY__V3*/ curfptr[2]), (melt_ptr_t)((/*!CLASS_CLONED_SYMBOL*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1516:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[0]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1516:/ cond.then"); /*_.IFELSE___V7*/ curfptr[6] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1516:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1516:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1516:/ locexp"); melt_assert_failed(( "check csy"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1516)?(1516):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V6*/ curfptr[4] = /*_.IFELSE___V7*/ curfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1516:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1516:/ clear"); /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1516:/ cppif.else"); /*_.IFCPP___V6*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1517:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1517:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CSY__V3*/ curfptr[2]), 1, "NAMED_NAME");/*_.CNAM__V8*/ curfptr[6] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1518:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CSY__V3*/ curfptr[2]), 3, "CSYM_URANK");/*_.CSYM_URANK__V9*/ curfptr[8] = slot; }; ; /*_#RK__L3*/ curfnum[0] = (melt_get_int((melt_ptr_t)(/*_.CSYM_URANK__V9*/ curfptr[8])));; { MELT_LOCATION("warmelt-outobj.melt:1519:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.SBUF__V2*/ curfptr[1]), melt_string_str((melt_ptr_t)(/*_.CNAM__V8*/ curfptr[6])));} ; { MELT_LOCATION("warmelt-outobj.melt:1520:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V2*/ curfptr[1]), ( "_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1521:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.SBUF__V2*/ curfptr[1]), (/*_#RK__L3*/ curfnum[0]));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1517:/ clear"); /*clear*/ /*_.CNAM__V8*/ curfptr[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1517:/ clear"); /*clear*/ /*_.CSYM_URANK__V9*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1517:/ clear"); /*clear*/ /*_#RK__L3*/ curfnum[0] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1514:/ clear"); /*clear*/ /*_.IFCPP___V4*/ curfptr[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1514:/ clear"); /*clear*/ /*_.IFCPP___V6*/ curfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("ADD2SBUF_CLONSYM", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 33 void* varptr[33]; #define CURFRAM_NBVARNUM 12 long varnum[12]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<33; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 33; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJLOOP", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1525:/ getarg"); /*_.OBLO__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1525:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1525:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1525:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1525:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1526:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1526:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJLOOP*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1526:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1526:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1526:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1526:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1526:/ locexp"); melt_assert_failed(( "check oblo"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1526)?(1526):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1526:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1526:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1526:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1527:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1527:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1527:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1527:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objloop oblo"; MELT_LOCATION("warmelt-outobj.melt:1527:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1527:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1527:/ apply.arg"); argtab[3].bp_long = 1527; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1527:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1527:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1527:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1528:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1528:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), 1, "OBLO_BODYL");/*_.BODYL__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1529:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), 2, "OBLO_EPIL");/*_.EPIL__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1530:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), 3, "OBLOOP_LABEL");/*_.LAB__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1531:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.OLOC__V12*/ curfptr[11] = slot; }; ; /*_#I__L4*/ curfnum[1] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; /*_.BOXDEPTHP1__V13*/ curfptr[12] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[2])), (/*_#I__L4*/ curfnum[1])));; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1534:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1534:/ block"); /*block*/{ /*_#IS_A__L5*/ curfnum[4] = melt_is_instance_of((melt_ptr_t)(/*_.LAB__V11*/ curfptr[10]), (melt_ptr_t)((/*!CLASS_CLONED_SYMBOL*/ curfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:1534:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ curfnum[4]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1534:/ cond.then"); /*_.IFELSE___V15*/ curfptr[14] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1534:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1534:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1534:/ locexp"); melt_assert_failed(( "check lab"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1534)?(1534):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V15*/ curfptr[14] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V14*/ curfptr[13] = /*_.IFELSE___V15*/ curfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1534:/ clear"); /*clear*/ /*_#IS_A__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1534:/ clear"); /*clear*/ /*_.IFELSE___V15*/ curfptr[14] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1534:/ cppif.else"); /*_.IFCPP___V14*/ curfptr[13] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1535:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1535:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1535:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1535:/ apply.arg"); argtab[2].bp_cstring = "loop"; /*_.OUTPUT_LOCATION__V16*/ curfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V12*/ curfptr[11]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1536:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*loop*/{ labloop_"));} ; MELT_LOCATION("warmelt-outobj.melt:1537:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1537:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAB__V11*/ curfptr[10]; /*_.ADD2SBUF_CLONSYM__V17*/ curfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!ADD2SBUF_CLONSYM*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1538:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ":;"));} ; /*_#IS_LIST__L6*/ curfnum[4] = (melt_magic_discr((melt_ptr_t)(/*_.BODYL__V9*/ curfptr[7])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1539:/ cond"); /*cond*/ if (/*_#IS_LIST__L6*/ curfnum[4]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1539:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1539:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1541:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1541:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1541:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1541:/ apply.arg"); argtab[2].bp_cstring = "loopbody"; /*_.OUTPUT_LOCATION__V19*/ curfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V12*/ curfptr[11]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_#I__L7*/ curfnum[6] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1542:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L7*/ curfnum[6]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1545:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1545:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V21*/ curfptr[20] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_9*/ curfrout->tabval[9])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:1545:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V21*/ curfptr[20])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V21*/ curfptr[20]))); ((meltclosure_ptr_t)/*_.LAMBDA___V21*/ curfptr[20])->tabval[0] = (melt_ptr_t)(/*_.BOXDEPTHP1__V13*/ curfptr[12]); ; MELT_LOCATION("warmelt-outobj.melt:1545:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V21*/ curfptr[20])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V21*/ curfptr[20]))); ((meltclosure_ptr_t)/*_.LAMBDA___V21*/ curfptr[20])->tabval[1] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:1545:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V21*/ curfptr[20])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V21*/ curfptr[20]))); ((meltclosure_ptr_t)/*_.LAMBDA___V21*/ curfptr[20])->tabval[2] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; /*_.LAMBDA___V20*/ curfptr[19] = /*_.LAMBDA___V21*/ curfptr[20];;} ; MELT_LOCATION("warmelt-outobj.melt:1543:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1543:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V20*/ curfptr[19]; /*_.LIST_EVERY__V22*/ curfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[6])), (melt_ptr_t)(/*_.BODYL__V9*/ curfptr[7]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1540:/ block"); /*block*/{ /*_.PROGN___V23*/ curfptr[22] = /*_.LIST_EVERY__V22*/ curfptr[21];;} ; /*_.IF___V18*/ curfptr[17] = /*_.PROGN___V23*/ curfptr[22];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1539:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V19*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1539:/ clear"); /*clear*/ /*_#I__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1539:/ clear"); /*clear*/ /*_.LAMBDA___V20*/ curfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1539:/ clear"); /*clear*/ /*_.LIST_EVERY__V22*/ curfptr[21] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1539:/ clear"); /*clear*/ /*_.PROGN___V23*/ curfptr[22] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1539:/ cond.else"); /*_.IF___V18*/ curfptr[17] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1551:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ";"));} ; /*_#I__L8*/ curfnum[6] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1552:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L8*/ curfnum[6]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1553:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " goto labloop_"));} ; MELT_LOCATION("warmelt-outobj.melt:1554:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1554:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAB__V11*/ curfptr[10]; /*_.ADD2SBUF_CLONSYM__V24*/ curfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!ADD2SBUF_CLONSYM*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1555:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ";"));} ; /*_#I__L9*/ curfnum[8] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1556:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L9*/ curfnum[8]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1557:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " labexit_"));} ; MELT_LOCATION("warmelt-outobj.melt:1558:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1558:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAB__V11*/ curfptr[10]; /*_.ADD2SBUF_CLONSYM__V25*/ curfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!ADD2SBUF_CLONSYM*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1559:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ":;"));} ; /*_#IS_LIST__L10*/ curfnum[9] = (melt_magic_discr((melt_ptr_t)(/*_.EPIL__V10*/ curfptr[9])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1560:/ cond"); /*cond*/ if (/*_#IS_LIST__L10*/ curfnum[9]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1560:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1560:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1562:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1562:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1562:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1562:/ apply.arg"); argtab[2].bp_cstring = "loopepilog"; /*_.OUTPUT_LOCATION__V27*/ curfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V12*/ curfptr[11]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1563:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*loopepilog*/"));} ; /*_#I__L11*/ curfnum[10] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1564:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L11*/ curfnum[10]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1567:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1567:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V29*/ curfptr[28] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_12*/ curfrout->tabval[12])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:1567:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ curfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ curfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ curfptr[28])->tabval[0] = (melt_ptr_t)(/*_.BOXDEPTHP1__V13*/ curfptr[12]); ; MELT_LOCATION("warmelt-outobj.melt:1567:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ curfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ curfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ curfptr[28])->tabval[1] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:1567:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ curfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ curfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ curfptr[28])->tabval[2] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; /*_.LAMBDA___V28*/ curfptr[27] = /*_.LAMBDA___V29*/ curfptr[28];;} ; MELT_LOCATION("warmelt-outobj.melt:1565:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1565:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V28*/ curfptr[27]; /*_.LIST_EVERY__V30*/ curfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[6])), (melt_ptr_t)(/*_.EPIL__V10*/ curfptr[9]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1561:/ block"); /*block*/{ /*_.PROGN___V31*/ curfptr[30] = /*_.LIST_EVERY__V30*/ curfptr[29];;} ; /*_.IF___V26*/ curfptr[21] = /*_.PROGN___V31*/ curfptr[30];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1560:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V27*/ curfptr[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1560:/ clear"); /*clear*/ /*_#I__L11*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1560:/ clear"); /*clear*/ /*_.LAMBDA___V28*/ curfptr[27] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1560:/ clear"); /*clear*/ /*_.LIST_EVERY__V30*/ curfptr[29] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1560:/ clear"); /*clear*/ /*_.PROGN___V31*/ curfptr[30] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1560:/ cond.else"); /*_.IF___V26*/ curfptr[21] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1573:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "}"));} ; { MELT_LOCATION("warmelt-outobj.melt:1574:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.BODYL__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.EPIL__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.LAB__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.OLOC__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_#I__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.BOXDEPTHP1__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.IFCPP___V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V16*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.ADD2SBUF_CLONSYM__V17*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_#IS_LIST__L6*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.IF___V18*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_#I__L8*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.ADD2SBUF_CLONSYM__V24*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_#I__L9*/ curfnum[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.ADD2SBUF_CLONSYM__V25*/ curfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_#IS_LIST__L10*/ curfnum[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1528:/ clear"); /*clear*/ /*_.IF___V26*/ curfptr[21] = 0 ;} ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1576:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1576:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L12*/ curfnum[10] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1576:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1576:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objloop done oblo"; MELT_LOCATION("warmelt-outobj.melt:1576:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L12*/ curfnum[10]; MELT_LOCATION("warmelt-outobj.melt:1576:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1576:/ apply.arg"); argtab[3].bp_long = 1576; /*_.DEBUG_MSG_FUN__V33*/ curfptr[27] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OBLO__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V32*/ curfptr[22] = /*_.DEBUG_MSG_FUN__V33*/ curfptr[27];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1576:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L12*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1576:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V33*/ curfptr[27] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1576:/ cppif.else"); /*_.IFCPP___V32*/ curfptr[22] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1525:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.IFCPP___V32*/ curfptr[22];; MELT_LOCATION("warmelt-outobj.melt:1525:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1525:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1525:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1525:/ clear"); /*clear*/ /*_.IFCPP___V32*/ curfptr[22] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJLOOP", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_59_warmelt_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 4 void* varptr[4]; #define CURFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<4; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 4; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1545:/ getarg"); /*_.CURBODY__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1545:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1546:/ block"); /*block*/{ /*_#DEPTHP1__L1*/ curfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[0]))));; MELT_LOCATION("warmelt-outobj.melt:1547:/ cond"); /*cond*/ if (/*_.CURBODY__V2*/ curfptr[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1547:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1547:/ block"); /*block*/{ /*_#IS_A__L3*/ curfnum[2] = melt_is_instance_of((melt_ptr_t)(/*_.CURBODY__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ curfrout->tabval[0])));; /*_#NOT__L4*/ curfnum[3] = (!(/*_#IS_A__L3*/ curfnum[2]));; /*_#IF___L2*/ curfnum[1] = /*_#NOT__L4*/ curfnum[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1547:/ clear"); /*clear*/ /*_#IS_A__L3*/ curfnum[2] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1547:/ clear"); /*clear*/ /*_#NOT__L4*/ curfnum[3] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1547:/ cond.else"); /*_#IF___L2*/ curfnum[1] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1547:/ cond"); /*cond*/ if (/*_#IF___L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1547:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1547:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1548:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1548:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1548:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[2]); MELT_LOCATION("warmelt-outobj.melt:1548:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTHP1__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V4*/ curfptr[3] = meltgc_send((melt_ptr_t)(/*_.CURBODY__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[1])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V3*/ curfptr[2] = /*_.OUTPUT_C_CODE__V4*/ curfptr[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1547:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V4*/ curfptr[3] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1547:/ cond.else"); /*_.IF___V3*/ curfptr[2] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1549:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[2])), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1550:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[2])), (/*_#DEPTHP1__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1546:/ clear"); /*clear*/ /*_#DEPTHP1__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1546:/ clear"); /*clear*/ /*_#IF___L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1546:/ clear"); /*clear*/ /*_.IF___V3*/ curfptr[2] = 0 ;} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 4 void* varptr[4]; #define CURFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<4; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 4; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1567:/ getarg"); /*_.CUREPIL__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1567:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1568:/ block"); /*block*/{ /*_#DEPTHP1__L1*/ curfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[0]))));; MELT_LOCATION("warmelt-outobj.melt:1569:/ cond"); /*cond*/ if (/*_.CUREPIL__V2*/ curfptr[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1569:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1569:/ block"); /*block*/{ /*_#IS_A__L3*/ curfnum[2] = melt_is_instance_of((melt_ptr_t)(/*_.CUREPIL__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ curfrout->tabval[0])));; /*_#NOT__L4*/ curfnum[3] = (!(/*_#IS_A__L3*/ curfnum[2]));; /*_#IF___L2*/ curfnum[1] = /*_#NOT__L4*/ curfnum[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1569:/ clear"); /*clear*/ /*_#IS_A__L3*/ curfnum[2] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1569:/ clear"); /*clear*/ /*_#NOT__L4*/ curfnum[3] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1569:/ cond.else"); /*_#IF___L2*/ curfnum[1] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1569:/ cond"); /*cond*/ if (/*_#IF___L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1569:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1569:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1570:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1570:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1570:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[2]); MELT_LOCATION("warmelt-outobj.melt:1570:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTHP1__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V4*/ curfptr[3] = meltgc_send((melt_ptr_t)(/*_.CUREPIL__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[1])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V3*/ curfptr[2] = /*_.OUTPUT_C_CODE__V4*/ curfptr[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1569:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V4*/ curfptr[3] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1569:/ cond.else"); /*_.IF___V3*/ curfptr[2] = NULL;; } ; { MELT_LOCATION("warmelt-outobj.melt:1571:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[2])), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1572:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[2])), (/*_#DEPTHP1__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1568:/ clear"); /*clear*/ /*_#DEPTHP1__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1568:/ clear"); /*clear*/ /*_#IF___L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1568:/ clear"); /*clear*/ /*_.IF___V3*/ curfptr[2] = 0 ;} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_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__; #define callcount thiscallcounter__ #else #define callcount 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 CURFRAM_NBVARPTR 14 void* varptr[14]; #define CURFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<14; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 14; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJEXIT", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1582:/ getarg"); /*_.OBXI__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1582:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1582:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1582:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1582:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1583:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1583:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBXI__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJEXIT*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1583:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1583:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1583:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1583:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1583:/ locexp"); melt_assert_failed(( "check obxi"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1583)?(1583):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1583:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1583:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1583:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1584:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1584:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1584:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1584:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objexit obxi"; MELT_LOCATION("warmelt-outobj.melt:1584:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1584:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1584:/ apply.arg"); argtab[3].bp_long = 1584; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OBXI__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1584:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1584:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1584:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1585:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1585:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBXI__V2*/ curfptr[1]), 1, "OBEXIT_LABEL");/*_.OLAB__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1586:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBXI__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.LOC__V10*/ curfptr[9] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1588:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1588:/ block"); /*block*/{ /*_#IS_A__L4*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OLAB__V9*/ curfptr[7]), (melt_ptr_t)((/*!CLASS_CLONED_SYMBOL*/ curfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:1588:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1588:/ cond.then"); /*_.IFELSE___V12*/ curfptr[11] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1588:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1588:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1588:/ locexp"); melt_assert_failed(( "check olab"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1588)?(1588):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V12*/ curfptr[11] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V11*/ curfptr[10] = /*_.IFELSE___V12*/ curfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1588:/ clear"); /*clear*/ /*_#IS_A__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1588:/ clear"); /*clear*/ /*_.IFELSE___V12*/ curfptr[11] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1588:/ cppif.else"); /*_.IFCPP___V11*/ curfptr[10] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1589:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1589:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1589:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1589:/ apply.arg"); argtab[2].bp_cstring = "exit"; /*_.OUTPUT_LOCATION__V13*/ curfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[3])), (melt_ptr_t)(/*_.LOC__V10*/ curfptr[9]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1590:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*exit*/{"));} ; { MELT_LOCATION("warmelt-outobj.melt:1591:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1592:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " goto labexit_"));} ; MELT_LOCATION("warmelt-outobj.melt:1593:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1593:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.OLAB__V9*/ curfptr[7]; /*_.ADD2SBUF_CLONSYM__V14*/ curfptr[13] = melt_apply ((meltclosure_ptr_t)((/*!ADD2SBUF_CLONSYM*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1594:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ";}"));} ; { MELT_LOCATION("warmelt-outobj.melt:1595:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1585:/ clear"); /*clear*/ /*_.OLAB__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1585:/ clear"); /*clear*/ /*_.LOC__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1585:/ clear"); /*clear*/ /*_.IFCPP___V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1585:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V13*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1585:/ clear"); /*clear*/ /*_.ADD2SBUF_CLONSYM__V14*/ curfptr[13] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1582:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1582:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJEXIT", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_62_warmelt_outobj_OUTPUCOD_OBJEXIT*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_63_warmelt_outobj_OUTPUCOD_OBJCOMPUTE_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 29 void* varptr[29]; #define CURFRAM_NBVARNUM 14 long varnum[14]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<29; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 29; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJCOMPUTE", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1600:/ getarg"); /*_.OBCOMP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1600:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1600:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1600:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1600:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1601:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1601:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBCOMP__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCOMPUTE*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1601:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1601:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1601:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1601:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1601:/ locexp"); melt_assert_failed(( "check obcomp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1601)?(1601):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1601:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1601:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1601:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1602:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1602:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCOMP__V2*/ curfptr[1]), 1, "OBDI_DESTLIST");/*_.CDEST__V7*/ curfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1603:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCOMP__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.CLOC__V8*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1604:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBCOMP__V2*/ curfptr[1]), 2, "OBCPT_EXPR");/*_.CEXP__V9*/ curfptr[8] = slot; }; ; /*_#I__L3*/ curfnum[1] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; /*_.BOXDEPTHP1__V10*/ curfptr[9] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[1])), (/*_#I__L3*/ curfnum[1])));; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1607:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1607:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L4*/ curfnum[3] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1607:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1607:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objcompute obcomp"; MELT_LOCATION("warmelt-outobj.melt:1607:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L4*/ curfnum[3]; MELT_LOCATION("warmelt-outobj.melt:1607:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1607:/ apply.arg"); argtab[3].bp_long = 1607; /*_.DEBUG_MSG_FUN__V12*/ curfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.OBCOMP__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V11*/ curfptr[10] = /*_.DEBUG_MSG_FUN__V12*/ curfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1607:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L4*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1607:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V12*/ curfptr[11] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1607:/ cppif.else"); /*_.IFCPP___V11*/ curfptr[10] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1608:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1608:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1608:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1608:/ apply.arg"); argtab[2].bp_cstring = "compute"; /*_.OUTPUT_LOCATION__V13*/ curfptr[11] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[3])), (melt_ptr_t)(/*_.CLOC__V8*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_#IS_LIST__L5*/ curfnum[3] = (melt_magic_discr((melt_ptr_t)(/*_.CDEST__V7*/ curfptr[5])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1609:/ cond"); /*cond*/ if (/*_#IS_LIST__L5*/ curfnum[3]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1609:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1609:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1612:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1612:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V16*/ curfptr[15] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_6*/ curfrout->tabval[6])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:1612:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V16*/ curfptr[15])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V16*/ curfptr[15]))); ((meltclosure_ptr_t)/*_.LAMBDA___V16*/ curfptr[15])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:1612:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V16*/ curfptr[15])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V16*/ curfptr[15]))); ((meltclosure_ptr_t)/*_.LAMBDA___V16*/ curfptr[15])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:1612:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V16*/ curfptr[15])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V16*/ curfptr[15]))); ((meltclosure_ptr_t)/*_.LAMBDA___V16*/ curfptr[15])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V10*/ curfptr[9]); ; /*_.LAMBDA___V15*/ curfptr[14] = /*_.LAMBDA___V16*/ curfptr[15];;} ; MELT_LOCATION("warmelt-outobj.melt:1610:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1610:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V15*/ curfptr[14]; /*_.LIST_EVERY__V17*/ curfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.CDEST__V7*/ curfptr[5]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_.IF___V14*/ curfptr[13] = /*_.LIST_EVERY__V17*/ curfptr[16];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1609:/ clear"); /*clear*/ /*_.LAMBDA___V15*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1609:/ clear"); /*clear*/ /*_.LIST_EVERY__V17*/ curfptr[16] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1609:/ cond.else"); /*_.IF___V14*/ curfptr[13] = NULL;; } ; /*_#IS_LIST__L6*/ curfnum[5] = (melt_magic_discr((melt_ptr_t)(/*_.CEXP__V9*/ curfptr[8])) == OBMAG_LIST);; MELT_LOCATION("warmelt-outobj.melt:1616:/ cond"); /*cond*/ if (/*_#IS_LIST__L6*/ curfnum[5]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1616:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1616:/ block"); /*block*/{ /*_#LIST_LENGTH__L7*/ curfnum[6] = (melt_list_length((melt_ptr_t)(/*_.CEXP__V9*/ curfptr[8])));; /*_#I__L8*/ curfnum[7] = ((/*_#LIST_LENGTH__L7*/ curfnum[6]) > (2));; MELT_LOCATION("warmelt-outobj.melt:1617:/ cond"); /*cond*/ if (/*_#I__L8*/ curfnum[7]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1617:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1617:/ block"); /*block*/{ /*_#I__L9*/ curfnum[8] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:1618:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L9*/ curfnum[8]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1617:/ clear"); /*clear*/ /*_#I__L9*/ curfnum[8] = 0 ;} ; } /*noelse*/ ; MELT_LOCATION("warmelt-outobj.melt:1621:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1621:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V20*/ curfptr[19] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_8*/ curfrout->tabval[8])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:1621:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V20*/ curfptr[19])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V20*/ curfptr[19]))); ((meltclosure_ptr_t)/*_.LAMBDA___V20*/ curfptr[19])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:1621:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V20*/ curfptr[19])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V20*/ curfptr[19]))); ((meltclosure_ptr_t)/*_.LAMBDA___V20*/ curfptr[19])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:1621:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V20*/ curfptr[19])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V20*/ curfptr[19]))); ((meltclosure_ptr_t)/*_.LAMBDA___V20*/ curfptr[19])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V10*/ curfptr[9]); ; /*_.LAMBDA___V19*/ curfptr[16] = /*_.LAMBDA___V20*/ curfptr[19];;} ; MELT_LOCATION("warmelt-outobj.melt:1619:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1619:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V19*/ curfptr[16]; /*_.LIST_EVERY__V21*/ curfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.CEXP__V9*/ curfptr[8]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1616:/ block"); /*block*/{ /*_.PROGN___V22*/ curfptr[21] = /*_.LIST_EVERY__V21*/ curfptr[20];;} ; /*_.IFELSE___V18*/ curfptr[14] = /*_.PROGN___V22*/ curfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1616:/ clear"); /*clear*/ /*_#LIST_LENGTH__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1616:/ clear"); /*clear*/ /*_#I__L8*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1616:/ clear"); /*clear*/ /*_.LAMBDA___V19*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1616:/ clear"); /*clear*/ /*_.LIST_EVERY__V21*/ curfptr[20] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1616:/ clear"); /*clear*/ /*_.PROGN___V22*/ curfptr[21] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1616:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1616:/ block"); /*block*/{ /*_#IS_MULTIPLE__L10*/ curfnum[8] = (melt_magic_discr((melt_ptr_t)(/*_.CEXP__V9*/ curfptr[8])) == OBMAG_MULTIPLE);; MELT_LOCATION("warmelt-outobj.melt:1623:/ cond"); /*cond*/ if (/*_#IS_MULTIPLE__L10*/ curfnum[8]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1623:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1623:/ block"); /*block*/{ /*_#MULTIPLE_LENGTH__L11*/ curfnum[6] = (melt_multiple_length((melt_ptr_t)(/*_.CEXP__V9*/ curfptr[8])));; /*_#I__L12*/ curfnum[7] = ((/*_#MULTIPLE_LENGTH__L11*/ curfnum[6]) > (2));; MELT_LOCATION("warmelt-outobj.melt:1624:/ cond"); /*cond*/ if (/*_#I__L12*/ curfnum[7]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1624:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1624:/ block"); /*block*/{ /*_#I__L13*/ curfnum[12] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:1625:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L13*/ curfnum[12]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1624:/ clear"); /*clear*/ /*_#I__L13*/ curfnum[12] = 0 ;} ; } /*noelse*/ ; MELT_LOCATION("warmelt-outobj.melt:1628:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1628:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V25*/ curfptr[21] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_11*/ curfrout->tabval[11])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:1628:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V25*/ curfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V25*/ curfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V25*/ curfptr[21])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:1628:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V25*/ curfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V25*/ curfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V25*/ curfptr[21])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:1628:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V25*/ curfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V25*/ curfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V25*/ curfptr[21])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V10*/ curfptr[9]); ; /*_.LAMBDA___V24*/ curfptr[20] = /*_.LAMBDA___V25*/ curfptr[21];;} ; MELT_LOCATION("warmelt-outobj.melt:1626:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1626:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V24*/ curfptr[20]; /*_.MULTIPLE_EVERY__V26*/ curfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ curfrout->tabval[9])), (melt_ptr_t)(/*_.CEXP__V9*/ curfptr[8]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1623:/ block"); /*block*/{ /*_.PROGN___V27*/ curfptr[26] = /*_.MULTIPLE_EVERY__V26*/ curfptr[25];;} ; /*_.IFELSE___V23*/ curfptr[16] = /*_.PROGN___V27*/ curfptr[26];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1623:/ clear"); /*clear*/ /*_#MULTIPLE_LENGTH__L11*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1623:/ clear"); /*clear*/ /*_#I__L12*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1623:/ clear"); /*clear*/ /*_.LAMBDA___V24*/ curfptr[20] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1623:/ clear"); /*clear*/ /*_.MULTIPLE_EVERY__V26*/ curfptr[25] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1623:/ clear"); /*clear*/ /*_.PROGN___V27*/ curfptr[26] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1623:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1623:/ block"); /*block*/{ /*_#I__L14*/ curfnum[12] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; MELT_LOCATION("warmelt-outobj.melt:1631:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1631:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1631:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1631:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L14*/ curfnum[12]; /*_.OUTPUT_C_CODE__V28*/ curfptr[20] = meltgc_send((melt_ptr_t)(/*_.CEXP__V9*/ curfptr[8]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[12])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1630:/ block"); /*block*/{ /*_.PROGN___V29*/ curfptr[25] = /*_.OUTPUT_C_CODE__V28*/ curfptr[20];;} ; /*_.IFELSE___V23*/ curfptr[16] = /*_.PROGN___V29*/ curfptr[25];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1623:/ clear"); /*clear*/ /*_#I__L14*/ curfnum[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1623:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V28*/ curfptr[20] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1623:/ clear"); /*clear*/ /*_.PROGN___V29*/ curfptr[25] = 0 ;} ; } ; /*_.IFELSE___V18*/ curfptr[14] = /*_.IFELSE___V23*/ curfptr[16];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1616:/ clear"); /*clear*/ /*_#IS_MULTIPLE__L10*/ curfnum[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1616:/ clear"); /*clear*/ /*_.IFELSE___V23*/ curfptr[16] = 0 ;} ; } ; { MELT_LOCATION("warmelt-outobj.melt:1633:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ";"));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1602:/ clear"); /*clear*/ /*_.CDEST__V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1602:/ clear"); /*clear*/ /*_.CLOC__V8*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1602:/ clear"); /*clear*/ /*_.CEXP__V9*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1602:/ clear"); /*clear*/ /*_#I__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1602:/ clear"); /*clear*/ /*_.BOXDEPTHP1__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1602:/ clear"); /*clear*/ /*_.IFCPP___V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1602:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V13*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1602:/ clear"); /*clear*/ /*_#IS_LIST__L5*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1602:/ clear"); /*clear*/ /*_.IF___V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1602:/ clear"); /*clear*/ /*_#IS_LIST__L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1602:/ clear"); /*clear*/ /*_.IFELSE___V18*/ curfptr[14] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1600:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCOMPUTE", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_63_warmelt_outobj_OUTPUCOD_OBJCOMPUTE*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_64_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 CURFRAM_NBVARPTR 4 void* varptr[4]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<4; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 4; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1612:/ getarg"); /*_.DESTCUR__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1612:/ block"); /*block*/{ /*_#GET_INT__L1*/ curfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:1613:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1613:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:1613:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1613:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.DESTCUR__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1614:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( " = "));} ; MELT_LOCATION("warmelt-outobj.melt:1612:/ block"); /*block*/{ /*_.RETVAL___V4*/ curfptr[3] = (/*nil*/NULL);; MELT_LOCATION("warmelt-outobj.melt:1612:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.RETVAL___V4*/ curfptr[3];; MELT_LOCATION("warmelt-outobj.melt:1612:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1612:/ clear"); /*clear*/ /*_.RETVAL___V4*/ curfptr[3] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1612:/ clear"); /*clear*/ /*_#GET_INT__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1612:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_64_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_65_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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1621:/ getarg"); /*_.EXPCUR__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1621:/ block"); /*block*/{ /*_#GET_INT__L1*/ curfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:1622:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1622:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:1622:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1622:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.EXPCUR__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1621:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.OUTPUT_C_CODE__V3*/ curfptr[2];; MELT_LOCATION("warmelt-outobj.melt:1621:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1621:/ clear"); /*clear*/ /*_#GET_INT__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1621:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_65_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_66_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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1628:/ getarg"); /*_.EXPCUR__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1628:/ block"); /*block*/{ /*_#GET_INT__L1*/ curfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:1629:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1629:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:1629:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1629:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.EXPCUR__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1628:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.OUTPUT_C_CODE__V3*/ curfptr[2];; MELT_LOCATION("warmelt-outobj.melt:1628:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1628:/ clear"); /*clear*/ /*_#GET_INT__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1628:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_66_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_67_warmelt_outobj_OUTPUCOD_OBJCOND_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 22 void* varptr[22]; #define CURFRAM_NBVARNUM 16 long varnum[16]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<22; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 22; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJCOND", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1639:/ getarg"); /*_.OCOND__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1639:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1639:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1639:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1639:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1640:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1640:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OCOND__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCOND*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1640:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1640:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1640:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1640:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1640:/ locexp"); melt_assert_failed(( "check ocond"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1640)?(1640):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1640:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1640:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1640:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1641:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1641:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1641:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1641:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objcond ocond"; MELT_LOCATION("warmelt-outobj.melt:1641:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1641:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1641:/ apply.arg"); argtab[3].bp_long = 1641; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OCOND__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1641:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1641:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1641:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1642:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1642:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCOND__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.CLOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1643:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCOND__V2*/ curfptr[1]), 1, "OBCOND_TEST");/*_.CTEST__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1644:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCOND__V2*/ curfptr[1]), 2, "OBCOND_THEN");/*_.CTHEN__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1645:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCOND__V2*/ curfptr[1]), 3, "OBCOND_ELSE");/*_.CELSE__V12*/ curfptr[11] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1647:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1647:/ block"); /*block*/{ /*_#NOTNULL__L4*/ curfnum[1] = ((/*_.CTEST__V10*/ curfptr[9]) != NULL);; MELT_LOCATION("warmelt-outobj.melt:1647:/ cond"); /*cond*/ if (/*_#NOTNULL__L4*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1647:/ cond.then"); /*_.IFELSE___V14*/ curfptr[13] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1647:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1647:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1647:/ locexp"); melt_assert_failed(( "check ctest"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1647)?(1647):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V13*/ curfptr[12] = /*_.IFELSE___V14*/ curfptr[13];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1647:/ clear"); /*clear*/ /*_#NOTNULL__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1647:/ clear"); /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1647:/ cppif.else"); /*_.IFCPP___V13*/ curfptr[12] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1648:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1648:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1648:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1648:/ apply.arg"); argtab[2].bp_cstring = "cond"; /*_.OUTPUT_LOCATION__V15*/ curfptr[13] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.CLOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1649:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*cond*/ if ("));} ; /*_#I__L5*/ curfnum[1] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; MELT_LOCATION("warmelt-outobj.melt:1650:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1650:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1650:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1650:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L5*/ curfnum[1]; /*_.OUTPUT_C_CODE__V16*/ curfptr[15] = meltgc_send((melt_ptr_t)(/*_.CTEST__V10*/ curfptr[9]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1651:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ") /*then*/ {"));} ; { MELT_LOCATION("warmelt-outobj.melt:1652:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1653:/ cond"); /*cond*/ if (/*_.CTHEN__V11*/ curfptr[10]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1653:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1653:/ block"); /*block*/{ /*_#IS_A__L7*/ curfnum[6] = melt_is_instance_of((melt_ptr_t)(/*_.CTHEN__V11*/ curfptr[10]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ curfrout->tabval[4])));; /*_#NOT__L8*/ curfnum[7] = (!(/*_#IS_A__L7*/ curfnum[6]));; /*_#IF___L6*/ curfnum[5] = /*_#NOT__L8*/ curfnum[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1653:/ clear"); /*clear*/ /*_#IS_A__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1653:/ clear"); /*clear*/ /*_#NOT__L8*/ curfnum[7] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1653:/ cond.else"); /*_#IF___L6*/ curfnum[5] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1653:/ cond"); /*cond*/ if (/*_#IF___L6*/ curfnum[5]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1653:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1653:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1655:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1655:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1655:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1655:/ apply.arg"); argtab[2].bp_cstring = "cond.then"; /*_.OUTPUT_LOCATION__V17*/ curfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.CLOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_#I__L9*/ curfnum[6] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; MELT_LOCATION("warmelt-outobj.melt:1656:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1656:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1656:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1656:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L9*/ curfnum[6]; /*_.OUTPUT_C_CODE__V18*/ curfptr[17] = meltgc_send((melt_ptr_t)(/*_.CTHEN__V11*/ curfptr[10]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1657:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ";"));} ; { MELT_LOCATION("warmelt-outobj.melt:1658:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1654:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1653:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V17*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1653:/ clear"); /*clear*/ /*_#I__L9*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1653:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V18*/ curfptr[17] = 0 ;} ; } /*noelse*/ ; MELT_LOCATION("warmelt-outobj.melt:1661:/ cond"); /*cond*/ if (/*_.CELSE__V12*/ curfptr[11]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1661:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1661:/ block"); /*block*/{ /*_#IS_A__L11*/ curfnum[6] = melt_is_instance_of((melt_ptr_t)(/*_.CELSE__V12*/ curfptr[11]), (melt_ptr_t)((/*!CLASS_OBJPUREVALUE*/ curfrout->tabval[4])));; /*_#NOT__L12*/ curfnum[11] = (!(/*_#IS_A__L11*/ curfnum[6]));; /*_#IF___L10*/ curfnum[7] = /*_#NOT__L12*/ curfnum[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1661:/ clear"); /*clear*/ /*_#IS_A__L11*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1661:/ clear"); /*clear*/ /*_#NOT__L12*/ curfnum[11] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1661:/ cond.else"); /*_#IF___L10*/ curfnum[7] = 0;; } ; MELT_LOCATION("warmelt-outobj.melt:1661:/ cond"); /*cond*/ if (/*_#IF___L10*/ curfnum[7]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1661:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1661:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1663:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "} else {"));} ; MELT_LOCATION("warmelt-outobj.melt:1664:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1664:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1664:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1664:/ apply.arg"); argtab[2].bp_cstring = "cond.else"; /*_.OUTPUT_LOCATION__V19*/ curfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.CLOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; /*_#I__L13*/ curfnum[6] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1665:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L13*/ curfnum[6]), 0);} ; /*_#I__L14*/ curfnum[11] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; MELT_LOCATION("warmelt-outobj.melt:1666:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1666:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1666:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1666:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L14*/ curfnum[11]; /*_.OUTPUT_C_CODE__V20*/ curfptr[17] = meltgc_send((melt_ptr_t)(/*_.CELSE__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1667:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ";"));} ; /*_#I__L15*/ curfnum[14] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1668:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L15*/ curfnum[14]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1669:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "}"));} ; MELT_LOCATION("warmelt-outobj.melt:1662:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1661:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V19*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1661:/ clear"); /*clear*/ /*_#I__L13*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1661:/ clear"); /*clear*/ /*_#I__L14*/ curfnum[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1661:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V20*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1661:/ clear"); /*clear*/ /*_#I__L15*/ curfnum[14] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1661:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1661:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1671:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "} /*noelse*/"));} ; /*epilog*/} ; } ; { MELT_LOCATION("warmelt-outobj.melt:1673:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1642:/ clear"); /*clear*/ /*_.CLOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1642:/ clear"); /*clear*/ /*_.CTEST__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1642:/ clear"); /*clear*/ /*_.CTHEN__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1642:/ clear"); /*clear*/ /*_.CELSE__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1642:/ clear"); /*clear*/ /*_.IFCPP___V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1642:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V15*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1642:/ clear"); /*clear*/ /*_#I__L5*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1642:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1642:/ clear"); /*clear*/ /*_#IF___L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1642:/ clear"); /*clear*/ /*_#IF___L10*/ curfnum[7] = 0 ;} ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1675:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1675:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L16*/ curfnum[6] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1675:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1675:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objcond end ocond"; MELT_LOCATION("warmelt-outobj.melt:1675:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L16*/ curfnum[6]; MELT_LOCATION("warmelt-outobj.melt:1675:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1675:/ apply.arg"); argtab[3].bp_long = 1675; /*_.DEBUG_MSG_FUN__V22*/ curfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OCOND__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V21*/ curfptr[16] = /*_.DEBUG_MSG_FUN__V22*/ curfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1675:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L16*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1675:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V22*/ curfptr[17] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1675:/ cppif.else"); /*_.IFCPP___V21*/ curfptr[16] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1639:/ block"); /*block*/{ /*_.RETVAL___V1*/ curfptr[0] = /*_.IFCPP___V21*/ curfptr[16];; MELT_LOCATION("warmelt-outobj.melt:1639:/ finalreturn"); ; /*finalret*/ goto labend_rout ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1639:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1639:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1639:/ clear"); /*clear*/ /*_.IFCPP___V21*/ curfptr[16] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCOND", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*_.RETVAL___V1*/ curfptr[0]); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_67_warmelt_outobj_OUTPUCOD_OBJCOND*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_68_warmelt_outobj_OUTPUCOD_OBJCPPIF_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 19 void* varptr[19]; #define CURFRAM_NBVARNUM 5 long varnum[5]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<19; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 19; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJCPPIF", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1681:/ getarg"); /*_.OPIF__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1681:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1681:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1681:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1681:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1682:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1682:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OPIF__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCPPIF*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1682:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1682:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1682:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1682:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1682:/ locexp"); melt_assert_failed(( "check opif"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1682)?(1682):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1682:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1682:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1682:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1683:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1683:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1683:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1683:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objcppif opif"; MELT_LOCATION("warmelt-outobj.melt:1683:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1683:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1683:/ apply.arg"); argtab[3].bp_long = 1683; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OPIF__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1683:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1683:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1683:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1684:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1684:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OPIF__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.CLOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1685:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OPIF__V2*/ curfptr[1]), 1, "OBIFP_COND");/*_.CCOND__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1686:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OPIF__V2*/ curfptr[1]), 2, "OBIFP_THEN");/*_.CTHEN__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1687:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OPIF__V2*/ curfptr[1]), 3, "OBIFP_ELSE");/*_.CELSE__V12*/ curfptr[11] = slot; }; ; /*_#DEPTHP1__L4*/ curfnum[1] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1690:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1690:/ block"); /*block*/{ /*_#IS_STRING__L5*/ curfnum[4] = (melt_magic_discr((melt_ptr_t)(/*_.CCOND__V10*/ curfptr[9])) == OBMAG_STRING);; MELT_LOCATION("warmelt-outobj.melt:1690:/ cond"); /*cond*/ if (/*_#IS_STRING__L5*/ curfnum[4]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1690:/ cond.then"); /*_.IFELSE___V14*/ curfptr[13] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1690:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1690:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1690:/ locexp"); melt_assert_failed(( "check ccond"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1690)?(1690):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V13*/ curfptr[12] = /*_.IFELSE___V14*/ curfptr[13];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1690:/ clear"); /*clear*/ /*_#IS_STRING__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1690:/ clear"); /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1690:/ cppif.else"); /*_.IFCPP___V13*/ curfptr[12] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1691:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1691:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1691:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1691:/ apply.arg"); argtab[2].bp_cstring = "cppif"; /*_.OUTPUT_RAW_LOCATION__V15*/ curfptr[13] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_RAW_LOCATION*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.CLOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1692:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "#if "));} ; { MELT_LOCATION("warmelt-outobj.melt:1693:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.CCOND__V10*/ curfptr[9])));} ; { MELT_LOCATION("warmelt-outobj.melt:1694:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTHP1__L4*/ curfnum[1]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1695:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1695:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1695:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1695:/ apply.arg"); argtab[2].bp_cstring = "cppif.then"; /*_.OUTPUT_LOCATION__V16*/ curfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[3])), (melt_ptr_t)(/*_.CLOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1696:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1696:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1696:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1696:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTHP1__L4*/ curfnum[1]; /*_.OUTPUT_C_CODE__V17*/ curfptr[16] = meltgc_send((melt_ptr_t)(/*_.CTHEN__V11*/ curfptr[10]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[4])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1697:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTHP1__L4*/ curfnum[1]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1698:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "#else /*"));} ; { MELT_LOCATION("warmelt-outobj.melt:1699:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.CCOND__V10*/ curfptr[9])));} ; { MELT_LOCATION("warmelt-outobj.melt:1700:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1701:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTHP1__L4*/ curfnum[1]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1702:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1702:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1702:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1702:/ apply.arg"); argtab[2].bp_cstring = "cppif.else"; /*_.OUTPUT_LOCATION__V18*/ curfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[3])), (melt_ptr_t)(/*_.CLOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1703:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1703:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1703:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1703:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTHP1__L4*/ curfnum[1]; /*_.OUTPUT_C_CODE__V19*/ curfptr[18] = meltgc_send((melt_ptr_t)(/*_.CELSE__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[4])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1704:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTHP1__L4*/ curfnum[1]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1705:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "#endif /*"));} ; { MELT_LOCATION("warmelt-outobj.melt:1706:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.CCOND__V10*/ curfptr[9])));} ; { MELT_LOCATION("warmelt-outobj.melt:1707:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1708:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTHP1__L4*/ curfnum[1]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1684:/ clear"); /*clear*/ /*_.CLOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1684:/ clear"); /*clear*/ /*_.CCOND__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1684:/ clear"); /*clear*/ /*_.CTHEN__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1684:/ clear"); /*clear*/ /*_.CELSE__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1684:/ clear"); /*clear*/ /*_#DEPTHP1__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1684:/ clear"); /*clear*/ /*_.IFCPP___V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1684:/ clear"); /*clear*/ /*_.OUTPUT_RAW_LOCATION__V15*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1684:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1684:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V17*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1684:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V18*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1684:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V19*/ curfptr[18] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1681:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1681:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCPPIF", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_68_warmelt_outobj_OUTPUCOD_OBJCPPIF*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_69_warmelt_outobj_OUTPUCOD_OBJINTERNSYMBOL_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 21 void* varptr[21]; #define CURFRAM_NBVARNUM 5 long varnum[5]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<21; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 21; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJINTERNSYMBOL", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1713:/ getarg"); /*_.OISY__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1713:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1713:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1713:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1713:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1714:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1714:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OISY__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJINTERNSYMBOL*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1714:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1714:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1714:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1714:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1714:/ locexp"); melt_assert_failed(( "check oisy"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1714)?(1714):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1714:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1714:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1714:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1715:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1715:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1715:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1715:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objinternsymbol oisy"; MELT_LOCATION("warmelt-outobj.melt:1715:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1715:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1715:/ apply.arg"); argtab[3].bp_long = 1715; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OISY__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1715:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1715:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1715:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1716:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1716:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OISY__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.CLOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1717:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OISY__V2*/ curfptr[1]), 1, "OBINTERN_IOBJ");/*_.OIOBJ__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1718:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIOBJ__V10*/ curfptr[9]), 2, "OIE_DATA");/*_.OIDAT__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1719:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIOBJ__V10*/ curfptr[9]), 4, "OIE_LOCVAR");/*_.OILOCV__V12*/ curfptr[11] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1721:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1721:/ block"); /*block*/{ /*_#IS_A__L4*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OIOBJ__V10*/ curfptr[9]), (melt_ptr_t)((/*!CLASS_OBJINITOBJECT*/ curfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:1721:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1721:/ cond.then"); /*_.IFELSE___V14*/ curfptr[13] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1721:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1721:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1721:/ locexp"); melt_assert_failed(( "check oiobj"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1721)?(1721):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V13*/ curfptr[12] = /*_.IFELSE___V14*/ curfptr[13];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1721:/ clear"); /*clear*/ /*_#IS_A__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1721:/ clear"); /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1721:/ cppif.else"); /*_.IFCPP___V13*/ curfptr[12] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1722:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1722:/ block"); /*block*/{ /*_#IS_A__L5*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OIDAT__V11*/ curfptr[10]), (melt_ptr_t)((/*!CLASS_NREP_DATASYMBOL*/ curfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:1722:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1722:/ cond.then"); /*_.IFELSE___V16*/ curfptr[15] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1722:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1722:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1722:/ locexp"); melt_assert_failed(( "check oidat"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1722)?(1722):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V15*/ curfptr[13] = /*_.IFELSE___V16*/ curfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1722:/ clear"); /*clear*/ /*_#IS_A__L5*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1722:/ clear"); /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1722:/ cppif.else"); /*_.IFCPP___V15*/ curfptr[13] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1723:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1723:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIDAT__V11*/ curfptr[10]), 9, "NDSY_NAMESTR");/*_.NSY__V17*/ curfptr[15] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1724:/ cond"); /*cond*/ if (/*_.CLOC__V9*/ curfptr[7]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1724:/ cond.then"); /*_.IFELSE___V18*/ curfptr[17] = /*_.CLOC__V9*/ curfptr[7];; } else {MELT_LOCATION("warmelt-outobj.melt:1724:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1724:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1724:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIDAT__V11*/ curfptr[10]), 0, "NREP_LOC");/*_.NREP_LOC__V19*/ curfptr[18] = slot; }; ; /*_.IFELSE___V18*/ curfptr[17] = /*_.NREP_LOC__V19*/ curfptr[18];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1724:/ clear"); /*clear*/ /*_.NREP_LOC__V19*/ curfptr[18] = 0 ;} ; } ; MELT_LOCATION("warmelt-outobj.melt:1724:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1724:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1724:/ apply.arg"); argtab[1].bp_long = 1; MELT_LOCATION("warmelt-outobj.melt:1724:/ apply.arg"); argtab[2].bp_cstring = "internsymbol"; /*_.OUTPUT_LOCATION__V20*/ curfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.IFELSE___V18*/ curfptr[17]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1725:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*internsym:"));} ; { MELT_LOCATION("warmelt-outobj.melt:1726:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NSY__V17*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1727:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1728:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1729:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "(void) meltgc_intern_symbol((melt_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:1730:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1730:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1730:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1730:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V21*/ curfptr[20] = meltgc_send((melt_ptr_t)(/*_.OILOCV__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1731:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "));"));} ; { MELT_LOCATION("warmelt-outobj.melt:1732:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1723:/ clear"); /*clear*/ /*_.NSY__V17*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1723:/ clear"); /*clear*/ /*_.IFELSE___V18*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1723:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V20*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1723:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V21*/ curfptr[20] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1716:/ clear"); /*clear*/ /*_.CLOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1716:/ clear"); /*clear*/ /*_.OIOBJ__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1716:/ clear"); /*clear*/ /*_.OIDAT__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1716:/ clear"); /*clear*/ /*_.OILOCV__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1716:/ clear"); /*clear*/ /*_.IFCPP___V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1716:/ clear"); /*clear*/ /*_.IFCPP___V15*/ curfptr[13] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1713:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1713:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJINTERNSYMBOL", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_69_warmelt_outobj_OUTPUCOD_OBJINTERNSYMBOL*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_70_warmelt_outobj_OUTPUCOD_OBJINTERNKEYWORD_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 19 void* varptr[19]; #define CURFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<19; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 19; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJINTERNKEYWORD", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1737:/ getarg"); /*_.OIKW__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1737:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1737:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1737:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1737:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1738:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1738:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OIKW__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJINTERNKEYWORD*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1738:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1738:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1738:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1738:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1738:/ locexp"); melt_assert_failed(( "check oikw"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1738)?(1738):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1738:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1738:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1738:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1739:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1739:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1739:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1739:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objinternkeyword oikw"; MELT_LOCATION("warmelt-outobj.melt:1739:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1739:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1739:/ apply.arg"); argtab[3].bp_long = 1739; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OIKW__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1739:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1739:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1739:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1740:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1740:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIKW__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.CLOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1741:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIKW__V2*/ curfptr[1]), 1, "OBINTERN_IOBJ");/*_.OIOBJ__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1742:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIOBJ__V10*/ curfptr[9]), 2, "OIE_DATA");/*_.OIDAT__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1743:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIOBJ__V10*/ curfptr[9]), 4, "OIE_LOCVAR");/*_.OILOCV__V12*/ curfptr[11] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1745:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1745:/ block"); /*block*/{ /*_#IS_A__L4*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OIDAT__V11*/ curfptr[10]), (melt_ptr_t)((/*!CLASS_NREP_DATAKEYWORD*/ curfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:1745:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1745:/ cond.then"); /*_.IFELSE___V14*/ curfptr[13] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1745:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1745:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1745:/ locexp"); melt_assert_failed(( "check oidat"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1745)?(1745):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V13*/ curfptr[12] = /*_.IFELSE___V14*/ curfptr[13];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1745:/ clear"); /*clear*/ /*_#IS_A__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1745:/ clear"); /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1745:/ cppif.else"); /*_.IFCPP___V13*/ curfptr[12] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1746:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1746:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIDAT__V11*/ curfptr[10]), 9, "NDSY_NAMESTR");/*_.NSY__V15*/ curfptr[13] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1747:/ cond"); /*cond*/ if (/*_.CLOC__V9*/ curfptr[7]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1747:/ cond.then"); /*_.IFELSE___V16*/ curfptr[15] = /*_.CLOC__V9*/ curfptr[7];; } else {MELT_LOCATION("warmelt-outobj.melt:1747:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1747:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1747:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIDAT__V11*/ curfptr[10]), 0, "NREP_LOC");/*_.NREP_LOC__V17*/ curfptr[16] = slot; }; ; /*_.IFELSE___V16*/ curfptr[15] = /*_.NREP_LOC__V17*/ curfptr[16];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1747:/ clear"); /*clear*/ /*_.NREP_LOC__V17*/ curfptr[16] = 0 ;} ; } ; MELT_LOCATION("warmelt-outobj.melt:1747:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1747:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1747:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1747:/ apply.arg"); argtab[2].bp_cstring = "internkeyword"; /*_.OUTPUT_LOCATION__V18*/ curfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[3])), (melt_ptr_t)(/*_.IFELSE___V16*/ curfptr[15]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1748:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*internkeyw:"));} ; { MELT_LOCATION("warmelt-outobj.melt:1749:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NSY__V15*/ curfptr[13])));} ; { MELT_LOCATION("warmelt-outobj.melt:1750:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1751:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1752:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "(void) meltgc_intern_keyword((melt_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:1753:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1753:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1753:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1753:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V19*/ curfptr[18] = meltgc_send((melt_ptr_t)(/*_.OILOCV__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[4])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1754:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "));"));} ; { MELT_LOCATION("warmelt-outobj.melt:1755:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1746:/ clear"); /*clear*/ /*_.NSY__V15*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1746:/ clear"); /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1746:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V18*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1746:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V19*/ curfptr[18] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1740:/ clear"); /*clear*/ /*_.CLOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1740:/ clear"); /*clear*/ /*_.OIOBJ__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1740:/ clear"); /*clear*/ /*_.OIDAT__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1740:/ clear"); /*clear*/ /*_.OILOCV__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1740:/ clear"); /*clear*/ /*_.IFCPP___V13*/ curfptr[12] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1737:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1737:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJINTERNKEYWORD", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_70_warmelt_outobj_OUTPUCOD_OBJINTERNKEYWORD*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_71_warmelt_outobj_OUTPUCOD_OBJGETNAMEDSYMBOL_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 22 void* varptr[22]; #define CURFRAM_NBVARNUM 9 long varnum[9]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<22; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 22; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJGETNAMEDSYMBOL", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1760:/ getarg"); /*_.OGSY__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1760:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1760:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1760:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1760:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1761:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1761:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OGSY__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJGETNAMEDSYMBOL*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1761:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1761:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1761:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1761:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1761:/ locexp"); melt_assert_failed(( "check ogsy"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1761)?(1761):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1761:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1761:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1761:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1762:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1762:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1762:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1762:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objgetnamedsymbol ogsy"; MELT_LOCATION("warmelt-outobj.melt:1762:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1762:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1762:/ apply.arg"); argtab[3].bp_long = 1762; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OGSY__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1762:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1762:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1762:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1763:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1763:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OGSY__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.CLOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1764:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OGSY__V2*/ curfptr[1]), 1, "OBGNAMED_IOBJ");/*_.OIOBJ__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1765:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIOBJ__V10*/ curfptr[9]), 2, "OIE_DATA");/*_.OGDAT__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1766:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIOBJ__V10*/ curfptr[9]), 4, "OIE_LOCVAR");/*_.OILOCV__V12*/ curfptr[11] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1768:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1768:/ block"); /*block*/{ /*_#IS_A__L4*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OIOBJ__V10*/ curfptr[9]), (melt_ptr_t)((/*!CLASS_OBJINITOBJECT*/ curfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:1768:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1768:/ cond.then"); /*_.IFELSE___V14*/ curfptr[13] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1768:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1768:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1768:/ locexp"); melt_assert_failed(( "check oiobj"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1768)?(1768):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V13*/ curfptr[12] = /*_.IFELSE___V14*/ curfptr[13];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1768:/ clear"); /*clear*/ /*_#IS_A__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1768:/ clear"); /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1768:/ cppif.else"); /*_.IFCPP___V13*/ curfptr[12] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1769:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1769:/ block"); /*block*/{ /*_#IS_A__L5*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OGDAT__V11*/ curfptr[10]), (melt_ptr_t)((/*!CLASS_NREP_DATASYMBOL*/ curfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:1769:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1769:/ cond.then"); /*_.IFELSE___V16*/ curfptr[15] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1769:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1769:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1769:/ locexp"); melt_assert_failed(( "check ogdat"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1769)?(1769):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V15*/ curfptr[13] = /*_.IFELSE___V16*/ curfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1769:/ clear"); /*clear*/ /*_#IS_A__L5*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1769:/ clear"); /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1769:/ cppif.else"); /*_.IFCPP___V15*/ curfptr[13] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1770:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1770:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OGDAT__V11*/ curfptr[10]), 9, "NDSY_NAMESTR");/*_.NSY__V17*/ curfptr[15] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1772:/ cond"); /*cond*/ if (/*_.CLOC__V9*/ curfptr[7]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1772:/ cond.then"); /*_.IFELSE___V18*/ curfptr[17] = /*_.CLOC__V9*/ curfptr[7];; } else {MELT_LOCATION("warmelt-outobj.melt:1772:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1772:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1772:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OGDAT__V11*/ curfptr[10]), 0, "NREP_LOC");/*_.NREP_LOC__V19*/ curfptr[18] = slot; }; ; /*_.IFELSE___V18*/ curfptr[17] = /*_.NREP_LOC__V19*/ curfptr[18];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1772:/ clear"); /*clear*/ /*_.NREP_LOC__V19*/ curfptr[18] = 0 ;} ; } ; MELT_LOCATION("warmelt-outobj.melt:1772:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1772:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1772:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1772:/ apply.arg"); argtab[2].bp_cstring = "getnamedsymbol"; /*_.OUTPUT_LOCATION__V20*/ curfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.IFELSE___V18*/ curfptr[17]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1773:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*getnamedsym:"));} ; { MELT_LOCATION("warmelt-outobj.melt:1774:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NSY__V17*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1775:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1776:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1777:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "if (MELT_PREDEF(INITIAL_SYSTEM_DATA)) { melt_ptr_t sy_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1778:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NSY__V17*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1779:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " = meltgc_named_symbol(\""));} ; { MELT_LOCATION("warmelt-outobj.melt:1780:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NSY__V17*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1781:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "\", MELT_GET);"));} ; /*_#I__L6*/ curfnum[1] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1782:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L6*/ curfnum[1]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1783:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "if (sy_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1784:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NSY__V17*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1785:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " && NULL == "));} ; /*_#I__L7*/ curfnum[6] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; MELT_LOCATION("warmelt-outobj.melt:1786:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1786:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1786:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1786:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L7*/ curfnum[6]; /*_.OUTPUT_C_CODE__V21*/ curfptr[20] = meltgc_send((melt_ptr_t)(/*_.OILOCV__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1787:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ")"));} ; /*_#I__L8*/ curfnum[7] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1788:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L8*/ curfnum[7]), 0);} ; /*_#I__L9*/ curfnum[8] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; MELT_LOCATION("warmelt-outobj.melt:1789:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1789:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1789:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1789:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L9*/ curfnum[8]; /*_.OUTPUT_C_CODE__V22*/ curfptr[21] = meltgc_send((melt_ptr_t)(/*_.OILOCV__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1790:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " = (void*) sy_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1791:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NSY__V17*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1792:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "; }"));} ; { MELT_LOCATION("warmelt-outobj.melt:1793:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1770:/ clear"); /*clear*/ /*_.NSY__V17*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1770:/ clear"); /*clear*/ /*_.IFELSE___V18*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1770:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V20*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1770:/ clear"); /*clear*/ /*_#I__L6*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1770:/ clear"); /*clear*/ /*_#I__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1770:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V21*/ curfptr[20] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1770:/ clear"); /*clear*/ /*_#I__L8*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1770:/ clear"); /*clear*/ /*_#I__L9*/ curfnum[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1770:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V22*/ curfptr[21] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1763:/ clear"); /*clear*/ /*_.CLOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1763:/ clear"); /*clear*/ /*_.OIOBJ__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1763:/ clear"); /*clear*/ /*_.OGDAT__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1763:/ clear"); /*clear*/ /*_.OILOCV__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1763:/ clear"); /*clear*/ /*_.IFCPP___V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1763:/ clear"); /*clear*/ /*_.IFCPP___V15*/ curfptr[13] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1760:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1760:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJGETNAMEDSYMBOL", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_71_warmelt_outobj_OUTPUCOD_OBJGETNAMEDSYMBOL*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_72_warmelt_outobj_OUTPUCOD_OBJGETNAMEDKEYWORD_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 21 void* varptr[21]; #define CURFRAM_NBVARNUM 7 long varnum[7]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<21; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 21; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJGETNAMEDKEYWORD", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1798:/ getarg"); /*_.OGKW__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1798:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1798:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1798:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1798:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1799:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1799:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OGKW__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJGETNAMEDKEYWORD*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1799:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1799:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1799:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1799:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1799:/ locexp"); melt_assert_failed(( "check ogkw"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1799)?(1799):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1799:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1799:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1799:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1800:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1800:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1800:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1800:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objgetnamedkeyword ogkw"; MELT_LOCATION("warmelt-outobj.melt:1800:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1800:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1800:/ apply.arg"); argtab[3].bp_long = 1800; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OGKW__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1800:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1800:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1800:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1801:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1801:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OGKW__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.CLOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1802:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OGKW__V2*/ curfptr[1]), 1, "OBGNAMED_IOBJ");/*_.OIOBJ__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1803:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIOBJ__V10*/ curfptr[9]), 2, "OIE_DATA");/*_.OGDAT__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1804:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OIOBJ__V10*/ curfptr[9]), 4, "OIE_LOCVAR");/*_.OILOCV__V12*/ curfptr[11] = slot; }; ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1806:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1806:/ block"); /*block*/{ /*_#IS_A__L4*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OIOBJ__V10*/ curfptr[9]), (melt_ptr_t)((/*!CLASS_OBJINITOBJECT*/ curfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:1806:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1806:/ cond.then"); /*_.IFELSE___V14*/ curfptr[13] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1806:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1806:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1806:/ locexp"); melt_assert_failed(( "check oiobj"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1806)?(1806):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V13*/ curfptr[12] = /*_.IFELSE___V14*/ curfptr[13];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1806:/ clear"); /*clear*/ /*_#IS_A__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1806:/ clear"); /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1806:/ cppif.else"); /*_.IFCPP___V13*/ curfptr[12] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1807:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1807:/ block"); /*block*/{ /*_#IS_A__L5*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OGDAT__V11*/ curfptr[10]), (melt_ptr_t)((/*!CLASS_NREP_DATAKEYWORD*/ curfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:1807:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1807:/ cond.then"); /*_.IFELSE___V16*/ curfptr[15] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1807:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1807:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1807:/ locexp"); melt_assert_failed(( "check ogdat"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1807)?(1807):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V15*/ curfptr[13] = /*_.IFELSE___V16*/ curfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1807:/ clear"); /*clear*/ /*_#IS_A__L5*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1807:/ clear"); /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1807:/ cppif.else"); /*_.IFCPP___V15*/ curfptr[13] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1808:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1808:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OGDAT__V11*/ curfptr[10]), 9, "NDSY_NAMESTR");/*_.NKW__V17*/ curfptr[15] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1809:/ cond"); /*cond*/ if (/*_.CLOC__V9*/ curfptr[7]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1809:/ cond.then"); /*_.IFELSE___V18*/ curfptr[17] = /*_.CLOC__V9*/ curfptr[7];; } else {MELT_LOCATION("warmelt-outobj.melt:1809:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1809:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1809:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OGDAT__V11*/ curfptr[10]), 0, "NREP_LOC");/*_.NREP_LOC__V19*/ curfptr[18] = slot; }; ; /*_.IFELSE___V18*/ curfptr[17] = /*_.NREP_LOC__V19*/ curfptr[18];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1809:/ clear"); /*clear*/ /*_.NREP_LOC__V19*/ curfptr[18] = 0 ;} ; } ; MELT_LOCATION("warmelt-outobj.melt:1809:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1809:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1809:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1809:/ apply.arg"); argtab[2].bp_cstring = "getnamedkeyword"; /*_.OUTPUT_LOCATION__V20*/ curfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.IFELSE___V18*/ curfptr[17]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1810:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*getnamedkeyw:"));} ; { MELT_LOCATION("warmelt-outobj.melt:1811:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NKW__V17*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1812:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:1813:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1814:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "if (MELT_PREDEF(INITIAL_SYSTEM_DATA)) { melt_ptr_t kw_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1815:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NKW__V17*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1816:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " = meltgc_named_keyword(\""));} ; { MELT_LOCATION("warmelt-outobj.melt:1817:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NKW__V17*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1818:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "\", MELT_GET);"));} ; /*_#I__L6*/ curfnum[1] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:1819:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L6*/ curfnum[1]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1820:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "if (kw_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1821:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NKW__V17*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1822:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ") "));} ; /*_#I__L7*/ curfnum[6] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; MELT_LOCATION("warmelt-outobj.melt:1823:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1823:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1823:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1823:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L7*/ curfnum[6]; /*_.OUTPUT_C_CODE__V21*/ curfptr[20] = meltgc_send((melt_ptr_t)(/*_.OILOCV__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1824:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " = (void*) kw_"));} ; { MELT_LOCATION("warmelt-outobj.melt:1825:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.NKW__V17*/ curfptr[15])));} ; { MELT_LOCATION("warmelt-outobj.melt:1826:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "; }"));} ; { MELT_LOCATION("warmelt-outobj.melt:1827:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1808:/ clear"); /*clear*/ /*_.NKW__V17*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1808:/ clear"); /*clear*/ /*_.IFELSE___V18*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1808:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V20*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1808:/ clear"); /*clear*/ /*_#I__L6*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1808:/ clear"); /*clear*/ /*_#I__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1808:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V21*/ curfptr[20] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1801:/ clear"); /*clear*/ /*_.CLOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1801:/ clear"); /*clear*/ /*_.OIOBJ__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1801:/ clear"); /*clear*/ /*_.OGDAT__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1801:/ clear"); /*clear*/ /*_.OILOCV__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1801:/ clear"); /*clear*/ /*_.IFCPP___V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1801:/ clear"); /*clear*/ /*_.IFCPP___V15*/ curfptr[13] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1798:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1798:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJGETNAMEDKEYWORD", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_72_warmelt_outobj_OUTPUCOD_OBJGETNAMEDKEYWORD*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_73_warmelt_outobj_OUTPUCOD_OBJAPPLY_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 30 void* varptr[30]; #define CURFRAM_NBVARNUM 14 long varnum[14]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<30; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 30; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJAPPLY", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1833:/ getarg"); /*_.OAPP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1833:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1833:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1833:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1833:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1834:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1834:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJAPPLY*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:1834:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1834:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1834:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1834:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1834:/ locexp"); melt_assert_failed(( "check oapp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1834)?(1834):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1834:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1834:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1834:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1835:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1835:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1835:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1835:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objapply oapp"; MELT_LOCATION("warmelt-outobj.melt:1835:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1835:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1835:/ apply.arg"); argtab[3].bp_long = 1835; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1835:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1835:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1835:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1836:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1837:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.ALOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1838:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), 1, "OBDI_DESTLIST");/*_.ADEST__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1839:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), 2, "OBAPP_CLOS");/*_.OCLOS__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1840:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), 3, "OBAPP_ARGS");/*_.OARGS__V12*/ curfptr[11] = slot; }; ; /*_#NBARG__L4*/ curfnum[1] = (melt_multiple_length((melt_ptr_t)(/*_.OARGS__V12*/ curfptr[11])));; /*_.PARAMDESCLIST__V13*/ curfptr[12] = (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[2]))));; /*_#I__L5*/ curfnum[4] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; /*_.BOXDEPTHP1__V14*/ curfptr[13] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[3])), (/*_#I__L5*/ curfnum[4])));; MELT_LOCATION("warmelt-outobj.melt:1845:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1845:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1845:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1845:/ apply.arg"); argtab[2].bp_cstring = "apply"; /*_.OUTPUT_LOCATION__V15*/ curfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.ALOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1846:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*apply*/{"));} ; /*_#I__L6*/ curfnum[5] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:1847:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L6*/ curfnum[5]), 0);} ; /*_#I__L7*/ curfnum[6] = ((/*_#NBARG__L4*/ curfnum[1]) > (1));; MELT_LOCATION("warmelt-outobj.melt:1848:/ cond"); /*cond*/ if (/*_#I__L7*/ curfnum[6]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1848:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1848:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1850:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "union meltparam_un argtab["));} ; /*_#I__L8*/ curfnum[7] = ((/*_#NBARG__L4*/ curfnum[1]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:1851:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L8*/ curfnum[7]));} ; { MELT_LOCATION("warmelt-outobj.melt:1852:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "];"));} ; /*_#I__L9*/ curfnum[8] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:1853:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L9*/ curfnum[8]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1854:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "memset(&argtab, 0, sizeof(argtab));"));} ; /*_#I__L10*/ curfnum[9] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:1855:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L10*/ curfnum[9]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:1859:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1859:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V18*/ curfptr[17] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_14*/ curfrout->tabval[14])), (5)); ; MELT_LOCATION("warmelt-outobj.melt:1859:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V18*/ curfptr[17])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V18*/ curfptr[17]))); ((meltclosure_ptr_t)/*_.LAMBDA___V18*/ curfptr[17])->tabval[0] = (melt_ptr_t)(/*_.ALOC__V9*/ curfptr[7]); ; MELT_LOCATION("warmelt-outobj.melt:1859:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V18*/ curfptr[17])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V18*/ curfptr[17]))); ((meltclosure_ptr_t)/*_.LAMBDA___V18*/ curfptr[17])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:1859:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V18*/ curfptr[17])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V18*/ curfptr[17]))); ((meltclosure_ptr_t)/*_.LAMBDA___V18*/ curfptr[17])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V14*/ curfptr[13]); ; MELT_LOCATION("warmelt-outobj.melt:1859:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V18*/ curfptr[17])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 3>= 0 && 3< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V18*/ curfptr[17]))); ((meltclosure_ptr_t)/*_.LAMBDA___V18*/ curfptr[17])->tabval[3] = (melt_ptr_t)(/*_.PARAMDESCLIST__V13*/ curfptr[12]); ; MELT_LOCATION("warmelt-outobj.melt:1859:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V18*/ curfptr[17])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 4>= 0 && 4< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V18*/ curfptr[17]))); ((meltclosure_ptr_t)/*_.LAMBDA___V18*/ curfptr[17])->tabval[4] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; /*_.LAMBDA___V17*/ curfptr[16] = /*_.LAMBDA___V18*/ curfptr[17];;} ; MELT_LOCATION("warmelt-outobj.melt:1857:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1857:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V17*/ curfptr[16]; /*_.MULTIPLE_EVERY__V19*/ curfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.OARGS__V12*/ curfptr[11]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1849:/ block"); /*block*/{ /*_.PROGN___V20*/ curfptr[19] = /*_.MULTIPLE_EVERY__V19*/ curfptr[18];;} ; /*_.IF___V16*/ curfptr[15] = /*_.PROGN___V20*/ curfptr[19];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1848:/ clear"); /*clear*/ /*_#I__L8*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1848:/ clear"); /*clear*/ /*_#I__L9*/ curfnum[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1848:/ clear"); /*clear*/ /*_#I__L10*/ curfnum[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1848:/ clear"); /*clear*/ /*_.LAMBDA___V17*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1848:/ clear"); /*clear*/ /*_.MULTIPLE_EVERY__V19*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1848:/ clear"); /*clear*/ /*_.PROGN___V20*/ curfptr[19] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1848:/ cond.else"); /*_.IF___V16*/ curfptr[15] = NULL;; } ; MELT_LOCATION("warmelt-outobj.melt:1891:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1891:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V22*/ curfptr[18] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_17*/ curfrout->tabval[17])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:1891:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V22*/ curfptr[18])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V22*/ curfptr[18]))); ((meltclosure_ptr_t)/*_.LAMBDA___V22*/ curfptr[18])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:1891:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V22*/ curfptr[18])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V22*/ curfptr[18]))); ((meltclosure_ptr_t)/*_.LAMBDA___V22*/ curfptr[18])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:1891:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V22*/ curfptr[18])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V22*/ curfptr[18]))); ((meltclosure_ptr_t)/*_.LAMBDA___V22*/ curfptr[18])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V14*/ curfptr[13]); ; /*_.LAMBDA___V21*/ curfptr[16] = /*_.LAMBDA___V22*/ curfptr[18];;} ; MELT_LOCATION("warmelt-outobj.melt:1889:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1889:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V21*/ curfptr[16]; /*_.LIST_EVERY__V23*/ curfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[15])), (melt_ptr_t)(/*_.ADEST__V10*/ curfptr[9]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1895:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " melt_apply ((meltclosure_ptr_t)("));} ; /*_#I__L11*/ curfnum[7] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; MELT_LOCATION("warmelt-outobj.melt:1896:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1896:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1896:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1896:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L11*/ curfnum[7]; /*_.OUTPUT_C_CODE__V24*/ curfptr[23] = meltgc_send((melt_ptr_t)(/*_.OCLOS__V11*/ curfptr[10]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[18])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1897:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "), (melt_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:1899:/ block"); /*block*/{ /*_.FIRSTARG__V26*/ curfptr[25] = (melt_multiple_nth((melt_ptr_t)(/*_.OARGS__V12*/ curfptr[11]), (0)));; /*_#I__L12*/ curfnum[8] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; MELT_LOCATION("warmelt-outobj.melt:1900:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1900:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1900:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1900:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L12*/ curfnum[8]; /*_.OUTPUT_C_CODE__V27*/ curfptr[26] = meltgc_send((melt_ptr_t)(/*_.FIRSTARG__V26*/ curfptr[25]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[18])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.LET___V25*/ curfptr[24] = /*_.OUTPUT_C_CODE__V27*/ curfptr[26];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1899:/ clear"); /*clear*/ /*_.FIRSTARG__V26*/ curfptr[25] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1899:/ clear"); /*clear*/ /*_#I__L12*/ curfnum[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1899:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V27*/ curfptr[26] = 0 ;} ; { MELT_LOCATION("warmelt-outobj.melt:1902:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "), ("));} ; MELT_LOCATION("warmelt-outobj.melt:1906:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1906:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V29*/ curfptr[26] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_19*/ curfrout->tabval[19])), (1)); ; MELT_LOCATION("warmelt-outobj.melt:1906:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ curfptr[26])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ curfptr[26]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ curfptr[26])->tabval[0] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; /*_.LAMBDA___V28*/ curfptr[25] = /*_.LAMBDA___V29*/ curfptr[26];;} ; MELT_LOCATION("warmelt-outobj.melt:1904:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1904:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V28*/ curfptr[25]; /*_.LIST_EVERY__V30*/ curfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[15])), (melt_ptr_t)(/*_.PARAMDESCLIST__V13*/ curfptr[12]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1909:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "\"\"), "));} ; /*_#I__L13*/ curfnum[9] = ((/*_#NBARG__L4*/ curfnum[1]) > (1));; MELT_LOCATION("warmelt-outobj.melt:1911:/ cond"); /*cond*/ if (/*_#I__L13*/ curfnum[9]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1911:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1911:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1912:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "argtab,"));} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:1911:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1911:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1913:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "(union meltparam_un*)0,"));} ; /*epilog*/} ; } ; { MELT_LOCATION("warmelt-outobj.melt:1915:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " \"\", (union meltparam_un*)0"));} ; { MELT_LOCATION("warmelt-outobj.melt:1916:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ");"));} ; /*_#I__L14*/ curfnum[8] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:1917:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L14*/ curfnum[8]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1918:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "}"));} ; { MELT_LOCATION("warmelt-outobj.melt:1919:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.ALOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.ADEST__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.OCLOS__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.OARGS__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_#NBARG__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.PARAMDESCLIST__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_#I__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.BOXDEPTHP1__V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V15*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_#I__L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_#I__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.IF___V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.LAMBDA___V21*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.LIST_EVERY__V23*/ curfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_#I__L11*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V24*/ curfptr[23] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.LET___V25*/ curfptr[24] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.LAMBDA___V28*/ curfptr[25] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_.LIST_EVERY__V30*/ curfptr[29] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_#I__L13*/ curfnum[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1836:/ clear"); /*clear*/ /*_#I__L14*/ curfnum[8] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1833:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1833:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJAPPLY", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_73_warmelt_outobj_OUTPUCOD_OBJAPPLY*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_74_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 CURFRAM_NBVARPTR 21 void* varptr[21]; #define CURFRAM_NBVARNUM 15 long varnum[15]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<21; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 21; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1859:/ getarg"); /*_.CURARG__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1859:/ getarg"); if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#CURANK__L1*/ curfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1859:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1860:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1860:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1860:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1860:/ apply.arg"); argtab[0].bp_cstring = "outputcod_objapply curarg"; MELT_LOCATION("warmelt-outobj.melt:1860:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L2*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1860:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1860:/ apply.arg"); argtab[3].bp_long = 1860; /*_.DEBUG_MSG_FUN__V4*/ curfptr[3] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V3*/ curfptr[2] = /*_.DEBUG_MSG_FUN__V4*/ curfptr[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1860:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1860:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V4*/ curfptr[3] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1860:/ cppif.else"); /*_.IFCPP___V3*/ curfptr[2] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1861:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1861:/ block"); /*block*/{ /*_#IS_A__L3*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJINSTR*/ curfrout->tabval[1])));; /*_#NOT__L4*/ curfnum[3] = (!(/*_#IS_A__L3*/ curfnum[1]));; MELT_LOCATION("warmelt-outobj.melt:1861:/ cond"); /*cond*/ if (/*_#NOT__L4*/ curfnum[3]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1861:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1861:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1861:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1861:/ locexp"); melt_assert_failed(( "outputcod_objapply check curarg not objinstr"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1861)?(1861):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[3] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1861:/ clear"); /*clear*/ /*_#IS_A__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1861:/ clear"); /*clear*/ /*_#NOT__L4*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1861:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1861:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[3] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; /*_#I__L5*/ curfnum[1] = ((/*_#CURANK__L1*/ curfnum[0]) > (0));; MELT_LOCATION("warmelt-outobj.melt:1862:/ cond"); /*cond*/ if (/*_#I__L5*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1862:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1862:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1863:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1863:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1863:/ ojbmsend.arg"); argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*_.CURCTYP__V7*/ curfptr[5] = meltgc_send((melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!GET_CTYPE*/ curfrout->tabval[2])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1864:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1864:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L6*/ curfnum[3] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1864:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1864:/ apply.arg"); argtab[0].bp_cstring = "outputcod_objapply curctyp"; MELT_LOCATION("warmelt-outobj.melt:1864:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L6*/ curfnum[3]; MELT_LOCATION("warmelt-outobj.melt:1864:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1864:/ apply.arg"); argtab[3].bp_long = 1864; /*_.DEBUG_MSG_FUN__V9*/ curfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.CURCTYP__V7*/ curfptr[5]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V8*/ curfptr[7] = /*_.DEBUG_MSG_FUN__V9*/ curfptr[8];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1864:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L6*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1864:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V9*/ curfptr[8] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1864:/ cppif.else"); /*_.IFCPP___V8*/ curfptr[7] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1865:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1865:/ block"); /*block*/{ /*_#IS_A__L7*/ curfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.CURCTYP__V7*/ curfptr[5]), (melt_ptr_t)((/*!CLASS_CTYPE*/ curfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:1865:/ cond"); /*cond*/ if (/*_#IS_A__L7*/ curfnum[3]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1865:/ cond.then"); /*_.IFELSE___V11*/ curfptr[10] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1865:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1865:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1865:/ locexp"); melt_assert_failed(( "check curctyp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1865)?(1865):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V11*/ curfptr[10] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V10*/ curfptr[8] = /*_.IFELSE___V11*/ curfptr[10];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1865:/ clear"); /*clear*/ /*_#IS_A__L7*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1865:/ clear"); /*clear*/ /*_.IFELSE___V11*/ curfptr[10] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1865:/ cppif.else"); /*_.IFCPP___V10*/ curfptr[8] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; /*_#GET_INT__L8*/ curfnum[3] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:1866:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1866:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1866:/ apply.arg"); argtab[1].bp_long = /*_#GET_INT__L8*/ curfnum[3]; MELT_LOCATION("warmelt-outobj.melt:1866:/ apply.arg"); argtab[2].bp_cstring = "apply.arg"; /*_.OUTPUT_LOCATION__V12*/ curfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)((/*~ALOC*/ curfclos->tabval[0])), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1867:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "argtab["));} ; /*_#I__L9*/ curfnum[8] = ((/*_#CURANK__L1*/ curfnum[0]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:1868:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), (/*_#I__L9*/ curfnum[8]));} ; { MELT_LOCATION("warmelt-outobj.melt:1869:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "]."));} ; MELT_LOCATION("warmelt-outobj.melt:1870:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURCTYP__V7*/ curfptr[5]), 5, "CTYPE_PARSTRING");/*_.CTYPE_PARSTRING__V13*/ curfptr[12] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1870:/ locexp"); meltgc_append_list((melt_ptr_t)((/*~PARAMDESCLIST*/ curfclos->tabval[3])), (melt_ptr_t)(/*_.CTYPE_PARSTRING__V13*/ curfptr[12]));} ; /*_#NULL__L10*/ curfnum[9] = ((/*_.CURARG__V2*/ curfptr[1]) == NULL);; MELT_LOCATION("warmelt-outobj.melt:1871:/ cond"); /*cond*/ if (/*_#NULL__L10*/ curfnum[9]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1871:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1871:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1872:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "bp_aptr = (melt_ptr_t*)NULL"));} ; /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ;} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:1871:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1871:/ block"); /*block*/{ /*_#IS_A__L11*/ curfnum[10] = melt_is_instance_of((melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJNIL*/ curfrout->tabval[5])));; MELT_LOCATION("warmelt-outobj.melt:1873:/ cond"); /*cond*/ if (/*_#IS_A__L11*/ curfnum[10]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1873:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1873:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1874:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "bp_aptr = /*nil*/(melt_ptr_t*)NULL"));} ; /*clear*/ /*_.IFELSE___V15*/ curfptr[14] = 0 ;} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:1873:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1873:/ block"); /*block*/{ /*_#__L12*/ curfnum[11] = ((/*_.CURCTYP__V7*/ curfptr[5]) == ((/*!CTYPE_VALUE*/ curfrout->tabval[6])));; MELT_LOCATION("warmelt-outobj.melt:1875:/ cond"); /*cond*/ if (/*_#__L12*/ curfnum[11]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1875:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1875:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1876:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "bp_aptr = (melt_ptr_t*) &"));} ; /*_#GET_INT__L13*/ curfnum[12] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:1877:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1877:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[4]); MELT_LOCATION("warmelt-outobj.melt:1877:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1877:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L13*/ curfnum[12]; /*_.OUTPUT_C_CODE__V17*/ curfptr[16] = meltgc_send((melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[7])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1875:/ block"); /*block*/{ /*_.PROGN___V18*/ curfptr[17] = /*_.OUTPUT_C_CODE__V17*/ curfptr[16];;} ; /*_.IFELSE___V16*/ curfptr[15] = /*_.PROGN___V18*/ curfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1875:/ clear"); /*clear*/ /*_#GET_INT__L13*/ curfnum[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1875:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V17*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1875:/ clear"); /*clear*/ /*_.PROGN___V18*/ curfptr[17] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1875:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1875:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1880:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURCTYP__V7*/ curfptr[5]), 6, "CTYPE_ARGFIELD");/*_.CTYPE_ARGFIELD__V19*/ curfptr[16] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1880:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), melt_string_str((melt_ptr_t)(/*_.CTYPE_ARGFIELD__V19*/ curfptr[16])));} ; { MELT_LOCATION("warmelt-outobj.melt:1881:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( " = "));} ; /*_#GET_INT__L14*/ curfnum[12] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:1882:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1882:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[4]); MELT_LOCATION("warmelt-outobj.melt:1882:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1882:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L14*/ curfnum[12]; /*_.OUTPUT_C_CODE__V20*/ curfptr[17] = meltgc_send((melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[7])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1879:/ block"); /*block*/{ /*_.PROGN___V21*/ curfptr[20] = /*_.OUTPUT_C_CODE__V20*/ curfptr[17];;} ; /*_.IFELSE___V16*/ curfptr[15] = /*_.PROGN___V21*/ curfptr[20];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1875:/ clear"); /*clear*/ /*_.CTYPE_ARGFIELD__V19*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1875:/ clear"); /*clear*/ /*_#GET_INT__L14*/ curfnum[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1875:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V20*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1875:/ clear"); /*clear*/ /*_.PROGN___V21*/ curfptr[20] = 0 ;} ; } ; /*_.IFELSE___V15*/ curfptr[14] = /*_.IFELSE___V16*/ curfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1873:/ clear"); /*clear*/ /*_#__L12*/ curfnum[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1873:/ clear"); /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ;} ; } ; /*_.IFELSE___V14*/ curfptr[13] = /*_.IFELSE___V15*/ curfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1871:/ clear"); /*clear*/ /*_#IS_A__L11*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1871:/ clear"); /*clear*/ /*_.IFELSE___V15*/ curfptr[14] = 0 ;} ; } ; { MELT_LOCATION("warmelt-outobj.melt:1884:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( ";"));} ; /*_#GET_INT__L15*/ curfnum[12] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; { MELT_LOCATION("warmelt-outobj.melt:1885:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), (/*_#GET_INT__L15*/ curfnum[12]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1863:/ clear"); /*clear*/ /*_.CURCTYP__V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1863:/ clear"); /*clear*/ /*_.IFCPP___V8*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1863:/ clear"); /*clear*/ /*_.IFCPP___V10*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1863:/ clear"); /*clear*/ /*_#GET_INT__L8*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1863:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V12*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1863:/ clear"); /*clear*/ /*_#I__L9*/ curfnum[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1863:/ clear"); /*clear*/ /*_.CTYPE_PARSTRING__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1863:/ clear"); /*clear*/ /*_#NULL__L10*/ curfnum[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1863:/ clear"); /*clear*/ /*_.IFELSE___V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1863:/ clear"); /*clear*/ /*_#GET_INT__L15*/ curfnum[12] = 0 ;} ; /*epilog*/} ; } /*noelse*/ ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1859:/ clear"); /*clear*/ /*_.IFCPP___V3*/ curfptr[2] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1859:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1859:/ clear"); /*clear*/ /*_#I__L5*/ curfnum[1] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_74_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_75_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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1891:/ getarg"); /*_.CURDEST__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1891:/ block"); /*block*/{ /*_#GET_INT__L1*/ curfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:1892:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1892:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:1892:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:1892:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURDEST__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1893:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( " = "));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1891:/ clear"); /*clear*/ /*_#GET_INT__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1891:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_75_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_76_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 CURFRAM_NBVARPTR 2 void* varptr[2]; /*no varnum*/ #define CURFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<2; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 2; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1906:/ getarg"); /*_.PARD__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1906:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1907:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.PARD__V2*/ curfptr[1])));} ; { MELT_LOCATION("warmelt-outobj.melt:1908:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), ( " "));} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_76_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_77_warmelt_outobj_OUTPUCOD_OBJMSEND_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 50 void* varptr[50]; #define CURFRAM_NBVARNUM 30 long varnum[30]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<50; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 50; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJMSEND", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:1926:/ getarg"); /*_.OMSEND__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:1926:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:1926:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:1926:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:1926:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1927:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1927:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1927:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1927:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmsend omsend"; MELT_LOCATION("warmelt-outobj.melt:1927:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L2*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:1927:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1927:/ apply.arg"); argtab[3].bp_long = 1927; /*_.DEBUG_MSG_FUN__V6*/ curfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.OMSEND__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.DEBUG_MSG_FUN__V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1927:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1927:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1927:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1928:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1928:/ block"); /*block*/{ /*_#IS_A__L3*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OMSEND__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJMSEND*/ curfrout->tabval[1])));; MELT_LOCATION("warmelt-outobj.melt:1928:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1928:/ cond.then"); /*_.IFELSE___V8*/ curfptr[7] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1928:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1928:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1928:/ locexp"); melt_assert_failed(( "check omsend"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1928)?(1928):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V8*/ curfptr[7] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.IFELSE___V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1928:/ clear"); /*clear*/ /*_#IS_A__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1928:/ clear"); /*clear*/ /*_.IFELSE___V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1928:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1929:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1929:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMSEND__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.OLOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1930:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMSEND__V2*/ curfptr[1]), 1, "OBDI_DESTLIST");/*_.ODEST__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1931:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMSEND__V2*/ curfptr[1]), 2, "OBMSND_SEL");/*_.OSEL__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1932:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMSEND__V2*/ curfptr[1]), 3, "OBMSND_RECV");/*_.ORECV__V12*/ curfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:1933:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMSEND__V2*/ curfptr[1]), 4, "OBMSND_ARGS");/*_.OARGS__V13*/ curfptr[12] = slot; }; ; /*_#NBARG__L4*/ curfnum[1] = (melt_multiple_length((melt_ptr_t)(/*_.OARGS__V13*/ curfptr[12])));; /*_.PARAMDESCLIST__V14*/ curfptr[13] = (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[2]))));; /*_#I__L5*/ curfnum[4] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; /*_.BOXDEPTHP1__V15*/ curfptr[14] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[3])), (/*_#I__L5*/ curfnum[4])));; MELT_LOCATION("warmelt-outobj.melt:1938:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1938:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1938:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:1938:/ apply.arg"); argtab[2].bp_cstring = "msend"; /*_.OUTPUT_LOCATION__V16*/ curfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1939:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*msend*/{"));} ; /*_#I__L6*/ curfnum[5] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:1940:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L6*/ curfnum[5]), 0);} ; /*_#I__L7*/ curfnum[6] = ((/*_#NBARG__L4*/ curfnum[1]) > (0));; MELT_LOCATION("warmelt-outobj.melt:1941:/ cond"); /*cond*/ if (/*_#I__L7*/ curfnum[6]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1941:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1941:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1946:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "union meltparam_un argtab["));} ; { MELT_LOCATION("warmelt-outobj.melt:1947:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#NBARG__L4*/ curfnum[1]));} ; { MELT_LOCATION("warmelt-outobj.melt:1948:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "];"));} ; /*_#I__L8*/ curfnum[7] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:1949:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L8*/ curfnum[7]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:1950:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "memset(&argtab, 0, sizeof(argtab));"));} ; /*_#I__L9*/ curfnum[8] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:1951:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L9*/ curfnum[8]), 0);} ; /*citerblock FOREACH_IN_MULTIPLE*/ { /* start cit1__EACHTUP: */ long cit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.OARGS__V13*/ curfptr[12]); for (/*_#CURANK__L10*/ curfnum[9] = 0; (/*_#CURANK__L10*/ curfnum[9] >= 0) && (/*_#CURANK__L10*/ curfnum[9] < cit1__EACHTUP_ln); /*_#CURANK__L10*/ curfnum[9]++) { /*_.CURARG__V17*/ curfptr[16] = melt_multiple_nth((melt_ptr_t)(/*_.OARGS__V13*/ curfptr[12]), /*_#CURANK__L10*/ curfnum[9]); #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1956:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1956:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L11*/ curfnum[10] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1956:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1956:/ apply.arg"); argtab[0].bp_cstring = "outputcod_objmsend curarg"; MELT_LOCATION("warmelt-outobj.melt:1956:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L11*/ curfnum[10]; MELT_LOCATION("warmelt-outobj.melt:1956:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1956:/ apply.arg"); argtab[3].bp_long = 1956; /*_.DEBUG_MSG_FUN__V19*/ curfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.CURARG__V17*/ curfptr[16]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V18*/ curfptr[17] = /*_.DEBUG_MSG_FUN__V19*/ curfptr[18];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1956:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L11*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1956:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V19*/ curfptr[18] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1956:/ cppif.else"); /*_.IFCPP___V18*/ curfptr[17] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1957:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:1957:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1957:/ ojbmsend.arg"); argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*_.CURCTYP__V20*/ curfptr[18] = meltgc_send((melt_ptr_t)(/*_.CURARG__V17*/ curfptr[16]), (melt_ptr_t)((/*!GET_CTYPE*/ curfrout->tabval[5])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1958:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1958:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L12*/ curfnum[10] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1958:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1958:/ apply.arg"); argtab[0].bp_cstring = "outputcod_objmsend curctyp"; MELT_LOCATION("warmelt-outobj.melt:1958:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L12*/ curfnum[10]; MELT_LOCATION("warmelt-outobj.melt:1958:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1958:/ apply.arg"); argtab[3].bp_long = 1958; /*_.DEBUG_MSG_FUN__V22*/ curfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.CURCTYP__V20*/ curfptr[18]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V21*/ curfptr[20] = /*_.DEBUG_MSG_FUN__V22*/ curfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1958:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L12*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1958:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V22*/ curfptr[21] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1958:/ cppif.else"); /*_.IFCPP___V21*/ curfptr[20] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1959:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1959:/ block"); /*block*/{ /*_#IS_A__L13*/ curfnum[10] = melt_is_instance_of((melt_ptr_t)(/*_.CURCTYP__V20*/ curfptr[18]), (melt_ptr_t)((/*!CLASS_CTYPE*/ curfrout->tabval[6])));; MELT_LOCATION("warmelt-outobj.melt:1959:/ cond"); /*cond*/ if (/*_#IS_A__L13*/ curfnum[10]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1959:/ cond.then"); /*_.IFELSE___V24*/ curfptr[23] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1959:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1959:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1959:/ locexp"); melt_assert_failed(( "check curctyp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1959)?(1959):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V24*/ curfptr[23] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V23*/ curfptr[21] = /*_.IFELSE___V24*/ curfptr[23];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1959:/ clear"); /*clear*/ /*_#IS_A__L13*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1959:/ clear"); /*clear*/ /*_.IFELSE___V24*/ curfptr[23] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1959:/ cppif.else"); /*_.IFCPP___V23*/ curfptr[21] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; /*_#GET_INT__L14*/ curfnum[10] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V15*/ curfptr[14])));; MELT_LOCATION("warmelt-outobj.melt:1960:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1960:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1960:/ apply.arg"); argtab[1].bp_long = /*_#GET_INT__L14*/ curfnum[10]; MELT_LOCATION("warmelt-outobj.melt:1960:/ apply.arg"); argtab[2].bp_cstring = "ojbmsend.arg"; /*_.OUTPUT_LOCATION__V25*/ curfptr[23] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1961:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "argtab["));} ; { MELT_LOCATION("warmelt-outobj.melt:1962:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#CURANK__L10*/ curfnum[9]));} ; { MELT_LOCATION("warmelt-outobj.melt:1963:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "]."));} ; MELT_LOCATION("warmelt-outobj.melt:1964:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURCTYP__V20*/ curfptr[18]), 5, "CTYPE_PARSTRING");/*_.CTYPE_PARSTRING__V26*/ curfptr[25] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1964:/ locexp"); meltgc_append_list((melt_ptr_t)(/*_.PARAMDESCLIST__V14*/ curfptr[13]), (melt_ptr_t)(/*_.CTYPE_PARSTRING__V26*/ curfptr[25]));} ; /*_#NULL__L15*/ curfnum[14] = ((/*_.CURARG__V17*/ curfptr[16]) == NULL);; MELT_LOCATION("warmelt-outobj.melt:1965:/ cond"); /*cond*/ if (/*_#NULL__L15*/ curfnum[14]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1965:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1965:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1966:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "bp_aptr = (melt_ptr_t*)NULL"));} ; /*clear*/ /*_.IFELSE___V27*/ curfptr[26] = 0 ;} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:1965:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1965:/ block"); /*block*/{ /*_#IS_A__L16*/ curfnum[15] = melt_is_instance_of((melt_ptr_t)(/*_.CURARG__V17*/ curfptr[16]), (melt_ptr_t)((/*!CLASS_OBJNIL*/ curfrout->tabval[7])));; MELT_LOCATION("warmelt-outobj.melt:1968:/ cond"); /*cond*/ if (/*_#IS_A__L16*/ curfnum[15]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1968:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1968:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1969:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "bp_aptr = /*nil*/(melt_ptr_t*)NULL"));} ; /*clear*/ /*_.IFELSE___V28*/ curfptr[27] = 0 ;} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:1968:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1968:/ block"); /*block*/{ /*_#__L17*/ curfnum[16] = ((/*_.CURCTYP__V20*/ curfptr[18]) == ((/*!CTYPE_VALUE*/ curfrout->tabval[8])));; MELT_LOCATION("warmelt-outobj.melt:1971:/ cond"); /*cond*/ if (/*_#__L17*/ curfnum[16]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1971:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:1971:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1972:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "bp_aptr = (melt_ptr_t*) &"));} ; /*_#GET_INT__L18*/ curfnum[17] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V15*/ curfptr[14])));; MELT_LOCATION("warmelt-outobj.melt:1973:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1973:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1973:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1973:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L18*/ curfnum[17]; /*_.OUTPUT_C_CODE__V30*/ curfptr[29] = meltgc_send((melt_ptr_t)(/*_.CURARG__V17*/ curfptr[16]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[9])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1971:/ block"); /*block*/{ /*_.PROGN___V31*/ curfptr[30] = /*_.OUTPUT_C_CODE__V30*/ curfptr[29];;} ; /*_.IFELSE___V29*/ curfptr[28] = /*_.PROGN___V31*/ curfptr[30];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1971:/ clear"); /*clear*/ /*_#GET_INT__L18*/ curfnum[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1971:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V30*/ curfptr[29] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1971:/ clear"); /*clear*/ /*_.PROGN___V31*/ curfptr[30] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:1971:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1971:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1976:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1976:/ block"); /*block*/{ /*_#IS_MULTIPLE__L19*/ curfnum[17] = (melt_magic_discr((melt_ptr_t)(/*_.CURARG__V17*/ curfptr[16])) == OBMAG_MULTIPLE);; /*_#NOT__L20*/ curfnum[19] = (!(/*_#IS_MULTIPLE__L19*/ curfnum[17]));; MELT_LOCATION("warmelt-outobj.melt:1976:/ cond"); /*cond*/ if (/*_#NOT__L20*/ curfnum[19]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1976:/ cond.then"); /*_.IFELSE___V33*/ curfptr[30] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1976:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1976:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1976:/ locexp"); melt_assert_failed(( "check curarg is not multiple"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1976)?(1976):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V33*/ curfptr[30] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V32*/ curfptr[29] = /*_.IFELSE___V33*/ curfptr[30];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1976:/ clear"); /*clear*/ /*_#IS_MULTIPLE__L19*/ curfnum[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1976:/ clear"); /*clear*/ /*_#NOT__L20*/ curfnum[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1976:/ clear"); /*clear*/ /*_.IFELSE___V33*/ curfptr[30] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1976:/ cppif.else"); /*_.IFCPP___V32*/ curfptr[29] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:1977:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURCTYP__V20*/ curfptr[18]), 6, "CTYPE_ARGFIELD");/*_.CTYPE_ARGFIELD__V34*/ curfptr[30] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:1977:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.CTYPE_ARGFIELD__V34*/ curfptr[30])));} ; { MELT_LOCATION("warmelt-outobj.melt:1978:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " = "));} ; /*_#GET_INT__L21*/ curfnum[17] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V15*/ curfptr[14])));; MELT_LOCATION("warmelt-outobj.melt:1979:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1979:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1979:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1979:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L21*/ curfnum[17]; /*_.OUTPUT_C_CODE__V35*/ curfptr[34] = meltgc_send((melt_ptr_t)(/*_.CURARG__V17*/ curfptr[16]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[9])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:1975:/ block"); /*block*/{ /*_.PROGN___V36*/ curfptr[35] = /*_.OUTPUT_C_CODE__V35*/ curfptr[34];;} ; /*_.IFELSE___V29*/ curfptr[28] = /*_.PROGN___V36*/ curfptr[35];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1971:/ clear"); /*clear*/ /*_.IFCPP___V32*/ curfptr[29] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1971:/ clear"); /*clear*/ /*_.CTYPE_ARGFIELD__V34*/ curfptr[30] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1971:/ clear"); /*clear*/ /*_#GET_INT__L21*/ curfnum[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1971:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V35*/ curfptr[34] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1971:/ clear"); /*clear*/ /*_.PROGN___V36*/ curfptr[35] = 0 ;} ; } ; /*_.IFELSE___V28*/ curfptr[27] = /*_.IFELSE___V29*/ curfptr[28];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1968:/ clear"); /*clear*/ /*_#__L17*/ curfnum[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1968:/ clear"); /*clear*/ /*_.IFELSE___V29*/ curfptr[28] = 0 ;} ; } ; /*_.IFELSE___V27*/ curfptr[26] = /*_.IFELSE___V28*/ curfptr[27];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1965:/ clear"); /*clear*/ /*_#IS_A__L16*/ curfnum[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1965:/ clear"); /*clear*/ /*_.IFELSE___V28*/ curfptr[27] = 0 ;} ; } ; { MELT_LOCATION("warmelt-outobj.melt:1981:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ";"));} ; /*_#GET_INT__L22*/ curfnum[19] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V15*/ curfptr[14])));; { MELT_LOCATION("warmelt-outobj.melt:1982:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L22*/ curfnum[19]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1957:/ clear"); /*clear*/ /*_.CURCTYP__V20*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1957:/ clear"); /*clear*/ /*_.IFCPP___V21*/ curfptr[20] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1957:/ clear"); /*clear*/ /*_.IFCPP___V23*/ curfptr[21] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1957:/ clear"); /*clear*/ /*_#GET_INT__L14*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1957:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V25*/ curfptr[23] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1957:/ clear"); /*clear*/ /*_.CTYPE_PARSTRING__V26*/ curfptr[25] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1957:/ clear"); /*clear*/ /*_#NULL__L15*/ curfnum[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1957:/ clear"); /*clear*/ /*_.IFELSE___V27*/ curfptr[26] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1957:/ clear"); /*clear*/ /*_#GET_INT__L22*/ curfnum[19] = 0 ;} ; if (/*_#CURANK__L10*/ curfnum[9]<0) break; } /* end cit1__EACHTUP */ /*citerepilog*/ MELT_LOCATION("warmelt-outobj.melt:1953:/ clear"); /*clear*/ /*_.CURARG__V17*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1953:/ clear"); /*clear*/ /*_#CURANK__L10*/ curfnum[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1953:/ clear"); /*clear*/ /*_.IFCPP___V18*/ curfptr[17] = 0 ;} /*endciterblock FOREACH_IN_MULTIPLE*/ ; MELT_LOCATION("warmelt-outobj.melt:1945:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1941:/ clear"); /*clear*/ /*_#I__L8*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1941:/ clear"); /*clear*/ /*_#I__L9*/ curfnum[8] = 0 ;} ; } /*noelse*/ ; /*citerblock FOREACH_IN_LIST*/ { /* start cit2__EACHLIST */ for (/*_.CURPAIR__V37*/ curfptr[29] = melt_list_first(/*_.ODEST__V10*/ curfptr[9]); melt_magic_discr(/*_.CURPAIR__V37*/ curfptr[29]) == OBMAG_PAIR; /*_.CURPAIR__V37*/ curfptr[29] = melt_pair_tail(/*_.CURPAIR__V37*/ curfptr[29])) { /*_.CURDEST__V38*/ curfptr[30] = melt_pair_head(/*_.CURPAIR__V37*/ curfptr[29]); /*_#GET_INT__L23*/ curfnum[17] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V15*/ curfptr[14])));; MELT_LOCATION("warmelt-outobj.melt:1989:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1989:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1989:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1989:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L23*/ curfnum[17]; /*_.OUTPUT_C_CODE__V39*/ curfptr[34] = meltgc_send((melt_ptr_t)(/*_.CURDEST__V38*/ curfptr[30]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[9])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1990:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " = "));} ; } /* end cit2__EACHLIST */ /*citerepilog*/ MELT_LOCATION("warmelt-outobj.melt:1986:/ clear"); /*clear*/ /*_.CURPAIR__V37*/ curfptr[29] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1986:/ clear"); /*clear*/ /*_.CURDEST__V38*/ curfptr[30] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1986:/ clear"); /*clear*/ /*_#GET_INT__L23*/ curfnum[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1986:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V39*/ curfptr[34] = 0 ;} /*endciterblock FOREACH_IN_LIST*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1992:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1992:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L24*/ curfnum[16] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1992:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1992:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmsend orecv"; MELT_LOCATION("warmelt-outobj.melt:1992:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L24*/ curfnum[16]; MELT_LOCATION("warmelt-outobj.melt:1992:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1992:/ apply.arg"); argtab[3].bp_long = 1992; /*_.DEBUG_MSG_FUN__V41*/ curfptr[28] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.ORECV__V12*/ curfptr[11]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V40*/ curfptr[35] = /*_.DEBUG_MSG_FUN__V41*/ curfptr[28];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1992:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L24*/ curfnum[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1992:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V41*/ curfptr[28] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1992:/ cppif.else"); /*_.IFCPP___V40*/ curfptr[35] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1993:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1993:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L25*/ curfnum[15] = callcount;; MELT_LOCATION("warmelt-outobj.melt:1993:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1993:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmsend oloc"; MELT_LOCATION("warmelt-outobj.melt:1993:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L25*/ curfnum[15]; MELT_LOCATION("warmelt-outobj.melt:1993:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:1993:/ apply.arg"); argtab[3].bp_long = 1993; /*_.DEBUG_MSG_FUN__V43*/ curfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V42*/ curfptr[27] = /*_.DEBUG_MSG_FUN__V43*/ curfptr[18];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1993:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L25*/ curfnum[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1993:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V43*/ curfptr[18] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1993:/ cppif.else"); /*_.IFCPP___V42*/ curfptr[27] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:1994:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:1994:/ block"); /*block*/{ /*_#IS_OBJECT__L26*/ curfnum[10] = (melt_magic_discr((melt_ptr_t)(/*_.ORECV__V12*/ curfptr[11])) == OBMAG_OBJECT);; MELT_LOCATION("warmelt-outobj.melt:1994:/ cond"); /*cond*/ if (/*_#IS_OBJECT__L26*/ curfnum[10]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:1994:/ cond.then"); /*_.IFELSE___V45*/ curfptr[21] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:1994:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:1994:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:1994:/ locexp"); melt_assert_failed(( "check orecv object"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (1994)?(1994):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V45*/ curfptr[21] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V44*/ curfptr[20] = /*_.IFELSE___V45*/ curfptr[21];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1994:/ clear"); /*clear*/ /*_#IS_OBJECT__L26*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1994:/ clear"); /*clear*/ /*_.IFELSE___V45*/ curfptr[21] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:1994:/ cppif.else"); /*_.IFCPP___V44*/ curfptr[20] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; { MELT_LOCATION("warmelt-outobj.melt:1996:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "meltgc_send((melt_ptr_t)("));} ; /*_#I__L27*/ curfnum[14] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; MELT_LOCATION("warmelt-outobj.melt:1997:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1997:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1997:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1997:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L27*/ curfnum[14]; /*_.OUTPUT_C_CODE__V46*/ curfptr[23] = meltgc_send((melt_ptr_t)(/*_.ORECV__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[9])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:1998:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "), (melt_ptr_t)("));} ; /*_#I__L28*/ curfnum[19] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; MELT_LOCATION("warmelt-outobj.melt:1999:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:1999:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:1999:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:1999:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L28*/ curfnum[19]; /*_.OUTPUT_C_CODE__V47*/ curfptr[25] = meltgc_send((melt_ptr_t)(/*_.OSEL__V11*/ curfptr[10]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[9])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2000:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "), ("));} ; MELT_LOCATION("warmelt-outobj.melt:2004:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2004:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V49*/ curfptr[28] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_11*/ curfrout->tabval[11])), (1)); ; MELT_LOCATION("warmelt-outobj.melt:2004:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V49*/ curfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V49*/ curfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V49*/ curfptr[28])->tabval[0] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; /*_.LAMBDA___V48*/ curfptr[26] = /*_.LAMBDA___V49*/ curfptr[28];;} ; MELT_LOCATION("warmelt-outobj.melt:2002:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2002:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V48*/ curfptr[26]; /*_.LIST_EVERY__V50*/ curfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[10])), (melt_ptr_t)(/*_.PARAMDESCLIST__V14*/ curfptr[13]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2007:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "\"\"), "));} ; /*_#I__L29*/ curfnum[7] = ((/*_#NBARG__L4*/ curfnum[1]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2008:/ cond"); /*cond*/ if (/*_#I__L29*/ curfnum[7]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2008:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2008:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2009:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "argtab,"));} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:2008:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2008:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2010:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "(union meltparam_un*)0,"));} ; /*epilog*/} ; } ; { MELT_LOCATION("warmelt-outobj.melt:2012:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " \"\", (union meltparam_un*)0"));} ; { MELT_LOCATION("warmelt-outobj.melt:2013:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ");"));} ; /*_#I__L30*/ curfnum[8] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2014:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L30*/ curfnum[8]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:2015:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "}"));} ; { MELT_LOCATION("warmelt-outobj.melt:2016:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.OLOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.ODEST__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.OSEL__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.ORECV__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.OARGS__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_#NBARG__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.PARAMDESCLIST__V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_#I__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.BOXDEPTHP1__V15*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_#I__L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_#I__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.IFCPP___V40*/ curfptr[35] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.IFCPP___V42*/ curfptr[27] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.IFCPP___V44*/ curfptr[20] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_#I__L27*/ curfnum[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V46*/ curfptr[23] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_#I__L28*/ curfnum[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V47*/ curfptr[25] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.LAMBDA___V48*/ curfptr[26] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_.LIST_EVERY__V50*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_#I__L29*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1929:/ clear"); /*clear*/ /*_#I__L30*/ curfnum[8] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:1926:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:1926:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJMSEND", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_77_warmelt_outobj_OUTPUCOD_OBJMSEND*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_78_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 CURFRAM_NBVARPTR 2 void* varptr[2]; /*no varnum*/ #define CURFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<2; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 2; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2004:/ getarg"); /*_.PARD__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2004:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2005:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.PARD__V2*/ curfptr[1])));} ; { MELT_LOCATION("warmelt-outobj.melt:2006:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), ( " "));} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_78_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_79_warmelt_outobj_OUTPUCOD_OBJMULTIAPPLY_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 48 void* varptr[48]; #define CURFRAM_NBVARNUM 27 long varnum[27]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<48; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 48; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJMULTIAPPLY", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2023:/ getarg"); /*_.OAPP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2023:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:2023:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:2023:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2023:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2024:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2024:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJMULTIAPPLY*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:2024:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2024:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2024:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2024:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2024:/ locexp"); melt_assert_failed(( "check oapp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2024)?(2024):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2024:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2024:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2024:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2025:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2025:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2025:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2025:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmultiapply oapp"; MELT_LOCATION("warmelt-outobj.melt:2025:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2025:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2025:/ apply.arg"); argtab[3].bp_long = 2025; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2025:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2025:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2025:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:2026:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2027:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.ALOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2028:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), 1, "OBDI_DESTLIST");/*_.ADEST__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2029:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), 2, "OBAPP_CLOS");/*_.OCLOS__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2030:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), 3, "OBAPP_ARGS");/*_.OARGS__V12*/ curfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2031:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OAPP__V2*/ curfptr[1]), 4, "OBMULTAPP_XRES");/*_.OXRES__V13*/ curfptr[12] = slot; }; ; /*_#NBARG__L4*/ curfnum[1] = (melt_multiple_length((melt_ptr_t)(/*_.OARGS__V12*/ curfptr[11])));; /*_#NBXRES__L5*/ curfnum[4] = (melt_multiple_length((melt_ptr_t)(/*_.OXRES__V13*/ curfptr[12])));; /*_.PARAMDESCLIST__V14*/ curfptr[13] = (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[2]))));; /*_.RESDESCLIST__V15*/ curfptr[14] = (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[2]))));; /*_#I__L6*/ curfnum[5] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; /*_.BOXDEPTHP1__V16*/ curfptr[15] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[3])), (/*_#I__L6*/ curfnum[5])));; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2038:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2038:/ block"); /*block*/{ /*_#IS_MULTIPLE_OR_NULL__L7*/ curfnum[6] = ((/*_.OARGS__V12*/ curfptr[11]) == NULL || (melt_unsafe_magic_discr((melt_ptr_t)(/*_.OARGS__V12*/ curfptr[11])) == OBMAG_MULTIPLE));; MELT_LOCATION("warmelt-outobj.melt:2038:/ cond"); /*cond*/ if (/*_#IS_MULTIPLE_OR_NULL__L7*/ curfnum[6]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2038:/ cond.then"); /*_.IFELSE___V18*/ curfptr[17] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2038:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2038:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2038:/ locexp"); melt_assert_failed(( "check oargs"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2038)?(2038):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V18*/ curfptr[17] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V17*/ curfptr[16] = /*_.IFELSE___V18*/ curfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2038:/ clear"); /*clear*/ /*_#IS_MULTIPLE_OR_NULL__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2038:/ clear"); /*clear*/ /*_.IFELSE___V18*/ curfptr[17] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2038:/ cppif.else"); /*_.IFCPP___V17*/ curfptr[16] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2039:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2039:/ block"); /*block*/{ /*_#IS_MULTIPLE_OR_NULL__L8*/ curfnum[6] = ((/*_.OXRES__V13*/ curfptr[12]) == NULL || (melt_unsafe_magic_discr((melt_ptr_t)(/*_.OXRES__V13*/ curfptr[12])) == OBMAG_MULTIPLE));; MELT_LOCATION("warmelt-outobj.melt:2039:/ cond"); /*cond*/ if (/*_#IS_MULTIPLE_OR_NULL__L8*/ curfnum[6]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2039:/ cond.then"); /*_.IFELSE___V20*/ curfptr[19] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2039:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2039:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2039:/ locexp"); melt_assert_failed(( "check oxres"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2039)?(2039):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V20*/ curfptr[19] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V19*/ curfptr[17] = /*_.IFELSE___V20*/ curfptr[19];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2039:/ clear"); /*clear*/ /*_#IS_MULTIPLE_OR_NULL__L8*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2039:/ clear"); /*clear*/ /*_.IFELSE___V20*/ curfptr[19] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2039:/ cppif.else"); /*_.IFCPP___V19*/ curfptr[17] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:2040:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2040:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2040:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:2040:/ apply.arg"); argtab[2].bp_cstring = "multiapply"; /*_.OUTPUT_LOCATION__V21*/ curfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.ALOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2041:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*multiapply "));} ; { MELT_LOCATION("warmelt-outobj.melt:2042:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#NBARG__L4*/ curfnum[1]));} ; { MELT_LOCATION("warmelt-outobj.melt:2043:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "args, "));} ; { MELT_LOCATION("warmelt-outobj.melt:2044:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#NBXRES__L5*/ curfnum[4]));} ; { MELT_LOCATION("warmelt-outobj.melt:2045:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "x.res*/ "));} ; { MELT_LOCATION("warmelt-outobj.melt:2046:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "{"));} ; /*_#I__L9*/ curfnum[6] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2047:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L9*/ curfnum[6]), 0);} ; /*_#I__L10*/ curfnum[9] = ((/*_#NBARG__L4*/ curfnum[1]) > (1));; MELT_LOCATION("warmelt-outobj.melt:2048:/ cond"); /*cond*/ if (/*_#I__L10*/ curfnum[9]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2048:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2048:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2050:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "union meltparam_un argtab["));} ; /*_#I__L11*/ curfnum[10] = ((/*_#NBARG__L4*/ curfnum[1]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:2051:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L11*/ curfnum[10]));} ; { MELT_LOCATION("warmelt-outobj.melt:2052:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "];"));} ; /*_#I__L12*/ curfnum[11] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2053:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L12*/ curfnum[11]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:2049:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2048:/ clear"); /*clear*/ /*_#I__L11*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2048:/ clear"); /*clear*/ /*_#I__L12*/ curfnum[11] = 0 ;} ; } /*noelse*/ ; /*_#I__L13*/ curfnum[10] = ((/*_#NBXRES__L5*/ curfnum[4]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2055:/ cond"); /*cond*/ if (/*_#I__L13*/ curfnum[10]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2055:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2055:/ block"); /*block*/{ /*_#I__L14*/ curfnum[11] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2057:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L14*/ curfnum[11]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:2058:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "union meltparam_un restab["));} ; { MELT_LOCATION("warmelt-outobj.melt:2059:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#NBXRES__L5*/ curfnum[4]));} ; { MELT_LOCATION("warmelt-outobj.melt:2060:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "];"));} ; /*_#I__L15*/ curfnum[14] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2061:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L15*/ curfnum[14]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:2056:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2055:/ clear"); /*clear*/ /*_#I__L14*/ curfnum[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2055:/ clear"); /*clear*/ /*_#I__L15*/ curfnum[14] = 0 ;} ; } /*noelse*/ ; /*_#I__L16*/ curfnum[11] = ((/*_#NBXRES__L5*/ curfnum[4]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2063:/ cond"); /*cond*/ if (/*_#I__L16*/ curfnum[11]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2063:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2063:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2065:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "memset(&restab, 0, sizeof(restab));"));} ; /*_#I__L17*/ curfnum[14] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2066:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L17*/ curfnum[14]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:2070:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2070:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V24*/ curfptr[23] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_7*/ curfrout->tabval[7])), (1)); ; MELT_LOCATION("warmelt-outobj.melt:2070:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V24*/ curfptr[23])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V24*/ curfptr[23]))); ((meltclosure_ptr_t)/*_.LAMBDA___V24*/ curfptr[23])->tabval[0] = (melt_ptr_t)(/*_.RESDESCLIST__V15*/ curfptr[14]); ; /*_.LAMBDA___V23*/ curfptr[22] = /*_.LAMBDA___V24*/ curfptr[23];;} ; MELT_LOCATION("warmelt-outobj.melt:2068:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2068:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V23*/ curfptr[22]; /*_.MULTIPLE_EVERY__V25*/ curfptr[24] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.OXRES__V13*/ curfptr[12]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2064:/ block"); /*block*/{ /*_.PROGN___V26*/ curfptr[25] = /*_.MULTIPLE_EVERY__V25*/ curfptr[24];;} ; /*_.IF___V22*/ curfptr[21] = /*_.PROGN___V26*/ curfptr[25];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2063:/ clear"); /*clear*/ /*_#I__L17*/ curfnum[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2063:/ clear"); /*clear*/ /*_.LAMBDA___V23*/ curfptr[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2063:/ clear"); /*clear*/ /*_.MULTIPLE_EVERY__V25*/ curfptr[24] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2063:/ clear"); /*clear*/ /*_.PROGN___V26*/ curfptr[25] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:2063:/ cond.else"); /*_.IF___V22*/ curfptr[21] = NULL;; } ; /*_#I__L18*/ curfnum[14] = ((/*_#NBARG__L4*/ curfnum[1]) > (1));; MELT_LOCATION("warmelt-outobj.melt:2073:/ cond"); /*cond*/ if (/*_#I__L18*/ curfnum[14]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2073:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2073:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2075:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "memset(&argtab, 0, sizeof(argtab));"));} ; /*_#I__L19*/ curfnum[18] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2076:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L19*/ curfnum[18]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:2080:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2080:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V28*/ curfptr[24] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_14*/ curfrout->tabval[14])), (5)); ; MELT_LOCATION("warmelt-outobj.melt:2080:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V28*/ curfptr[24])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V28*/ curfptr[24]))); ((meltclosure_ptr_t)/*_.LAMBDA___V28*/ curfptr[24])->tabval[0] = (melt_ptr_t)(/*_.ALOC__V9*/ curfptr[7]); ; MELT_LOCATION("warmelt-outobj.melt:2080:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V28*/ curfptr[24])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V28*/ curfptr[24]))); ((meltclosure_ptr_t)/*_.LAMBDA___V28*/ curfptr[24])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:2080:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V28*/ curfptr[24])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V28*/ curfptr[24]))); ((meltclosure_ptr_t)/*_.LAMBDA___V28*/ curfptr[24])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V16*/ curfptr[15]); ; MELT_LOCATION("warmelt-outobj.melt:2080:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V28*/ curfptr[24])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 3>= 0 && 3< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V28*/ curfptr[24]))); ((meltclosure_ptr_t)/*_.LAMBDA___V28*/ curfptr[24])->tabval[3] = (melt_ptr_t)(/*_.PARAMDESCLIST__V14*/ curfptr[13]); ; MELT_LOCATION("warmelt-outobj.melt:2080:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V28*/ curfptr[24])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 4>= 0 && 4< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V28*/ curfptr[24]))); ((meltclosure_ptr_t)/*_.LAMBDA___V28*/ curfptr[24])->tabval[4] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; /*_.LAMBDA___V27*/ curfptr[22] = /*_.LAMBDA___V28*/ curfptr[24];;} ; MELT_LOCATION("warmelt-outobj.melt:2078:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2078:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V27*/ curfptr[22]; /*_.MULTIPLE_EVERY__V29*/ curfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.OARGS__V12*/ curfptr[11]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_#GET_INT__L20*/ curfnum[19] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V16*/ curfptr[15])));; { MELT_LOCATION("warmelt-outobj.melt:2105:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L20*/ curfnum[19]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:2074:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2073:/ clear"); /*clear*/ /*_#I__L19*/ curfnum[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2073:/ clear"); /*clear*/ /*_.LAMBDA___V27*/ curfptr[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2073:/ clear"); /*clear*/ /*_.MULTIPLE_EVERY__V29*/ curfptr[25] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2073:/ clear"); /*clear*/ /*_#GET_INT__L20*/ curfnum[19] = 0 ;} ; } /*noelse*/ ; /*_#I__L21*/ curfnum[18] = ((/*_#NBXRES__L5*/ curfnum[4]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2108:/ cond"); /*cond*/ if (/*_#I__L21*/ curfnum[18]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2108:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2108:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2112:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2112:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V32*/ curfptr[31] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_21*/ curfrout->tabval[21])), (4)); ; MELT_LOCATION("warmelt-outobj.melt:2112:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V32*/ curfptr[31])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V32*/ curfptr[31]))); ((meltclosure_ptr_t)/*_.LAMBDA___V32*/ curfptr[31])->tabval[0] = (melt_ptr_t)(/*_.ALOC__V9*/ curfptr[7]); ; MELT_LOCATION("warmelt-outobj.melt:2112:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V32*/ curfptr[31])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V32*/ curfptr[31]))); ((meltclosure_ptr_t)/*_.LAMBDA___V32*/ curfptr[31])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:2112:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V32*/ curfptr[31])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V32*/ curfptr[31]))); ((meltclosure_ptr_t)/*_.LAMBDA___V32*/ curfptr[31])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V16*/ curfptr[15]); ; MELT_LOCATION("warmelt-outobj.melt:2112:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V32*/ curfptr[31])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 3>= 0 && 3< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V32*/ curfptr[31]))); ((meltclosure_ptr_t)/*_.LAMBDA___V32*/ curfptr[31])->tabval[3] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; /*_.LAMBDA___V31*/ curfptr[25] = /*_.LAMBDA___V32*/ curfptr[31];;} ; MELT_LOCATION("warmelt-outobj.melt:2110:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2110:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V31*/ curfptr[25]; /*_.MULTIPLE_EVERY__V33*/ curfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.OXRES__V13*/ curfptr[12]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2109:/ block"); /*block*/{ /*_.PROGN___V34*/ curfptr[33] = /*_.MULTIPLE_EVERY__V33*/ curfptr[32];;} ; /*_.IF___V30*/ curfptr[22] = /*_.PROGN___V34*/ curfptr[33];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2108:/ clear"); /*clear*/ /*_.LAMBDA___V31*/ curfptr[25] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2108:/ clear"); /*clear*/ /*_.MULTIPLE_EVERY__V33*/ curfptr[32] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2108:/ clear"); /*clear*/ /*_.PROGN___V34*/ curfptr[33] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:2108:/ cond.else"); /*_.IF___V30*/ curfptr[22] = NULL;; } ; /*_#GET_INT__L22*/ curfnum[19] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V16*/ curfptr[15])));; MELT_LOCATION("warmelt-outobj.melt:2137:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2137:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2137:/ apply.arg"); argtab[1].bp_long = /*_#GET_INT__L22*/ curfnum[19]; MELT_LOCATION("warmelt-outobj.melt:2137:/ apply.arg"); argtab[2].bp_cstring = "multiapply.appl"; /*_.OUTPUT_LOCATION__V35*/ curfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.ALOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2141:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2141:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V37*/ curfptr[33] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_24*/ curfrout->tabval[24])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:2141:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V37*/ curfptr[33])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V37*/ curfptr[33]))); ((meltclosure_ptr_t)/*_.LAMBDA___V37*/ curfptr[33])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:2141:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V37*/ curfptr[33])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V37*/ curfptr[33]))); ((meltclosure_ptr_t)/*_.LAMBDA___V37*/ curfptr[33])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:2141:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V37*/ curfptr[33])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V37*/ curfptr[33]))); ((meltclosure_ptr_t)/*_.LAMBDA___V37*/ curfptr[33])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V16*/ curfptr[15]); ; /*_.LAMBDA___V36*/ curfptr[32] = /*_.LAMBDA___V37*/ curfptr[33];;} ; MELT_LOCATION("warmelt-outobj.melt:2139:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2139:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V36*/ curfptr[32]; /*_.LIST_EVERY__V38*/ curfptr[37] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[22])), (melt_ptr_t)(/*_.ADEST__V10*/ curfptr[9]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2145:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " melt_apply ((meltclosure_ptr_t)("));} ; /*_#I__L23*/ curfnum[22] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; MELT_LOCATION("warmelt-outobj.melt:2146:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2146:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2146:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2146:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L23*/ curfnum[22]; /*_.OUTPUT_C_CODE__V39*/ curfptr[38] = meltgc_send((melt_ptr_t)(/*_.OCLOS__V11*/ curfptr[10]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[25])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2147:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "), (melt_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:2149:/ block"); /*block*/{ /*_.FIRSTARG__V41*/ curfptr[40] = (melt_multiple_nth((melt_ptr_t)(/*_.OARGS__V12*/ curfptr[11]), (0)));; /*_#I__L24*/ curfnum[23] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; MELT_LOCATION("warmelt-outobj.melt:2150:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2150:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2150:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2150:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L24*/ curfnum[23]; /*_.OUTPUT_C_CODE__V42*/ curfptr[41] = meltgc_send((melt_ptr_t)(/*_.FIRSTARG__V41*/ curfptr[40]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[25])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.LET___V40*/ curfptr[39] = /*_.OUTPUT_C_CODE__V42*/ curfptr[41];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2149:/ clear"); /*clear*/ /*_.FIRSTARG__V41*/ curfptr[40] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2149:/ clear"); /*clear*/ /*_#I__L24*/ curfnum[23] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2149:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V42*/ curfptr[41] = 0 ;} ; { MELT_LOCATION("warmelt-outobj.melt:2152:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "), ("));} ; MELT_LOCATION("warmelt-outobj.melt:2156:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2156:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V44*/ curfptr[41] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_26*/ curfrout->tabval[26])), (1)); ; MELT_LOCATION("warmelt-outobj.melt:2156:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V44*/ curfptr[41])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V44*/ curfptr[41]))); ((meltclosure_ptr_t)/*_.LAMBDA___V44*/ curfptr[41])->tabval[0] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; /*_.LAMBDA___V43*/ curfptr[40] = /*_.LAMBDA___V44*/ curfptr[41];;} ; MELT_LOCATION("warmelt-outobj.melt:2154:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2154:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V43*/ curfptr[40]; /*_.LIST_EVERY__V45*/ curfptr[44] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[22])), (melt_ptr_t)(/*_.PARAMDESCLIST__V14*/ curfptr[13]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2159:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "\"\"), "));} ; /*_#I__L25*/ curfnum[23] = ((/*_#NBARG__L4*/ curfnum[1]) > (1));; MELT_LOCATION("warmelt-outobj.melt:2161:/ cond"); /*cond*/ if (/*_#I__L25*/ curfnum[23]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2161:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2161:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2162:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "argtab, ("));} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:2161:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2161:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2163:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "(union meltparam_un*)0, ("));} ; /*epilog*/} ; } ; MELT_LOCATION("warmelt-outobj.melt:2167:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2167:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V47*/ curfptr[46] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_27*/ curfrout->tabval[27])), (1)); ; MELT_LOCATION("warmelt-outobj.melt:2167:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V47*/ curfptr[46])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V47*/ curfptr[46]))); ((meltclosure_ptr_t)/*_.LAMBDA___V47*/ curfptr[46])->tabval[0] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; /*_.LAMBDA___V46*/ curfptr[45] = /*_.LAMBDA___V47*/ curfptr[46];;} ; MELT_LOCATION("warmelt-outobj.melt:2165:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2165:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V46*/ curfptr[45]; /*_.LIST_EVERY__V48*/ curfptr[47] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[22])), (melt_ptr_t)(/*_.RESDESCLIST__V15*/ curfptr[14]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2170:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "\"\"), "));} ; /*_#I__L26*/ curfnum[25] = ((/*_#NBXRES__L5*/ curfnum[4]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2172:/ cond"); /*cond*/ if (/*_#I__L26*/ curfnum[25]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2172:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2172:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2173:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "restab"));} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:2172:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2172:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2174:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "(union meltparam_un*)0"));} ; /*epilog*/} ; } ; { MELT_LOCATION("warmelt-outobj.melt:2175:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ");"));} ; /*_#I__L27*/ curfnum[26] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2176:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L27*/ curfnum[26]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:2177:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "}"));} ; { MELT_LOCATION("warmelt-outobj.melt:2178:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.ALOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.ADEST__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.OCLOS__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.OARGS__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.OXRES__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#NBARG__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#NBXRES__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.PARAMDESCLIST__V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.RESDESCLIST__V15*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#I__L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.BOXDEPTHP1__V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.IFCPP___V17*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.IFCPP___V19*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V21*/ curfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#I__L9*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#I__L10*/ curfnum[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#I__L13*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#I__L16*/ curfnum[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.IF___V22*/ curfptr[21] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#I__L18*/ curfnum[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#I__L21*/ curfnum[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.IF___V30*/ curfptr[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#GET_INT__L22*/ curfnum[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V35*/ curfptr[25] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.LAMBDA___V36*/ curfptr[32] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.LIST_EVERY__V38*/ curfptr[37] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#I__L23*/ curfnum[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V39*/ curfptr[38] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.LET___V40*/ curfptr[39] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.LAMBDA___V43*/ curfptr[40] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.LIST_EVERY__V45*/ curfptr[44] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#I__L25*/ curfnum[23] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.LAMBDA___V46*/ curfptr[45] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_.LIST_EVERY__V48*/ curfptr[47] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#I__L26*/ curfnum[25] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2026:/ clear"); /*clear*/ /*_#I__L27*/ curfnum[26] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2023:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2023:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJMULTIAPPLY", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_79_warmelt_outobj_OUTPUCOD_OBJMULTIAPPLY*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_80_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 CURFRAM_NBVARPTR 4 void* varptr[4]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<4; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 4; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2070:/ getarg"); /*_.CURES__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2070:/ getarg"); if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#CURANK__L1*/ curfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2070:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2071:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2071:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2071:/ ojbmsend.arg"); argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*_.CURCTYP__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURES__V2*/ curfptr[1]), (melt_ptr_t)((/*!GET_CTYPE*/ curfrout->tabval[0])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2072:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURCTYP__V3*/ curfptr[2]), 5, "CTYPE_PARSTRING");/*_.CTYPE_PARSTRING__V4*/ curfptr[3] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:2072:/ locexp"); meltgc_append_list((melt_ptr_t)((/*~RESDESCLIST*/ curfclos->tabval[0])), (melt_ptr_t)(/*_.CTYPE_PARSTRING__V4*/ curfptr[3]));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2071:/ clear"); /*clear*/ /*_.CURCTYP__V3*/ curfptr[2] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2071:/ clear"); /*clear*/ /*_.CTYPE_PARSTRING__V4*/ curfptr[3] = 0 ;} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_80_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_81_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 CURFRAM_NBVARPTR 18 void* varptr[18]; #define CURFRAM_NBVARNUM 11 long varnum[11]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<18; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 18; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2080:/ getarg"); /*_.CURARG__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2080:/ getarg"); if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#CURANK__L1*/ curfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2080:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2081:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2081:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2081:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2081:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmultiapply curarg"; MELT_LOCATION("warmelt-outobj.melt:2081:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L2*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2081:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2081:/ apply.arg"); argtab[3].bp_long = 2081; /*_.DEBUG_MSG_FUN__V4*/ curfptr[3] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V3*/ curfptr[2] = /*_.DEBUG_MSG_FUN__V4*/ curfptr[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2081:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2081:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V4*/ curfptr[3] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2081:/ cppif.else"); /*_.IFCPP___V3*/ curfptr[2] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; /*_#I__L3*/ curfnum[1] = ((/*_#CURANK__L1*/ curfnum[0]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2082:/ cond"); /*cond*/ if (/*_#I__L3*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2082:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2082:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2083:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2083:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2083:/ ojbmsend.arg"); argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*_.CURCTYP__V5*/ curfptr[3] = meltgc_send((melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!GET_CTYPE*/ curfrout->tabval[1])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2084:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2084:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L4*/ curfnum[3] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2084:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2084:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmultiapply curctyp"; MELT_LOCATION("warmelt-outobj.melt:2084:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L4*/ curfnum[3]; MELT_LOCATION("warmelt-outobj.melt:2084:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2084:/ apply.arg"); argtab[3].bp_long = 2084; /*_.DEBUG_MSG_FUN__V7*/ curfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.CURCTYP__V5*/ curfptr[3]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V6*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V7*/ curfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2084:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L4*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2084:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V7*/ curfptr[6] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2084:/ cppif.else"); /*_.IFCPP___V6*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2085:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2085:/ block"); /*block*/{ /*_#IS_A__L5*/ curfnum[3] = melt_is_instance_of((melt_ptr_t)(/*_.CURCTYP__V5*/ curfptr[3]), (melt_ptr_t)((/*!CLASS_CTYPE*/ curfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:2085:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ curfnum[3]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2085:/ cond.then"); /*_.IFELSE___V9*/ curfptr[8] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2085:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2085:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2085:/ locexp"); melt_assert_failed(( "check curctyp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2085)?(2085):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V8*/ curfptr[6] = /*_.IFELSE___V9*/ curfptr[8];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2085:/ clear"); /*clear*/ /*_#IS_A__L5*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2085:/ clear"); /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2085:/ cppif.else"); /*_.IFCPP___V8*/ curfptr[6] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; /*_#GET_INT__L6*/ curfnum[3] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2086:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2086:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2086:/ apply.arg"); argtab[1].bp_long = /*_#GET_INT__L6*/ curfnum[3]; MELT_LOCATION("warmelt-outobj.melt:2086:/ apply.arg"); argtab[2].bp_cstring = "multiapply.arg"; /*_.OUTPUT_LOCATION__V10*/ curfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[3])), (melt_ptr_t)((/*~ALOC*/ curfclos->tabval[0])), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2087:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "argtab["));} ; /*_#I__L7*/ curfnum[6] = ((/*_#CURANK__L1*/ curfnum[0]) - (1));; { MELT_LOCATION("warmelt-outobj.melt:2088:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), (/*_#I__L7*/ curfnum[6]));} ; { MELT_LOCATION("warmelt-outobj.melt:2089:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "]."));} ; MELT_LOCATION("warmelt-outobj.melt:2090:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURCTYP__V5*/ curfptr[3]), 5, "CTYPE_PARSTRING");/*_.CTYPE_PARSTRING__V11*/ curfptr[10] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:2090:/ locexp"); meltgc_append_list((melt_ptr_t)((/*~PARAMDESCLIST*/ curfclos->tabval[3])), (melt_ptr_t)(/*_.CTYPE_PARSTRING__V11*/ curfptr[10]));} ; /*_#NULL__L8*/ curfnum[7] = ((/*_.CURARG__V2*/ curfptr[1]) == NULL);; MELT_LOCATION("warmelt-outobj.melt:2092:/ cond"); /*cond*/ if (/*_#NULL__L8*/ curfnum[7]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2092:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2092:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2093:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "bp_aptr = (melt_ptr_t*)NULL"));} ; /*clear*/ /*_.IFELSE___V12*/ curfptr[11] = 0 ;} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:2092:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2092:/ block"); /*block*/{ /*_#__L9*/ curfnum[8] = ((/*_.CURCTYP__V5*/ curfptr[3]) == ((/*!CTYPE_VALUE*/ curfrout->tabval[4])));; MELT_LOCATION("warmelt-outobj.melt:2094:/ cond"); /*cond*/ if (/*_#__L9*/ curfnum[8]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2094:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2094:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2095:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "bp_aptr = (melt_ptr_t*) &"));} ; /*_#GET_INT__L10*/ curfnum[9] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2096:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2096:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[4]); MELT_LOCATION("warmelt-outobj.melt:2096:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2096:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L10*/ curfnum[9]; /*_.OUTPUT_C_CODE__V14*/ curfptr[13] = meltgc_send((melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2094:/ block"); /*block*/{ /*_.PROGN___V15*/ curfptr[14] = /*_.OUTPUT_C_CODE__V14*/ curfptr[13];;} ; /*_.IFELSE___V13*/ curfptr[12] = /*_.PROGN___V15*/ curfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2094:/ clear"); /*clear*/ /*_#GET_INT__L10*/ curfnum[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2094:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2094:/ clear"); /*clear*/ /*_.PROGN___V15*/ curfptr[14] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:2094:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2094:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2099:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURCTYP__V5*/ curfptr[3]), 6, "CTYPE_ARGFIELD");/*_.CTYPE_ARGFIELD__V16*/ curfptr[13] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:2099:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), melt_string_str((melt_ptr_t)(/*_.CTYPE_ARGFIELD__V16*/ curfptr[13])));} ; { MELT_LOCATION("warmelt-outobj.melt:2100:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( " = "));} ; /*_#GET_INT__L11*/ curfnum[9] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2101:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2101:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[4]); MELT_LOCATION("warmelt-outobj.melt:2101:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2101:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L11*/ curfnum[9]; /*_.OUTPUT_C_CODE__V17*/ curfptr[14] = meltgc_send((melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2098:/ block"); /*block*/{ /*_.PROGN___V18*/ curfptr[17] = /*_.OUTPUT_C_CODE__V17*/ curfptr[14];;} ; /*_.IFELSE___V13*/ curfptr[12] = /*_.PROGN___V18*/ curfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2094:/ clear"); /*clear*/ /*_.CTYPE_ARGFIELD__V16*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2094:/ clear"); /*clear*/ /*_#GET_INT__L11*/ curfnum[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2094:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V17*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2094:/ clear"); /*clear*/ /*_.PROGN___V18*/ curfptr[17] = 0 ;} ; } ; /*_.IFELSE___V12*/ curfptr[11] = /*_.IFELSE___V13*/ curfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2092:/ clear"); /*clear*/ /*_#__L9*/ curfnum[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2092:/ clear"); /*clear*/ /*_.IFELSE___V13*/ curfptr[12] = 0 ;} ; } ; { MELT_LOCATION("warmelt-outobj.melt:2103:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( ";"));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2083:/ clear"); /*clear*/ /*_.CURCTYP__V5*/ curfptr[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2083:/ clear"); /*clear*/ /*_.IFCPP___V6*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2083:/ clear"); /*clear*/ /*_.IFCPP___V8*/ curfptr[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2083:/ clear"); /*clear*/ /*_#GET_INT__L6*/ curfnum[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2083:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V10*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2083:/ clear"); /*clear*/ /*_#I__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2083:/ clear"); /*clear*/ /*_.CTYPE_PARSTRING__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2083:/ clear"); /*clear*/ /*_#NULL__L8*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2083:/ clear"); /*clear*/ /*_.IFELSE___V12*/ curfptr[11] = 0 ;} ; /*epilog*/} ; } /*noelse*/ ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2080:/ clear"); /*clear*/ /*_.IFCPP___V3*/ curfptr[2] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2080:/ clear"); /*clear*/ /*_#I__L3*/ curfnum[1] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_81_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_82_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 CURFRAM_NBVARPTR 15 void* varptr[15]; #define CURFRAM_NBVARNUM 9 long varnum[9]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<15; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 15; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2112:/ getarg"); /*_.CURES__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2112:/ getarg"); if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#CURANK__L1*/ curfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2112:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2113:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2113:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2113:/ ojbmsend.arg"); argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*_.CURESTYP__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURES__V2*/ curfptr[1]), (melt_ptr_t)((/*!GET_CTYPE*/ curfrout->tabval[0])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2114:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2114:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2114:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2114:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmultiapply curestyp"; MELT_LOCATION("warmelt-outobj.melt:2114:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L2*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2114:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2114:/ apply.arg"); argtab[3].bp_long = 2114; /*_.DEBUG_MSG_FUN__V5*/ curfptr[4] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.CURESTYP__V3*/ curfptr[2]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V4*/ curfptr[3] = /*_.DEBUG_MSG_FUN__V5*/ curfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2114:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2114:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V5*/ curfptr[4] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2114:/ cppif.else"); /*_.IFCPP___V4*/ curfptr[3] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2115:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2115:/ block"); /*block*/{ /*_#IS_A__L3*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.CURESTYP__V3*/ curfptr[2]), (melt_ptr_t)((/*!CLASS_CTYPE*/ curfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:2115:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2115:/ cond.then"); /*_.IFELSE___V7*/ curfptr[6] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2115:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2115:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2115:/ locexp"); melt_assert_failed(( "check curestyp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2115)?(2115):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V6*/ curfptr[4] = /*_.IFELSE___V7*/ curfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2115:/ clear"); /*clear*/ /*_#IS_A__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2115:/ clear"); /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2115:/ cppif.else"); /*_.IFCPP___V6*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; /*_#GET_INT__L4*/ curfnum[1] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2116:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2116:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2116:/ apply.arg"); argtab[1].bp_long = /*_#GET_INT__L4*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2116:/ apply.arg"); argtab[2].bp_cstring = "multiapply.xres"; /*_.OUTPUT_LOCATION__V8*/ curfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[3])), (melt_ptr_t)((/*~ALOC*/ curfclos->tabval[0])), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2117:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "restab["));} ; { MELT_LOCATION("warmelt-outobj.melt:2118:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), (/*_#CURANK__L1*/ curfnum[0]));} ; { MELT_LOCATION("warmelt-outobj.melt:2119:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "]."));} ; /*_#NULL__L5*/ curfnum[4] = ((/*_.CURES__V2*/ curfptr[1]) == NULL);; MELT_LOCATION("warmelt-outobj.melt:2121:/ cond"); /*cond*/ if (/*_#NULL__L5*/ curfnum[4]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2121:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2121:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2122:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "bp_aptr = (melt_ptr_t*)NULL"));} ; /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ;} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:2121:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2121:/ block"); /*block*/{ /*_#__L6*/ curfnum[5] = ((/*_.CURESTYP__V3*/ curfptr[2]) == ((/*!CTYPE_VALUE*/ curfrout->tabval[4])));; MELT_LOCATION("warmelt-outobj.melt:2123:/ cond"); /*cond*/ if (/*_#__L6*/ curfnum[5]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2123:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2123:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2124:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "bp_aptr = (melt_ptr_t*) &"));} ; /*_#GET_INT__L7*/ curfnum[6] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2125:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2125:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[3]); MELT_LOCATION("warmelt-outobj.melt:2125:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2125:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L7*/ curfnum[6]; /*_.OUTPUT_C_CODE__V11*/ curfptr[10] = meltgc_send((melt_ptr_t)(/*_.CURES__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2123:/ block"); /*block*/{ /*_.PROGN___V12*/ curfptr[11] = /*_.OUTPUT_C_CODE__V11*/ curfptr[10];;} ; /*_.IFELSE___V10*/ curfptr[9] = /*_.PROGN___V12*/ curfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2123:/ clear"); /*clear*/ /*_#GET_INT__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2123:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2123:/ clear"); /*clear*/ /*_.PROGN___V12*/ curfptr[11] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:2123:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2123:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2128:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURESTYP__V3*/ curfptr[2]), 7, "CTYPE_RESFIELD");/*_.CTYPE_RESFIELD__V13*/ curfptr[10] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:2128:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), melt_string_str((melt_ptr_t)(/*_.CTYPE_RESFIELD__V13*/ curfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:2129:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( " = & "));} ; /*_#GET_INT__L8*/ curfnum[6] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2130:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2130:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[3]); MELT_LOCATION("warmelt-outobj.melt:2130:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2130:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L8*/ curfnum[6]; /*_.OUTPUT_C_CODE__V14*/ curfptr[11] = meltgc_send((melt_ptr_t)(/*_.CURES__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2127:/ block"); /*block*/{ /*_.PROGN___V15*/ curfptr[14] = /*_.OUTPUT_C_CODE__V14*/ curfptr[11];;} ; /*_.IFELSE___V10*/ curfptr[9] = /*_.PROGN___V15*/ curfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2123:/ clear"); /*clear*/ /*_.CTYPE_RESFIELD__V13*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2123:/ clear"); /*clear*/ /*_#GET_INT__L8*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2123:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V14*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2123:/ clear"); /*clear*/ /*_.PROGN___V15*/ curfptr[14] = 0 ;} ; } ; /*_.IFELSE___V9*/ curfptr[8] = /*_.IFELSE___V10*/ curfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2121:/ clear"); /*clear*/ /*_#__L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2121:/ clear"); /*clear*/ /*_.IFELSE___V10*/ curfptr[9] = 0 ;} ; } ; { MELT_LOCATION("warmelt-outobj.melt:2132:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( ";"));} ; /*_#GET_INT__L9*/ curfnum[6] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; { MELT_LOCATION("warmelt-outobj.melt:2133:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), (/*_#GET_INT__L9*/ curfnum[6]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2113:/ clear"); /*clear*/ /*_.CURESTYP__V3*/ curfptr[2] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2113:/ clear"); /*clear*/ /*_.IFCPP___V4*/ curfptr[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2113:/ clear"); /*clear*/ /*_.IFCPP___V6*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2113:/ clear"); /*clear*/ /*_#GET_INT__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2113:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V8*/ curfptr[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2113:/ clear"); /*clear*/ /*_#NULL__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2113:/ clear"); /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2113:/ clear"); /*clear*/ /*_#GET_INT__L9*/ curfnum[6] = 0 ;} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_82_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_83_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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2141:/ getarg"); /*_.CURDEST__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2141:/ block"); /*block*/{ /*_#GET_INT__L1*/ curfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2142:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2142:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:2142:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2142:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURDEST__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2143:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( " = "));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2141:/ clear"); /*clear*/ /*_#GET_INT__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2141:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_83_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_84_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 CURFRAM_NBVARPTR 2 void* varptr[2]; /*no varnum*/ #define CURFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<2; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 2; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2156:/ getarg"); /*_.PARD__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2156:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2157:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.PARD__V2*/ curfptr[1])));} ; { MELT_LOCATION("warmelt-outobj.melt:2158:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), ( " "));} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_84_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_85_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 CURFRAM_NBVARPTR 2 void* varptr[2]; /*no varnum*/ #define CURFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<2; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 2; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2167:/ getarg"); /*_.RESD__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2167:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2168:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.RESD__V2*/ curfptr[1])));} ; { MELT_LOCATION("warmelt-outobj.melt:2169:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), ( " "));} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_85_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_86_warmelt_outobj_OUTPUCOD_OBJMULTIMSEND_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 43 void* varptr[43]; #define CURFRAM_NBVARNUM 24 long varnum[24]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<43; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 43; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJMULTIMSEND", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2187:/ getarg"); /*_.OMSND__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2187:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:2187:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:2187:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2187:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2188:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2188:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OMSND__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJMULTIMSEND*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:2188:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2188:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2188:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2188:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2188:/ locexp"); melt_assert_failed(( "check omsnd"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2188)?(2188):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2188:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2188:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2188:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2189:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2189:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2189:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2189:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmultimsend omsnd"; MELT_LOCATION("warmelt-outobj.melt:2189:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2189:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2189:/ apply.arg"); argtab[3].bp_long = 2189; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OMSND__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2189:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2189:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2189:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:2190:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2190:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMSND__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.OLOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2191:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMSND__V2*/ curfptr[1]), 1, "OBDI_DESTLIST");/*_.ODEST__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2192:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMSND__V2*/ curfptr[1]), 2, "OBMSND_SEL");/*_.OSEL__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2193:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMSND__V2*/ curfptr[1]), 3, "OBMSND_RECV");/*_.ORECV__V12*/ curfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2194:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMSND__V2*/ curfptr[1]), 4, "OBMSND_ARGS");/*_.OARGS__V13*/ curfptr[12] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2195:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OMSND__V2*/ curfptr[1]), 5, "OBMULTSND_XRES");/*_.OXRES__V14*/ curfptr[13] = slot; }; ; /*_#NBARG__L4*/ curfnum[1] = (melt_multiple_length((melt_ptr_t)(/*_.OARGS__V13*/ curfptr[12])));; /*_#NBXRES__L5*/ curfnum[4] = (melt_multiple_length((melt_ptr_t)(/*_.OXRES__V14*/ curfptr[13])));; /*_.PARAMDESCLIST__V15*/ curfptr[14] = (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[2]))));; /*_.RESDESCLIST__V16*/ curfptr[15] = (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ curfrout->tabval[2]))));; /*_#I__L6*/ curfnum[5] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; /*_.BOXDEPTHP1__V17*/ curfptr[16] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[3])), (/*_#I__L6*/ curfnum[5])));; MELT_LOCATION("warmelt-outobj.melt:2202:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2202:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2202:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:2202:/ apply.arg"); argtab[2].bp_cstring = "multimsend"; /*_.OUTPUT_LOCATION__V18*/ curfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2203:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*multimsend*/{"));} ; /*_#I__L7*/ curfnum[6] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2204:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L7*/ curfnum[6]), 0);} ; /*_#I__L8*/ curfnum[7] = ((/*_#NBARG__L4*/ curfnum[1]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2205:/ cond"); /*cond*/ if (/*_#I__L8*/ curfnum[7]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2205:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2205:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2207:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "union meltparam_un argtab["));} ; { MELT_LOCATION("warmelt-outobj.melt:2208:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#NBARG__L4*/ curfnum[1]));} ; { MELT_LOCATION("warmelt-outobj.melt:2209:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "];"));} ; /*_#I__L9*/ curfnum[8] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2210:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L9*/ curfnum[8]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:2206:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2205:/ clear"); /*clear*/ /*_#I__L9*/ curfnum[8] = 0 ;} ; } /*noelse*/ ; /*_#I__L10*/ curfnum[8] = ((/*_#NBXRES__L5*/ curfnum[4]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2212:/ cond"); /*cond*/ if (/*_#I__L10*/ curfnum[8]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2212:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2212:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2214:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "union meltparam_un restab["));} ; { MELT_LOCATION("warmelt-outobj.melt:2215:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#NBXRES__L5*/ curfnum[4]));} ; { MELT_LOCATION("warmelt-outobj.melt:2216:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "];"));} ; /*_#I__L11*/ curfnum[10] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2217:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L11*/ curfnum[10]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:2221:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2221:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V21*/ curfptr[20] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_7*/ curfrout->tabval[7])), (1)); ; MELT_LOCATION("warmelt-outobj.melt:2221:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V21*/ curfptr[20])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V21*/ curfptr[20]))); ((meltclosure_ptr_t)/*_.LAMBDA___V21*/ curfptr[20])->tabval[0] = (melt_ptr_t)(/*_.RESDESCLIST__V16*/ curfptr[15]); ; /*_.LAMBDA___V20*/ curfptr[19] = /*_.LAMBDA___V21*/ curfptr[20];;} ; MELT_LOCATION("warmelt-outobj.melt:2219:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2219:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V20*/ curfptr[19]; /*_.MULTIPLE_EVERY__V22*/ curfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.OXRES__V14*/ curfptr[13]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2213:/ block"); /*block*/{ /*_.PROGN___V23*/ curfptr[22] = /*_.MULTIPLE_EVERY__V22*/ curfptr[21];;} ; /*_.IF___V19*/ curfptr[18] = /*_.PROGN___V23*/ curfptr[22];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2212:/ clear"); /*clear*/ /*_#I__L11*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2212:/ clear"); /*clear*/ /*_.LAMBDA___V20*/ curfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2212:/ clear"); /*clear*/ /*_.MULTIPLE_EVERY__V22*/ curfptr[21] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2212:/ clear"); /*clear*/ /*_.PROGN___V23*/ curfptr[22] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:2212:/ cond.else"); /*_.IF___V19*/ curfptr[18] = NULL;; } ; /*_#I__L12*/ curfnum[10] = ((/*_#NBARG__L4*/ curfnum[1]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2225:/ cond"); /*cond*/ if (/*_#I__L12*/ curfnum[10]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2225:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2225:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2227:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "memset(&argtab, 0, sizeof(argtab));"));} ; /*_#I__L13*/ curfnum[12] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2228:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L13*/ curfnum[12]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:2226:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2225:/ clear"); /*clear*/ /*_#I__L13*/ curfnum[12] = 0 ;} ; } /*noelse*/ ; /*_#I__L14*/ curfnum[12] = ((/*_#NBXRES__L5*/ curfnum[4]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2229:/ cond"); /*cond*/ if (/*_#I__L14*/ curfnum[12]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2229:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2229:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2231:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "memset(&restab, 0, sizeof(restab));"));} ; /*_#I__L15*/ curfnum[14] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2232:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L15*/ curfnum[14]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:2230:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2229:/ clear"); /*clear*/ /*_#I__L15*/ curfnum[14] = 0 ;} ; } /*noelse*/ ; /*_#I__L16*/ curfnum[14] = ((/*_#NBARG__L4*/ curfnum[1]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2234:/ cond"); /*cond*/ if (/*_#I__L16*/ curfnum[14]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2234:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2234:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2239:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2239:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V25*/ curfptr[21] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_14*/ curfrout->tabval[14])), (5)); ; MELT_LOCATION("warmelt-outobj.melt:2239:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V25*/ curfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V25*/ curfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V25*/ curfptr[21])->tabval[0] = (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]); ; MELT_LOCATION("warmelt-outobj.melt:2239:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V25*/ curfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V25*/ curfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V25*/ curfptr[21])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:2239:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V25*/ curfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V25*/ curfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V25*/ curfptr[21])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V17*/ curfptr[16]); ; MELT_LOCATION("warmelt-outobj.melt:2239:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V25*/ curfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 3>= 0 && 3< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V25*/ curfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V25*/ curfptr[21])->tabval[3] = (melt_ptr_t)(/*_.PARAMDESCLIST__V15*/ curfptr[14]); ; MELT_LOCATION("warmelt-outobj.melt:2239:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V25*/ curfptr[21])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 4>= 0 && 4< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V25*/ curfptr[21]))); ((meltclosure_ptr_t)/*_.LAMBDA___V25*/ curfptr[21])->tabval[4] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; /*_.LAMBDA___V24*/ curfptr[19] = /*_.LAMBDA___V25*/ curfptr[21];;} ; MELT_LOCATION("warmelt-outobj.melt:2237:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2237:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V24*/ curfptr[19]; /*_.MULTIPLE_EVERY__V26*/ curfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.OARGS__V13*/ curfptr[12]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_#GET_INT__L17*/ curfnum[16] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V17*/ curfptr[16])));; { MELT_LOCATION("warmelt-outobj.melt:2263:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#GET_INT__L17*/ curfnum[16]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:2235:/ block"); /*block*/{} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2234:/ clear"); /*clear*/ /*_.LAMBDA___V24*/ curfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2234:/ clear"); /*clear*/ /*_.MULTIPLE_EVERY__V26*/ curfptr[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2234:/ clear"); /*clear*/ /*_#GET_INT__L17*/ curfnum[16] = 0 ;} ; } /*noelse*/ ; /*_#I__L18*/ curfnum[16] = ((/*_#NBXRES__L5*/ curfnum[4]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2266:/ cond"); /*cond*/ if (/*_#I__L18*/ curfnum[16]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2266:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2266:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2270:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2270:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V29*/ curfptr[28] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_21*/ curfrout->tabval[21])), (4)); ; MELT_LOCATION("warmelt-outobj.melt:2270:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ curfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ curfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ curfptr[28])->tabval[0] = (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]); ; MELT_LOCATION("warmelt-outobj.melt:2270:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ curfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ curfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ curfptr[28])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:2270:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ curfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ curfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ curfptr[28])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V17*/ curfptr[16]); ; MELT_LOCATION("warmelt-outobj.melt:2270:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V29*/ curfptr[28])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 3>= 0 && 3< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V29*/ curfptr[28]))); ((meltclosure_ptr_t)/*_.LAMBDA___V29*/ curfptr[28])->tabval[3] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; /*_.LAMBDA___V28*/ curfptr[22] = /*_.LAMBDA___V29*/ curfptr[28];;} ; MELT_LOCATION("warmelt-outobj.melt:2268:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2268:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V28*/ curfptr[22]; /*_.MULTIPLE_EVERY__V30*/ curfptr[29] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_EVERY*/ curfrout->tabval[5])), (melt_ptr_t)(/*_.OXRES__V14*/ curfptr[13]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2267:/ block"); /*block*/{ /*_.PROGN___V31*/ curfptr[30] = /*_.MULTIPLE_EVERY__V30*/ curfptr[29];;} ; /*_.IF___V27*/ curfptr[19] = /*_.PROGN___V31*/ curfptr[30];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2266:/ clear"); /*clear*/ /*_.LAMBDA___V28*/ curfptr[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2266:/ clear"); /*clear*/ /*_.MULTIPLE_EVERY__V30*/ curfptr[29] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2266:/ clear"); /*clear*/ /*_.PROGN___V31*/ curfptr[30] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:2266:/ cond.else"); /*_.IF___V27*/ curfptr[19] = NULL;; } ; /*_#GET_INT__L19*/ curfnum[18] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V17*/ curfptr[16])));; MELT_LOCATION("warmelt-outobj.melt:2295:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2295:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2295:/ apply.arg"); argtab[1].bp_long = /*_#GET_INT__L19*/ curfnum[18]; MELT_LOCATION("warmelt-outobj.melt:2295:/ apply.arg"); argtab[2].bp_cstring = "multimsend.send"; /*_.OUTPUT_LOCATION__V32*/ curfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.OLOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2299:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2299:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V34*/ curfptr[30] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_24*/ curfrout->tabval[24])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:2299:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V34*/ curfptr[30])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V34*/ curfptr[30]))); ((meltclosure_ptr_t)/*_.LAMBDA___V34*/ curfptr[30])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:2299:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V34*/ curfptr[30])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V34*/ curfptr[30]))); ((meltclosure_ptr_t)/*_.LAMBDA___V34*/ curfptr[30])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:2299:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V34*/ curfptr[30])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V34*/ curfptr[30]))); ((meltclosure_ptr_t)/*_.LAMBDA___V34*/ curfptr[30])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V17*/ curfptr[16]); ; /*_.LAMBDA___V33*/ curfptr[29] = /*_.LAMBDA___V34*/ curfptr[30];;} ; MELT_LOCATION("warmelt-outobj.melt:2297:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2297:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V33*/ curfptr[29]; /*_.LIST_EVERY__V35*/ curfptr[34] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[22])), (melt_ptr_t)(/*_.ODEST__V10*/ curfptr[9]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2303:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " meltgc_send ((melt_ptr_t)("));} ; /*_#I__L20*/ curfnum[19] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; MELT_LOCATION("warmelt-outobj.melt:2304:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2304:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2304:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2304:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L20*/ curfnum[19]; /*_.OUTPUT_C_CODE__V36*/ curfptr[35] = meltgc_send((melt_ptr_t)(/*_.ORECV__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[25])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2305:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "), ((melt_ptr_t)("));} ; /*_#I__L21*/ curfnum[20] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; MELT_LOCATION("warmelt-outobj.melt:2307:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2307:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2307:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2307:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L21*/ curfnum[20]; /*_.OUTPUT_C_CODE__V37*/ curfptr[36] = meltgc_send((melt_ptr_t)(/*_.OSEL__V11*/ curfptr[10]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[25])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2308:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ")), ("));} ; MELT_LOCATION("warmelt-outobj.melt:2312:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2312:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V39*/ curfptr[38] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_26*/ curfrout->tabval[26])), (1)); ; MELT_LOCATION("warmelt-outobj.melt:2312:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V39*/ curfptr[38])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V39*/ curfptr[38]))); ((meltclosure_ptr_t)/*_.LAMBDA___V39*/ curfptr[38])->tabval[0] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; /*_.LAMBDA___V38*/ curfptr[37] = /*_.LAMBDA___V39*/ curfptr[38];;} ; MELT_LOCATION("warmelt-outobj.melt:2310:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2310:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V38*/ curfptr[37]; /*_.LIST_EVERY__V40*/ curfptr[39] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[22])), (melt_ptr_t)(/*_.PARAMDESCLIST__V15*/ curfptr[14]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2315:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "\"\"), "));} ; /*_#I__L22*/ curfnum[21] = ((/*_#NBARG__L4*/ curfnum[1]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2317:/ cond"); /*cond*/ if (/*_#I__L22*/ curfnum[21]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2317:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2317:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2318:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "argtab, ("));} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:2317:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2317:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2319:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "(union meltparam_un*)0, ("));} ; /*epilog*/} ; } ; MELT_LOCATION("warmelt-outobj.melt:2323:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2323:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V42*/ curfptr[41] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_27*/ curfrout->tabval[27])), (1)); ; MELT_LOCATION("warmelt-outobj.melt:2323:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V42*/ curfptr[41])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V42*/ curfptr[41]))); ((meltclosure_ptr_t)/*_.LAMBDA___V42*/ curfptr[41])->tabval[0] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; /*_.LAMBDA___V41*/ curfptr[40] = /*_.LAMBDA___V42*/ curfptr[41];;} ; MELT_LOCATION("warmelt-outobj.melt:2321:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2321:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V41*/ curfptr[40]; /*_.LIST_EVERY__V43*/ curfptr[42] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[22])), (melt_ptr_t)(/*_.RESDESCLIST__V16*/ curfptr[15]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2326:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "\"\"), "));} ; /*_#I__L23*/ curfnum[22] = ((/*_#NBXRES__L5*/ curfnum[4]) > (0));; MELT_LOCATION("warmelt-outobj.melt:2328:/ cond"); /*cond*/ if (/*_#I__L23*/ curfnum[22]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2328:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2328:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2329:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "restab"));} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:2328:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2328:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2330:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "(union meltparam_un*)0"));} ; /*epilog*/} ; } ; { MELT_LOCATION("warmelt-outobj.melt:2331:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ");"));} ; /*_#I__L24*/ curfnum[23] = ((1) + (/*_#DEPTH__L1*/ curfnum[0]));; { MELT_LOCATION("warmelt-outobj.melt:2332:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L24*/ curfnum[23]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:2333:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "}"));} ; { MELT_LOCATION("warmelt-outobj.melt:2334:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.OLOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.ODEST__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.OSEL__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.ORECV__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.OARGS__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.OXRES__V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#NBARG__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#NBXRES__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.PARAMDESCLIST__V15*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.RESDESCLIST__V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.BOXDEPTHP1__V17*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V18*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L8*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L10*/ curfnum[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.IF___V19*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L12*/ curfnum[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L14*/ curfnum[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L16*/ curfnum[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L18*/ curfnum[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.IF___V27*/ curfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#GET_INT__L19*/ curfnum[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V32*/ curfptr[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.LAMBDA___V33*/ curfptr[29] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.LIST_EVERY__V35*/ curfptr[34] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L20*/ curfnum[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V36*/ curfptr[35] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L21*/ curfnum[20] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V37*/ curfptr[36] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.LAMBDA___V38*/ curfptr[37] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.LIST_EVERY__V40*/ curfptr[39] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L22*/ curfnum[21] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.LAMBDA___V41*/ curfptr[40] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_.LIST_EVERY__V43*/ curfptr[42] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L23*/ curfnum[22] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2190:/ clear"); /*clear*/ /*_#I__L24*/ curfnum[23] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2187:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2187:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJMULTIMSEND", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_86_warmelt_outobj_OUTPUCOD_OBJMULTIMSEND*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_87_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 CURFRAM_NBVARPTR 4 void* varptr[4]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<4; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 4; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2221:/ getarg"); /*_.CURES__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2221:/ getarg"); if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#CURANK__L1*/ curfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2221:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2222:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2222:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2222:/ ojbmsend.arg"); argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*_.CURESTYP__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURES__V2*/ curfptr[1]), (melt_ptr_t)((/*!GET_CTYPE*/ curfrout->tabval[0])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2223:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURESTYP__V3*/ curfptr[2]), 5, "CTYPE_PARSTRING");/*_.CTYPE_PARSTRING__V4*/ curfptr[3] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:2223:/ locexp"); meltgc_append_list((melt_ptr_t)((/*~RESDESCLIST*/ curfclos->tabval[0])), (melt_ptr_t)(/*_.CTYPE_PARSTRING__V4*/ curfptr[3]));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2222:/ clear"); /*clear*/ /*_.CURESTYP__V3*/ curfptr[2] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2222:/ clear"); /*clear*/ /*_.CTYPE_PARSTRING__V4*/ curfptr[3] = 0 ;} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_87_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_88_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 CURFRAM_NBVARPTR 18 void* varptr[18]; #define CURFRAM_NBVARNUM 9 long varnum[9]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<18; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 18; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2239:/ getarg"); /*_.CURARG__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2239:/ getarg"); if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#CURANK__L1*/ curfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2239:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2240:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2240:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2240:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2240:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmultimsend curarg"; MELT_LOCATION("warmelt-outobj.melt:2240:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L2*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2240:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2240:/ apply.arg"); argtab[3].bp_long = 2240; /*_.DEBUG_MSG_FUN__V4*/ curfptr[3] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V3*/ curfptr[2] = /*_.DEBUG_MSG_FUN__V4*/ curfptr[3];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2240:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2240:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V4*/ curfptr[3] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2240:/ cppif.else"); /*_.IFCPP___V3*/ curfptr[2] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:2241:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2241:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2241:/ ojbmsend.arg"); argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*_.CURCTYP__V5*/ curfptr[3] = meltgc_send((melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!GET_CTYPE*/ curfrout->tabval[1])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2242:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2242:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2242:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2242:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmultimsend curctyp"; MELT_LOCATION("warmelt-outobj.melt:2242:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2242:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2242:/ apply.arg"); argtab[3].bp_long = 2242; /*_.DEBUG_MSG_FUN__V7*/ curfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[0])), (melt_ptr_t)(/*_.CURCTYP__V5*/ curfptr[3]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V6*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V7*/ curfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2242:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2242:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V7*/ curfptr[6] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2242:/ cppif.else"); /*_.IFCPP___V6*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2243:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2243:/ block"); /*block*/{ /*_#IS_A__L4*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.CURCTYP__V5*/ curfptr[3]), (melt_ptr_t)((/*!CLASS_CTYPE*/ curfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:2243:/ cond"); /*cond*/ if (/*_#IS_A__L4*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2243:/ cond.then"); /*_.IFELSE___V9*/ curfptr[8] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2243:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2243:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2243:/ locexp"); melt_assert_failed(( "check curctyp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2243)?(2243):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V8*/ curfptr[6] = /*_.IFELSE___V9*/ curfptr[8];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2243:/ clear"); /*clear*/ /*_#IS_A__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2243:/ clear"); /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2243:/ cppif.else"); /*_.IFCPP___V8*/ curfptr[6] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; /*_#GET_INT__L5*/ curfnum[1] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2244:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2244:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2244:/ apply.arg"); argtab[1].bp_long = /*_#GET_INT__L5*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2244:/ apply.arg"); argtab[2].bp_cstring = "multimsend.arg"; /*_.OUTPUT_LOCATION__V10*/ curfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[3])), (melt_ptr_t)((/*~OLOC*/ curfclos->tabval[0])), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2245:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "argtab["));} ; { MELT_LOCATION("warmelt-outobj.melt:2246:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), (/*_#CURANK__L1*/ curfnum[0]));} ; { MELT_LOCATION("warmelt-outobj.melt:2247:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "]."));} ; MELT_LOCATION("warmelt-outobj.melt:2248:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURCTYP__V5*/ curfptr[3]), 5, "CTYPE_PARSTRING");/*_.CTYPE_PARSTRING__V11*/ curfptr[10] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:2248:/ locexp"); meltgc_append_list((melt_ptr_t)((/*~PARAMDESCLIST*/ curfclos->tabval[3])), (melt_ptr_t)(/*_.CTYPE_PARSTRING__V11*/ curfptr[10]));} ; /*_#NULL__L6*/ curfnum[5] = ((/*_.CURARG__V2*/ curfptr[1]) == NULL);; MELT_LOCATION("warmelt-outobj.melt:2250:/ cond"); /*cond*/ if (/*_#NULL__L6*/ curfnum[5]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2250:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2250:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2251:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "bp_aptr = (melt_ptr_t*)NULL"));} ; /*clear*/ /*_.IFELSE___V12*/ curfptr[11] = 0 ;} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:2250:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2250:/ block"); /*block*/{ /*_#__L7*/ curfnum[6] = ((/*_.CURCTYP__V5*/ curfptr[3]) == ((/*!CTYPE_VALUE*/ curfrout->tabval[4])));; MELT_LOCATION("warmelt-outobj.melt:2252:/ cond"); /*cond*/ if (/*_#__L7*/ curfnum[6]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2252:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2252:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2253:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "bp_aptr = (melt_ptr_t*) &"));} ; /*_#GET_INT__L8*/ curfnum[7] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2254:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2254:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[4]); MELT_LOCATION("warmelt-outobj.melt:2254:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2254:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L8*/ curfnum[7]; /*_.OUTPUT_C_CODE__V14*/ curfptr[13] = meltgc_send((melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2252:/ block"); /*block*/{ /*_.PROGN___V15*/ curfptr[14] = /*_.OUTPUT_C_CODE__V14*/ curfptr[13];;} ; /*_.IFELSE___V13*/ curfptr[12] = /*_.PROGN___V15*/ curfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2252:/ clear"); /*clear*/ /*_#GET_INT__L8*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2252:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2252:/ clear"); /*clear*/ /*_.PROGN___V15*/ curfptr[14] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:2252:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2252:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2257:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURCTYP__V5*/ curfptr[3]), 6, "CTYPE_ARGFIELD");/*_.CTYPE_ARGFIELD__V16*/ curfptr[13] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:2257:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), melt_string_str((melt_ptr_t)(/*_.CTYPE_ARGFIELD__V16*/ curfptr[13])));} ; { MELT_LOCATION("warmelt-outobj.melt:2258:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( " = "));} ; /*_#GET_INT__L9*/ curfnum[7] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2259:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2259:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[4]); MELT_LOCATION("warmelt-outobj.melt:2259:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2259:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L9*/ curfnum[7]; /*_.OUTPUT_C_CODE__V17*/ curfptr[14] = meltgc_send((melt_ptr_t)(/*_.CURARG__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2256:/ block"); /*block*/{ /*_.PROGN___V18*/ curfptr[17] = /*_.OUTPUT_C_CODE__V17*/ curfptr[14];;} ; /*_.IFELSE___V13*/ curfptr[12] = /*_.PROGN___V18*/ curfptr[17];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2252:/ clear"); /*clear*/ /*_.CTYPE_ARGFIELD__V16*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2252:/ clear"); /*clear*/ /*_#GET_INT__L9*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2252:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V17*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2252:/ clear"); /*clear*/ /*_.PROGN___V18*/ curfptr[17] = 0 ;} ; } ; /*_.IFELSE___V12*/ curfptr[11] = /*_.IFELSE___V13*/ curfptr[12];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2250:/ clear"); /*clear*/ /*_#__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2250:/ clear"); /*clear*/ /*_.IFELSE___V13*/ curfptr[12] = 0 ;} ; } ; { MELT_LOCATION("warmelt-outobj.melt:2261:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( ";"));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2241:/ clear"); /*clear*/ /*_.CURCTYP__V5*/ curfptr[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2241:/ clear"); /*clear*/ /*_.IFCPP___V6*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2241:/ clear"); /*clear*/ /*_.IFCPP___V8*/ curfptr[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2241:/ clear"); /*clear*/ /*_#GET_INT__L5*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2241:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V10*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2241:/ clear"); /*clear*/ /*_.CTYPE_PARSTRING__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2241:/ clear"); /*clear*/ /*_#NULL__L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2241:/ clear"); /*clear*/ /*_.IFELSE___V12*/ curfptr[11] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2239:/ clear"); /*clear*/ /*_.IFCPP___V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_88_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_89_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 CURFRAM_NBVARPTR 15 void* varptr[15]; #define CURFRAM_NBVARNUM 8 long varnum[8]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<15; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 15; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2270:/ getarg"); /*_.CURES__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2270:/ getarg"); if (xargdescr_[0] != BPAR_LONG) goto lab_endgetargs; /*_#CURANK__L1*/ curfnum[0] = xargtab_[0].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2270:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2271:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2271:/ msend"); /*msend*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2271:/ ojbmsend.arg"); argtab[0].bp_aptr = /*nil*/(melt_ptr_t*)NULL; /*_.CURESTYP__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURES__V2*/ curfptr[1]), (melt_ptr_t)((/*!GET_CTYPE*/ curfrout->tabval[0])), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2272:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2272:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2272:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2272:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objmultimsend curestyp"; MELT_LOCATION("warmelt-outobj.melt:2272:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L2*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2272:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2272:/ apply.arg"); argtab[3].bp_long = 2272; /*_.DEBUG_MSG_FUN__V5*/ curfptr[4] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.CURESTYP__V3*/ curfptr[2]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V4*/ curfptr[3] = /*_.DEBUG_MSG_FUN__V5*/ curfptr[4];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2272:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2272:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V5*/ curfptr[4] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2272:/ cppif.else"); /*_.IFCPP___V4*/ curfptr[3] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2273:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2273:/ block"); /*block*/{ /*_#IS_A__L3*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.CURESTYP__V3*/ curfptr[2]), (melt_ptr_t)((/*!CLASS_CTYPE*/ curfrout->tabval[2])));; MELT_LOCATION("warmelt-outobj.melt:2273:/ cond"); /*cond*/ if (/*_#IS_A__L3*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2273:/ cond.then"); /*_.IFELSE___V7*/ curfptr[6] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2273:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2273:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2273:/ locexp"); melt_assert_failed(( "check curestyp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2273)?(2273):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V6*/ curfptr[4] = /*_.IFELSE___V7*/ curfptr[6];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2273:/ clear"); /*clear*/ /*_#IS_A__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2273:/ clear"); /*clear*/ /*_.IFELSE___V7*/ curfptr[6] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2273:/ cppif.else"); /*_.IFCPP___V6*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; /*_#GET_INT__L4*/ curfnum[1] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2274:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2274:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2274:/ apply.arg"); argtab[1].bp_long = /*_#GET_INT__L4*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2274:/ apply.arg"); argtab[2].bp_cstring = "multimsend.xres"; /*_.OUTPUT_LOCATION__V8*/ curfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[3])), (melt_ptr_t)((/*~OLOC*/ curfclos->tabval[0])), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2275:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "restab["));} ; { MELT_LOCATION("warmelt-outobj.melt:2276:/ locexp"); meltgc_add_strbuf_dec((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), (/*_#CURANK__L1*/ curfnum[0]));} ; { MELT_LOCATION("warmelt-outobj.melt:2277:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "]."));} ; /*_#NULL__L5*/ curfnum[4] = ((/*_.CURES__V2*/ curfptr[1]) == NULL);; MELT_LOCATION("warmelt-outobj.melt:2279:/ cond"); /*cond*/ if (/*_#NULL__L5*/ curfnum[4]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2279:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2279:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2280:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "bp_aptr = (melt_ptr_t*)NULL"));} ; /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ;} ; /*epilog*/} ; } else {MELT_LOCATION("warmelt-outobj.melt:2279:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2279:/ block"); /*block*/{ /*_#__L6*/ curfnum[5] = ((/*_.CURESTYP__V3*/ curfptr[2]) == ((/*!CTYPE_VALUE*/ curfrout->tabval[4])));; MELT_LOCATION("warmelt-outobj.melt:2282:/ cond"); /*cond*/ if (/*_#__L6*/ curfnum[5]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2282:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2282:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2283:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( "bp_aptr = (melt_ptr_t*) &"));} ; /*_#GET_INT__L7*/ curfnum[6] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2284:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2284:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[3]); MELT_LOCATION("warmelt-outobj.melt:2284:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2284:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L7*/ curfnum[6]; /*_.OUTPUT_C_CODE__V11*/ curfptr[10] = meltgc_send((melt_ptr_t)(/*_.CURES__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2282:/ block"); /*block*/{ /*_.PROGN___V12*/ curfptr[11] = /*_.OUTPUT_C_CODE__V11*/ curfptr[10];;} ; /*_.IFELSE___V10*/ curfptr[9] = /*_.PROGN___V12*/ curfptr[11];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2282:/ clear"); /*clear*/ /*_#GET_INT__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2282:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2282:/ clear"); /*clear*/ /*_.PROGN___V12*/ curfptr[11] = 0 ;} ; } else {MELT_LOCATION("warmelt-outobj.melt:2282:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2282:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2287:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.CURESTYP__V3*/ curfptr[2]), 7, "CTYPE_RESFIELD");/*_.CTYPE_RESFIELD__V13*/ curfptr[10] = slot; }; ; { MELT_LOCATION("warmelt-outobj.melt:2287:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), melt_string_str((melt_ptr_t)(/*_.CTYPE_RESFIELD__V13*/ curfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:2288:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( " = "));} ; /*_#GET_INT__L8*/ curfnum[6] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2289:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2289:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[3]); MELT_LOCATION("warmelt-outobj.melt:2289:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2289:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L8*/ curfnum[6]; /*_.OUTPUT_C_CODE__V14*/ curfptr[11] = meltgc_send((melt_ptr_t)(/*_.CURES__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2286:/ block"); /*block*/{ /*_.PROGN___V15*/ curfptr[14] = /*_.OUTPUT_C_CODE__V14*/ curfptr[11];;} ; /*_.IFELSE___V10*/ curfptr[9] = /*_.PROGN___V15*/ curfptr[14];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2282:/ clear"); /*clear*/ /*_.CTYPE_RESFIELD__V13*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2282:/ clear"); /*clear*/ /*_#GET_INT__L8*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2282:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V14*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2282:/ clear"); /*clear*/ /*_.PROGN___V15*/ curfptr[14] = 0 ;} ; } ; /*_.IFELSE___V9*/ curfptr[8] = /*_.IFELSE___V10*/ curfptr[9];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2279:/ clear"); /*clear*/ /*_#__L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2279:/ clear"); /*clear*/ /*_.IFELSE___V10*/ curfptr[9] = 0 ;} ; } ; { MELT_LOCATION("warmelt-outobj.melt:2291:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( ";"));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2271:/ clear"); /*clear*/ /*_.CURESTYP__V3*/ curfptr[2] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2271:/ clear"); /*clear*/ /*_.IFCPP___V4*/ curfptr[3] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2271:/ clear"); /*clear*/ /*_.IFCPP___V6*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2271:/ clear"); /*clear*/ /*_#GET_INT__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2271:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V8*/ curfptr[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2271:/ clear"); /*clear*/ /*_#NULL__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2271:/ clear"); /*clear*/ /*_.IFELSE___V9*/ curfptr[8] = 0 ;} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_89_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_90_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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2299:/ getarg"); /*_.CURDEST__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2299:/ block"); /*block*/{ /*_#GET_INT__L1*/ curfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2300:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2300:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:2300:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2300:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.CURDEST__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2301:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( " = "));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2299:/ clear"); /*clear*/ /*_#GET_INT__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2299:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_90_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_91_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 CURFRAM_NBVARPTR 2 void* varptr[2]; /*no varnum*/ #define CURFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<2; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 2; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2312:/ getarg"); /*_.PARD__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2312:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2313:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.PARD__V2*/ curfptr[1])));} ; { MELT_LOCATION("warmelt-outobj.melt:2314:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), ( " "));} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_91_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_92_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 CURFRAM_NBVARPTR 2 void* varptr[2]; /*no varnum*/ #define CURFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<2; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 2; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2323:/ getarg"); /*_.RESD__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2323:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2324:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), melt_string_str((melt_ptr_t)(/*_.RESD__V2*/ curfptr[1])));} ; { MELT_LOCATION("warmelt-outobj.melt:2325:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[0])), ( " "));} ; /*epilog*/} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_92_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_93_warmelt_outobj_OUTPUCOD_OBJCLEAR_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 12 void* varptr[12]; #define CURFRAM_NBVARNUM 4 long varnum[4]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<12; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 12; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJCLEAR", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2341:/ getarg"); /*_.OCLEAR__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2341:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:2341:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:2341:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2341:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2342:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2342:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OCLEAR__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJCLEAR*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:2342:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2342:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2342:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2342:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2342:/ locexp"); melt_assert_failed(( "check oclear"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2342)?(2342):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2342:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2342:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2342:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2343:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2343:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2343:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2343:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objclear oclear"; MELT_LOCATION("warmelt-outobj.melt:2343:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2343:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2343:/ apply.arg"); argtab[3].bp_long = 2343; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OCLEAR__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2343:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2343:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2343:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:2344:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2344:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCLEAR__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.CLOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2345:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OCLEAR__V2*/ curfptr[1]), 1, "OCLR_VLOC");/*_.CVL__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2347:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2347:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2347:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:2347:/ apply.arg"); argtab[2].bp_cstring = "clear"; /*_.OUTPUT_LOCATION__V11*/ curfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.CLOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2348:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*clear*/ "));} ; /*_#I__L4*/ curfnum[1] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; MELT_LOCATION("warmelt-outobj.melt:2349:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2349:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2349:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2349:/ ojbmsend.arg"); argtab[2].bp_long = /*_#I__L4*/ curfnum[1]; /*_.OUTPUT_C_CODE__V12*/ curfptr[11] = meltgc_send((melt_ptr_t)(/*_.CVL__V10*/ curfptr[9]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2350:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " = 0 "));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2344:/ clear"); /*clear*/ /*_.CLOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2344:/ clear"); /*clear*/ /*_.CVL__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2344:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2344:/ clear"); /*clear*/ /*_#I__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2344:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V12*/ curfptr[11] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2341:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2341:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJCLEAR", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_93_warmelt_outobj_OUTPUCOD_OBJCLEAR*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_94_warmelt_outobj_OUTPUCOD_OBJRAWALLOCOBJ_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 22 void* varptr[22]; #define CURFRAM_NBVARNUM 9 long varnum[9]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<22; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 22; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJRAWALLOCOBJ", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2356:/ getarg"); /*_.ORALOB__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2356:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:2356:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:2356:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2356:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2357:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2357:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.ORALOB__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJRAWALLOCOBJ*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:2357:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2357:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2357:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2357:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2357:/ locexp"); melt_assert_failed(( "check oralob"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2357)?(2357):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2357:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2357:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2357:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2358:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2358:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2358:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2358:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objrawallocobj oralob"; MELT_LOCATION("warmelt-outobj.melt:2358:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2358:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2358:/ apply.arg"); argtab[3].bp_long = 2358; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.ORALOB__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2358:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2358:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2358:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:2359:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2359:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ORALOB__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.ILOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2360:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ORALOB__V2*/ curfptr[1]), 2, "OBRALLOBJ_CLASS");/*_.ICLASS__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2361:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ORALOB__V2*/ curfptr[1]), 4, "OBRALLOBJ_CLASSNAME");/*_.ICLANAME__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2362:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ORALOB__V2*/ curfptr[1]), 3, "OBRALLOBJ_LEN");/*_.ILEN__V12*/ curfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2363:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.ORALOB__V2*/ curfptr[1]), 1, "OBDI_DESTLIST");/*_.DESTLIST__V13*/ curfptr[12] = slot; }; ; /*_#I__L4*/ curfnum[1] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; /*_.BOXDEPTHP1__V14*/ curfptr[13] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[2])), (/*_#I__L4*/ curfnum[1])));; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2366:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2366:/ block"); /*block*/{ /*_#IS_A__L5*/ curfnum[4] = melt_is_instance_of((melt_ptr_t)(/*_.ICLASS__V10*/ curfptr[9]), (melt_ptr_t)((/*!CLASS_OBJVALUE*/ curfrout->tabval[3])));; MELT_LOCATION("warmelt-outobj.melt:2366:/ cond"); /*cond*/ if (/*_#IS_A__L5*/ curfnum[4]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2366:/ cond.then"); /*_.IFELSE___V16*/ curfptr[15] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2366:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2366:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2366:/ locexp"); melt_assert_failed(( "outpucod_objrawallocobj check iclass"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2366)?(2366):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V15*/ curfptr[14] = /*_.IFELSE___V16*/ curfptr[15];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2366:/ clear"); /*clear*/ /*_#IS_A__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2366:/ clear"); /*clear*/ /*_.IFELSE___V16*/ curfptr[15] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2366:/ cppif.else"); /*_.IFCPP___V15*/ curfptr[14] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:2367:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2367:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2367:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:2367:/ apply.arg"); argtab[2].bp_cstring = "rawallocobj"; /*_.OUTPUT_LOCATION__V17*/ curfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.ILOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2368:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*rawallocobj*/ { melt_ptr_t newobj = 0;"));} ; /*_#I__L6*/ curfnum[4] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:2369:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L6*/ curfnum[4]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:2370:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "melt_raw_object_create(newobj,(melt_ptr_t)("));} ; /*_#GET_INT__L7*/ curfnum[6] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V14*/ curfptr[13])));; MELT_LOCATION("warmelt-outobj.melt:2371:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2371:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2371:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2371:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L7*/ curfnum[6]; /*_.OUTPUT_C_CODE__V18*/ curfptr[17] = meltgc_send((melt_ptr_t)(/*_.ICLASS__V10*/ curfptr[9]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2372:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "), ("));} ; /*_#GET_INT__L8*/ curfnum[7] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V14*/ curfptr[13])));; MELT_LOCATION("warmelt-outobj.melt:2373:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2373:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2373:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2373:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L8*/ curfnum[7]; /*_.OUTPUT_C_CODE__V19*/ curfptr[18] = meltgc_send((melt_ptr_t)(/*_.ILEN__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[5])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2374:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "), \""));} ; { MELT_LOCATION("warmelt-outobj.melt:2375:/ locexp"); meltgc_add_strbuf_cstr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.ICLANAME__V11*/ curfptr[10])));} ; { MELT_LOCATION("warmelt-outobj.melt:2376:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "\");"));} ; MELT_LOCATION("warmelt-outobj.melt:2379:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2379:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V21*/ curfptr[20] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_8*/ curfrout->tabval[8])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:2379:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V21*/ curfptr[20])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V21*/ curfptr[20]))); ((meltclosure_ptr_t)/*_.LAMBDA___V21*/ curfptr[20])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:2379:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V21*/ curfptr[20])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V21*/ curfptr[20]))); ((meltclosure_ptr_t)/*_.LAMBDA___V21*/ curfptr[20])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:2379:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V21*/ curfptr[20])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V21*/ curfptr[20]))); ((meltclosure_ptr_t)/*_.LAMBDA___V21*/ curfptr[20])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V14*/ curfptr[13]); ; /*_.LAMBDA___V20*/ curfptr[19] = /*_.LAMBDA___V21*/ curfptr[20];;} ; MELT_LOCATION("warmelt-outobj.melt:2377:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2377:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V20*/ curfptr[19]; /*_.LIST_EVERY__V22*/ curfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[6])), (melt_ptr_t)(/*_.DESTLIST__V13*/ curfptr[12]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_#I__L9*/ curfnum[8] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:2382:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L9*/ curfnum[8]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:2383:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "newobj; };"));} ; { MELT_LOCATION("warmelt-outobj.melt:2384:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.ILOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.ICLASS__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.ICLANAME__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.ILEN__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.DESTLIST__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_#I__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.BOXDEPTHP1__V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.IFCPP___V15*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V17*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_#I__L6*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_#GET_INT__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V18*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_#GET_INT__L8*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V19*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.LAMBDA___V20*/ curfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_.LIST_EVERY__V22*/ curfptr[21] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2359:/ clear"); /*clear*/ /*_#I__L9*/ curfnum[8] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2356:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2356:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJRAWALLOCOBJ", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_94_warmelt_outobj_OUTPUCOD_OBJRAWALLOCOBJ*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_95_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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2379:/ getarg"); /*_.DST__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2379:/ block"); /*block*/{ /*_#GET_INT__L1*/ curfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2380:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2380:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:2380:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2380:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.DST__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2381:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( " ="));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2379:/ clear"); /*clear*/ /*_#GET_INT__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2379:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_95_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_96_warmelt_outobj_OUTPUCOD_OBJNEWCLOSURE_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 21 void* varptr[21]; #define CURFRAM_NBVARNUM 8 long varnum[8]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<21; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 21; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJNEWCLOSURE", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2390:/ getarg"); /*_.OBNCLO__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2390:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:2390:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:2390:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2390:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2391:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2391:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OBNCLO__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJNEWCLOSURE*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:2391:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2391:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2391:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2391:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2391:/ locexp"); melt_assert_failed(( "check oralob"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2391)?(2391):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2391:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2391:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2391:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2392:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2392:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2392:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2392:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objnewclosure obnclo"; MELT_LOCATION("warmelt-outobj.melt:2392:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2392:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2392:/ apply.arg"); argtab[3].bp_long = 2392; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OBNCLO__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2392:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2392:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2392:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:2393:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2393:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBNCLO__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.ILOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2394:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBNCLO__V2*/ curfptr[1]), 2, "OBNCLO_DISCR");/*_.ODISCR__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2395:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBNCLO__V2*/ curfptr[1]), 3, "OBNCLO_ROUT");/*_.OROUT__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2396:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBNCLO__V2*/ curfptr[1]), 4, "OBNCLO_LEN");/*_.OLEN__V12*/ curfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2397:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OBNCLO__V2*/ curfptr[1]), 1, "OBDI_DESTLIST");/*_.DESTLIST__V13*/ curfptr[12] = slot; }; ; /*_#I__L4*/ curfnum[1] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; /*_.BOXDEPTHP1__V14*/ curfptr[13] = (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ curfrout->tabval[2])), (/*_#I__L4*/ curfnum[1])));; MELT_LOCATION("warmelt-outobj.melt:2400:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2400:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2400:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:2400:/ apply.arg"); argtab[2].bp_cstring = "newclosure"; /*_.OUTPUT_LOCATION__V15*/ curfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[3])), (melt_ptr_t)(/*_.ILOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2401:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( " /*newclosure*/ "));} ; MELT_LOCATION("warmelt-outobj.melt:2404:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2404:/ newclosure"); /*newclosure*/ /*_.LAMBDA___V17*/ curfptr[16] = meltgc_new_closure((meltobject_ptr_t)(((void*)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_6*/ curfrout->tabval[6])), (3)); ; MELT_LOCATION("warmelt-outobj.melt:2404:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V17*/ curfptr[16])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V17*/ curfptr[16]))); ((meltclosure_ptr_t)/*_.LAMBDA___V17*/ curfptr[16])->tabval[0] = (melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2]); ; MELT_LOCATION("warmelt-outobj.melt:2404:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V17*/ curfptr[16])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V17*/ curfptr[16]))); ((meltclosure_ptr_t)/*_.LAMBDA___V17*/ curfptr[16])->tabval[1] = (melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]); ; MELT_LOCATION("warmelt-outobj.melt:2404:/ putclosedv"); /*putclosv*/ melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V17*/ curfptr[16])) == OBMAG_CLOSURE); melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V17*/ curfptr[16]))); ((meltclosure_ptr_t)/*_.LAMBDA___V17*/ curfptr[16])->tabval[2] = (melt_ptr_t)(/*_.BOXDEPTHP1__V14*/ curfptr[13]); ; /*_.LAMBDA___V16*/ curfptr[15] = /*_.LAMBDA___V17*/ curfptr[16];;} ; MELT_LOCATION("warmelt-outobj.melt:2402:/ apply"); /*apply*/{ union meltparam_un argtab[1]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2402:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V16*/ curfptr[15]; /*_.LIST_EVERY__V18*/ curfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!LIST_EVERY*/ curfrout->tabval[4])), (melt_ptr_t)(/*_.DESTLIST__V13*/ curfptr[12]), (BPARSTR_PTR ""), argtab, "", (union meltparam_un*)0); } ; /*_#I__L5*/ curfnum[4] = ((/*_#DEPTH__L1*/ curfnum[0]) + (1));; { MELT_LOCATION("warmelt-outobj.melt:2407:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#I__L5*/ curfnum[4]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:2408:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "meltgc_new_closure((meltobject_ptr_t)("));} ; /*_#GET_INT__L6*/ curfnum[5] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V14*/ curfptr[13])));; MELT_LOCATION("warmelt-outobj.melt:2409:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2409:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2409:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2409:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L6*/ curfnum[5]; /*_.OUTPUT_C_CODE__V19*/ curfptr[18] = meltgc_send((melt_ptr_t)(/*_.ODISCR__V10*/ curfptr[9]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[7])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2410:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "), (meltroutine_ptr_t)("));} ; /*_#GET_INT__L7*/ curfnum[6] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V14*/ curfptr[13])));; MELT_LOCATION("warmelt-outobj.melt:2411:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2411:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2411:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2411:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L7*/ curfnum[6]; /*_.OUTPUT_C_CODE__V20*/ curfptr[19] = meltgc_send((melt_ptr_t)(/*_.OROUT__V11*/ curfptr[10]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[7])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2412:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "), ("));} ; /*_#GET_INT__L8*/ curfnum[7] = (melt_get_int((melt_ptr_t)(/*_.BOXDEPTHP1__V14*/ curfptr[13])));; MELT_LOCATION("warmelt-outobj.melt:2413:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2413:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2413:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2413:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L8*/ curfnum[7]; /*_.OUTPUT_C_CODE__V21*/ curfptr[20] = meltgc_send((melt_ptr_t)(/*_.OLEN__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[7])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2414:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "));"));} ; { MELT_LOCATION("warmelt-outobj.melt:2415:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.ILOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.ODISCR__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.OROUT__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.OLEN__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.DESTLIST__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_#I__L4*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.BOXDEPTHP1__V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V15*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.LAMBDA___V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.LIST_EVERY__V18*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_#I__L5*/ curfnum[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_#GET_INT__L6*/ curfnum[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V19*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_#GET_INT__L7*/ curfnum[6] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V20*/ curfptr[19] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_#GET_INT__L8*/ curfnum[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2393:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V21*/ curfptr[20] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2390:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2390:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJNEWCLOSURE", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_96_warmelt_outobj_OUTPUCOD_OBJNEWCLOSURE*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_97_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 CURFRAM_NBVARPTR 3 void* varptr[3]; #define CURFRAM_NBVARNUM 1 long varnum[1]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<3; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 3; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("LAMBDA_", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2404:/ getarg"); /*_.DST__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2404:/ block"); /*block*/{ /*_#GET_INT__L1*/ curfnum[0] = (melt_get_int((melt_ptr_t)((/*~BOXDEPTHP1*/ curfclos->tabval[2]))));; MELT_LOCATION("warmelt-outobj.melt:2405:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2405:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &(/*~DECLBUF*/ curfclos->tabval[0]); MELT_LOCATION("warmelt-outobj.melt:2405:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &(/*~IMPLBUF*/ curfclos->tabval[1]); MELT_LOCATION("warmelt-outobj.melt:2405:/ ojbmsend.arg"); argtab[2].bp_long = /*_#GET_INT__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = meltgc_send((melt_ptr_t)(/*_.DST__V2*/ curfptr[1]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[0])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2406:/ locexp"); meltgc_add_strbuf((melt_ptr_t)((/*~IMPLBUF*/ curfclos->tabval[1])), ( " ="));} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2404:/ clear"); /*clear*/ /*_#GET_INT__L1*/ curfnum[0] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2404:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V3*/ curfptr[2] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("LAMBDA_", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_97_warmelt_outobj_LAMBDA_*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_98_warmelt_outobj_OUTPUCOD_OBJTOUCH_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 11 void* varptr[11]; #define CURFRAM_NBVARNUM 2 long varnum[2]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<11; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 11; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJTOUCH", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2420:/ getarg"); /*_.OTOUCH__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2420:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:2420:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:2420:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2420:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2421:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2421:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OTOUCH__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJTOUCH*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:2421:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2421:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2421:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2421:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2421:/ locexp"); melt_assert_failed(( "check oclear"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2421)?(2421):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2421:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2421:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2421:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:2422:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2422:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OTOUCH__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.ILOC__V7*/ curfptr[5] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2423:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OTOUCH__V2*/ curfptr[1]), 1, "OTOUCH_VAL");/*_.TOUCHED__V8*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2424:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OTOUCH__V2*/ curfptr[1]), 2, "OTOUCH_COMMENT");/*_.COMM__V9*/ curfptr[8] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2426:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2426:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2426:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:2426:/ apply.arg"); argtab[2].bp_cstring = "touch"; /*_.OUTPUT_LOCATION__V10*/ curfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.ILOC__V7*/ curfptr[5]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; MELT_LOCATION("warmelt-outobj.melt:2427:/ cond"); /*cond*/ if (/*_.COMM__V9*/ curfptr[8]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2427:/ cond.then"); MELT_LOCATION("warmelt-outobj.melt:2427:/ block"); /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2429:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*touch:"));} ; { MELT_LOCATION("warmelt-outobj.melt:2430:/ locexp"); meltgc_add_strbuf_cident((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), melt_string_str((melt_ptr_t)(/*_.COMM__V9*/ curfptr[8])));} ; { MELT_LOCATION("warmelt-outobj.melt:2431:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:2432:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; MELT_LOCATION("warmelt-outobj.melt:2428:/ block"); /*block*/{} ; /*epilog*/} ; } /*noelse*/ ; { MELT_LOCATION("warmelt-outobj.melt:2434:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "meltgc_touch("));} ; MELT_LOCATION("warmelt-outobj.melt:2435:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2435:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2435:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2435:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V11*/ curfptr[10] = meltgc_send((melt_ptr_t)(/*_.TOUCHED__V8*/ curfptr[7]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[2])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2436:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ");"));} ; { MELT_LOCATION("warmelt-outobj.melt:2437:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2422:/ clear"); /*clear*/ /*_.ILOC__V7*/ curfptr[5] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2422:/ clear"); /*clear*/ /*_.TOUCHED__V8*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2422:/ clear"); /*clear*/ /*_.COMM__V9*/ curfptr[8] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2422:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2422:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V11*/ curfptr[10] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2420:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJTOUCH", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_98_warmelt_outobj_OUTPUCOD_OBJTOUCH*/ 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_) { #if ENABLE_CHECKING static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++ call_counter__; #define callcount thiscallcounter__ #else #define callcount 0L #endif struct frame_meltrout_99_warmelt_outobj_OUTPUCOD_OBJPUTUPLE_st { unsigned nbvar; #if ENABLE_CHECKING const char* flocs; #endif struct meltclosure_st *clos; struct excepth_melt_st *exh; struct callframe_melt_st *prev; #define CURFRAM_NBVARPTR 20 void* varptr[20]; #define CURFRAM_NBVARNUM 3 long varnum[3]; /*others*/ long _spare_; } *framptr_=0, curfram__; if (MELT_UNLIKELY(xargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc*/ int ix=0; framptr_ = (void*)firstargp_; gt_ggc_mx_melt_un (framptr_->clos); for(ix=0; ix<20; ix++) if (framptr_->varptr[ix]) gt_ggc_mx_melt_un (framptr_->varptr[ix]); return NULL; }/*end markggc*/; memset(&curfram__, 0, sizeof(curfram__)); curfram__.nbvar = 20; curfram__.clos = closp_; curfram__.prev = (struct callframe_melt_st *) melt_topframe; melt_topframe = (struct callframe_melt_st *) &curfram__; melt_trace_start("OUTPUCOD_OBJPUTUPLE", callcount); /*getargs*/ /*getarg#0*/ MELT_LOCATION("warmelt-outobj.melt:2445:/ getarg"); /*_.OPTUP__V2*/ curfptr[1] = (melt_ptr_t) firstargp_; /*getarg#1*/ MELT_LOCATION("warmelt-outobj.melt:2445:/ getarg"); if (xargdescr_[0] != BPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V3*/ curfptr[2] = (xargtab_[0].bp_aptr) ? (*(xargtab_[0].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.DECLBUF__V3*/ curfptr[2])) != NULL); /*getarg#2*/ MELT_LOCATION("warmelt-outobj.melt:2445:/ getarg"); if (xargdescr_[1] != BPAR_PTR) goto lab_endgetargs; /*_.IMPLBUF__V4*/ curfptr[3] = (xargtab_[1].bp_aptr) ? (*(xargtab_[1].bp_aptr)) : NULL; gcc_assert(melt_discr((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3])) != NULL); /*getarg#3*/ MELT_LOCATION("warmelt-outobj.melt:2445:/ getarg"); if (xargdescr_[2] != BPAR_LONG) goto lab_endgetargs; /*_#DEPTH__L1*/ curfnum[0] = xargtab_[2].bp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION("warmelt-outobj.melt:2445:/ block"); /*block*/{ #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2446:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2446:/ block"); /*block*/{ /*_#IS_A__L2*/ curfnum[1] = melt_is_instance_of((melt_ptr_t)(/*_.OPTUP__V2*/ curfptr[1]), (melt_ptr_t)((/*!CLASS_OBJPUTUPLE*/ curfrout->tabval[0])));; MELT_LOCATION("warmelt-outobj.melt:2446:/ cond"); /*cond*/ if (/*_#IS_A__L2*/ curfnum[1]) /*then*/ { MELT_LOCATION("warmelt-outobj.melt:2446:/ cond.then"); /*_.IFELSE___V6*/ curfptr[5] = (/*nil*/NULL);; } else {MELT_LOCATION("warmelt-outobj.melt:2446:/ cond.else"); MELT_LOCATION("warmelt-outobj.melt:2446:/ block"); /*block*/{ /*block*/{ { MELT_LOCATION("warmelt-outobj.melt:2446:/ locexp"); melt_assert_failed(( "check optyp"),( "warmelt-outobj.melt")?( "warmelt-outobj.melt"):__FILE__, (2446)?(2446):__LINE__, __FUNCTION__); ;} ; /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} ; /*epilog*/} ; } ; /*_.IFCPP___V5*/ curfptr[4] = /*_.IFELSE___V6*/ curfptr[5];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2446:/ clear"); /*clear*/ /*_#IS_A__L2*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2446:/ clear"); /*clear*/ /*_.IFELSE___V6*/ curfptr[5] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2446:/ cppif.else"); /*_.IFCPP___V5*/ curfptr[4] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; #if ENABLE_CHECKING MELT_LOCATION("warmelt-outobj.melt:2447:/ cppif.then"); MELT_LOCATION("warmelt-outobj.melt:2447:/ block"); /*block*/{ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = callcount;; MELT_LOCATION("warmelt-outobj.melt:2447:/ apply"); /*apply*/{ union meltparam_un argtab[4]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2447:/ apply.arg"); argtab[0].bp_cstring = "outpucod_objputuple optup"; MELT_LOCATION("warmelt-outobj.melt:2447:/ apply.arg"); argtab[1].bp_long = /*_#THE_CALLCOUNT__L3*/ curfnum[1]; MELT_LOCATION("warmelt-outobj.melt:2447:/ apply.arg"); argtab[2].bp_cstring = "warmelt-outobj.melt"; MELT_LOCATION("warmelt-outobj.melt:2447:/ apply.arg"); argtab[3].bp_long = 2447; /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!DEBUG_MSG_FUN*/ curfrout->tabval[1])), (melt_ptr_t)(/*_.OPTUP__V2*/ curfptr[1]), (BPARSTR_CSTRING BPARSTR_LONG BPARSTR_CSTRING BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; /*_.IFCPP___V7*/ curfptr[5] = /*_.DEBUG_MSG_FUN__V8*/ curfptr[7];; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2447:/ clear"); /*clear*/ /*_#THE_CALLCOUNT__L3*/ curfnum[1] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2447:/ clear"); /*clear*/ /*_.DEBUG_MSG_FUN__V8*/ curfptr[7] = 0 ;} #else /*ENABLE_CHECKING*/ MELT_LOCATION("warmelt-outobj.melt:2447:/ cppif.else"); /*_.IFCPP___V7*/ curfptr[5] = (/*nil*/NULL); #endif /*ENABLE_CHECKING*/ ; MELT_LOCATION("warmelt-outobj.melt:2448:/ block"); /*block*/{ MELT_LOCATION("warmelt-outobj.melt:2448:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OPTUP__V2*/ curfptr[1]), 0, "OBI_LOC");/*_.ILOC__V9*/ curfptr[7] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2449:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OPTUP__V2*/ curfptr[1]), 1, "OPUTU_TUPLED");/*_.OTUP__V10*/ curfptr[9] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2450:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OPTUP__V2*/ curfptr[1]), 2, "OPUTU_OFFSET");/*_.OOFF__V11*/ curfptr[10] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2451:/ getslot"); { melt_ptr_t slot=0; melt_object_get_field(slot,(melt_ptr_t)(/*_.OPTUP__V2*/ curfptr[1]), 3, "OPUTU_VALUE");/*_.OVAL__V12*/ curfptr[11] = slot; }; ; MELT_LOCATION("warmelt-outobj.melt:2452:/ apply"); /*apply*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2452:/ apply.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2452:/ apply.arg"); argtab[1].bp_long = /*_#DEPTH__L1*/ curfnum[0]; MELT_LOCATION("warmelt-outobj.melt:2452:/ apply.arg"); argtab[2].bp_cstring = "putuple"; /*_.OUTPUT_LOCATION__V13*/ curfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_LOCATION*/ curfrout->tabval[2])), (melt_ptr_t)(/*_.ILOC__V9*/ curfptr[7]), (BPARSTR_PTR BPARSTR_LONG BPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2453:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "/*putupl*/"));} ; { MELT_LOCATION("warmelt-outobj.melt:2454:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:2455:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "melt_assertmsg(\"putupl checktup\", melt_magic_discr((melt_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:2456:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2456:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2456:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2456:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V14*/ curfptr[13] = meltgc_send((melt_ptr_t)(/*_.OTUP__V10*/ curfptr[9]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2457:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "))== OBMAG_MULTIPLE);"));} ; { MELT_LOCATION("warmelt-outobj.melt:2458:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:2459:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "melt_assertmsg(\"putupl checkoff\", ("));} ; MELT_LOCATION("warmelt-outobj.melt:2460:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2460:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2460:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2460:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V15*/ curfptr[14] = meltgc_send((melt_ptr_t)(/*_.OOFF__V11*/ curfptr[10]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2461:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ">=0 && "));} ; MELT_LOCATION("warmelt-outobj.melt:2462:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2462:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2462:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2462:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V16*/ curfptr[15] = meltgc_send((melt_ptr_t)(/*_.OOFF__V11*/ curfptr[10]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2463:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "< melt_multiple_length((melt_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:2464:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2464:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2464:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2464:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V17*/ curfptr[16] = meltgc_send((melt_ptr_t)(/*_.OTUP__V10*/ curfptr[9]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2465:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "))));"));} ; { MELT_LOCATION("warmelt-outobj.melt:2466:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; { MELT_LOCATION("warmelt-outobj.melt:2467:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "((meltmultiple_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:2468:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2468:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2468:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2468:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V18*/ curfptr[17] = meltgc_send((melt_ptr_t)(/*_.OTUP__V10*/ curfptr[9]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2469:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "))->tabval["));} ; MELT_LOCATION("warmelt-outobj.melt:2470:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2470:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2470:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2470:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V19*/ curfptr[18] = meltgc_send((melt_ptr_t)(/*_.OOFF__V11*/ curfptr[10]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2471:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( "] = (melt_ptr_t)("));} ; MELT_LOCATION("warmelt-outobj.melt:2472:/ msend"); /*msend*/{ union meltparam_un argtab[3]; memset(&argtab, 0, sizeof(argtab)); MELT_LOCATION("warmelt-outobj.melt:2472:/ ojbmsend.arg"); argtab[0].bp_aptr = (melt_ptr_t*) &/*_.DECLBUF__V3*/ curfptr[2]; MELT_LOCATION("warmelt-outobj.melt:2472:/ ojbmsend.arg"); argtab[1].bp_aptr = (melt_ptr_t*) &/*_.IMPLBUF__V4*/ curfptr[3]; MELT_LOCATION("warmelt-outobj.melt:2472:/ ojbmsend.arg"); argtab[2].bp_long = /*_#DEPTH__L1*/ curfnum[0]; /*_.OUTPUT_C_CODE__V20*/ curfptr[19] = meltgc_send((melt_ptr_t)(/*_.OVAL__V12*/ curfptr[11]), (melt_ptr_t)((/*!OUTPUT_C_CODE*/ curfrout->tabval[3])), (BPARSTR_PTR BPARSTR_PTR BPARSTR_LONG ""), argtab, "", (union meltparam_un*)0); } ; { MELT_LOCATION("warmelt-outobj.melt:2473:/ locexp"); meltgc_add_strbuf((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), ( ");"));} ; { MELT_LOCATION("warmelt-outobj.melt:2474:/ locexp"); meltgc_strbuf_add_indent((melt_ptr_t)(/*_.IMPLBUF__V4*/ curfptr[3]), (/*_#DEPTH__L1*/ curfnum[0]), 0);} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.ILOC__V9*/ curfptr[7] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.OTUP__V10*/ curfptr[9] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.OOFF__V11*/ curfptr[10] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.OVAL__V12*/ curfptr[11] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.OUTPUT_LOCATION__V13*/ curfptr[12] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V14*/ curfptr[13] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V15*/ curfptr[14] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V16*/ curfptr[15] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V17*/ curfptr[16] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V18*/ curfptr[17] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V19*/ curfptr[18] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2448:/ clear"); /*clear*/ /*_.OUTPUT_C_CODE__V20*/ curfptr[19] = 0 ;} ; /*epilog*/ MELT_LOCATION("warmelt-outobj.melt:2445:/ clear"); /*clear*/ /*_.IFCPP___V5*/ curfptr[4] = 0 ; MELT_LOCATION("warmelt-outobj.melt:2445:/ clear"); /*clear*/ /*_.IFCPP___V7*/ curfptr[5] = 0 ;} ; goto labend_rout; labend_rout: melt_trace_end("OUTPUCOD_OBJPUTUPLE", callcount); melt_topframe = (struct callframe_melt_st*) curfram__.prev; return (melt_ptr_t)(/*noretval*/ NULL); #undef callcount #undef CURFRAM_NBVARNUM #undef CURFRAM_NBVARPTR } /*end meltrout_99_warmelt_outobj_OUTPUCOD_OBJPUTUPLE*/ /**** end of warmelt-outobj.0+1.c ****/