/* GCC MELT GENERATED FILE warmelt-genobj+03.c - DO NOT EDIT */ /* secondary MELT generated C file of rank #3 */ #include "melt-run.h" /* used hash from melt-run.h when compiling this file: */ const char used_meltrun_md5_melt_f3[] = MELT_RUN_HASHMD5 /* from melt-run.h */ ; /**** warmelt-genobj+03.c declarations ****/ #define MELT_HAS_INITIAL_ENVIRONMENT 1 struct melt_callframe_st; /*defined in melt-runtime.h */ /**!!** *** Copyright 2008, 2009, 2010, 2011, 2012 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_genobj_MAKE_OBJLOCATEDEXP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_2_warmelt_genobj_MAKE_OBJCOMPUTE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_3_warmelt_genobj_COMPILOBJ_CATCHALL_NREP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_4_warmelt_genobj_PUTOBJDEST_CATCHALL_OBJCODE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_5_warmelt_genobj_PUTOBJDEST_CATCHALL_ANYDISCR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_6_warmelt_genobj_GETCTYPE_OBJVALUE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_7_warmelt_genobj_GECTYP_OBJNIL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_8_warmelt_genobj_GECTYP_OBJINITSTRING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_9_warmelt_genobj_DBGOUT_ROUTINEOBJ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_10_warmelt_genobj_PUTOBJDEST_OBJDESTINSTR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_11_warmelt_genobj_PUTOBJDEST_OBJFINALRETURN (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_12_warmelt_genobj_VARIADIC_IDSTR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_13_warmelt_genobj_VARIADIC_INDEX_IDSTR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_14_warmelt_genobj_VARIADIC_LENGTH_IDSTR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_15_warmelt_genobj_COMPILE2OBJ_PROCEDURE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_16_warmelt_genobj_LAMBDA___1__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_17_warmelt_genobj_LAMBDA___2__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_18_warmelt_genobj_APPEND_COMMENT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_19_warmelt_genobj_APPEND_COMMENTCONST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_20_warmelt_genobj_COMPILE2OBJ_INITPROC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_21_warmelt_genobj_LAMBDA___3__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_22_warmelt_genobj_LAMBDA___4__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_23_warmelt_genobj_LAMBDA___5__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_24_warmelt_genobj_LAMBDA___6__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_25_warmelt_genobj_LAMBDA___7__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_26_warmelt_genobj_LAMBDA___8__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_27_warmelt_genobj_LAMBDA___9__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_28_warmelt_genobj_LAMBDA___10__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_29_warmelt_genobj_GET_FREE_OBJLOCPTR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_30_warmelt_genobj_GET_FREE_OBJLOCLONG (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_31_warmelt_genobj_GET_FREE_OBJLOCTYPED (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_32_warmelt_genobj_DISPOSE_OBJLOC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_33_warmelt_genobj_DISPOSE_BND_OBJ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_34_warmelt_genobj_COMPILOBJ_NREP_CHUNK (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_35_warmelt_genobj_LAMBDA___11__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_36_warmelt_genobj_GETCTYPE_TYPEXPR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_37_warmelt_genobj_COMPILOBJ_NREP_NIL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_warmelt_genobj_COMPILOBJ_NREP_COMMENT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_warmelt_genobj_COMPILOBJ_NREP_LOCSYMOCC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_warmelt_genobj_COMPILOBJ_NREP_CLOSEDOCC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_warmelt_genobj_COMPILOBJ_NREP_CONSTOCC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_warmelt_genobj_COMPILOBJ_NREP_IMPORTEDVAL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_warmelt_genobj_COMPILOBJ_NREP_DEFINEDCONSTANT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_warmelt_genobj_COMPILOBJ_NREP_QUASICONSTANT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_warmelt_genobj_COMPILOBJ_NREP_QUASICONST_CURRENT_MODULE_ENVIRONMENT_CONTAINER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_warmelt_genobj_COMPILOBJ_NREP_FOREVER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_warmelt_genobj_LAMBDA___12__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_warmelt_genobj_COMPILOBJ_NREP_EXIT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_warmelt_genobj_COMPILOBJ_NREP_AGAIN (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_warmelt_genobj_COMPILOBJ_DISCRANY (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_51_warmelt_genobj_COMPILOBJ_NREP_LET (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_52_warmelt_genobj_LAMBDA___13__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_53_warmelt_genobj_LAMBDA___14__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_54_warmelt_genobj_LAMBDA___15__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_55_warmelt_genobj_FAIL_COMPILETRECFILL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_56_warmelt_genobj_COMPILETREC_LAMBDA (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_57_warmelt_genobj_COMPILETREC_TUPLE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_58_warmelt_genobj_COMPILETREC_PAIR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_59_warmelt_genobj_COMPILETREC_LIST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_60_warmelt_genobj_COMPILETREC_INSTANCE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_61_warmelt_genobj_COMPILOBJ_NREP_LETREC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_62_warmelt_genobj_COMPILOBJ_NREP_CITERATION (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_63_warmelt_genobj_LAMBDA___16__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_64_warmelt_genobj_LAMBDA___17__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_65_warmelt_genobj_LAMBDA___18__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_66_warmelt_genobj_LAMBDA___19__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_67_warmelt_genobj_LAMBDA___20__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_68_warmelt_genobj_COMPILOBJ_NREP_SETQ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_69_warmelt_genobj_COMPILOBJ_NREP_PROGN (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_70_warmelt_genobj_LAMBDA___21__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_71_warmelt_genobj_COMPILOBJ_NREP_MULTACC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_72_warmelt_genobj_LAMBDA___22__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_73_warmelt_genobj_COMPILOBJ_NREP_FIELDACC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_74_warmelt_genobj_LAMBDA___23__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_75_warmelt_genobj_COMPILOBJ_NREP_UNSAFE_GET_FIELD (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_76_warmelt_genobj_COMPILOBJ_NREP_UNSAFE_PUT_FIELDS (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_77_warmelt_genobj_LAMBDA___24__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_78_warmelt_genobj_COMPILOBJ_NREP_CHECKSIGNAL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_79_warmelt_genobj_COMPILOBJ_NREP_UNSAFE_NTH_COMPONENT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_80_warmelt_genobj_COMPILOBJ_NREP_APPLY (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_81_warmelt_genobj_LAMBDA___25__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_82_warmelt_genobj_COMPILOBJ_NREP_MULTIAPPLY (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_83_warmelt_genobj_LAMBDA___26__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_84_warmelt_genobj_LAMBDA___27__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_85_warmelt_genobj_LAMBDA___28__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_86_warmelt_genobj_LAMBDA___29__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_87_warmelt_genobj_LAMBDA___30__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_88_warmelt_genobj_COMPILOBJ_NREP_MSEND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_89_warmelt_genobj_LAMBDA___31__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_90_warmelt_genobj_COMPILOBJ_NREP_MULTIMSEND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_91_warmelt_genobj_LAMBDA___32__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_92_warmelt_genobj_LAMBDA___33__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_93_warmelt_genobj_LAMBDA___34__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_94_warmelt_genobj_LAMBDA___35__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_95_warmelt_genobj_COMPILOBJ_ANY_BINDING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_96_warmelt_genobj_COMPILOBJ_VALUE_BINDING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_97_warmelt_genobj_COMPILOBJ_FIXED_BINDING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_98_warmelt_genobj_COMPILOBJ_NORMAL_LET_BINDING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_99_warmelt_genobj_COMPILOBJ_CONSLAMBDABIND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_100_warmelt_genobj_COMPILOBJ_CONSTUPLEBIND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_101_warmelt_genobj_COMPILOBJ_CONSPAIRBIND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_102_warmelt_genobj_COMPILOBJ_CONSLISTBIND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_103_warmelt_genobj_COMPILOBJ_CONSINSTANCEBIND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_104_warmelt_genobj_PUTOBJDEST_OBJVALUE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_105_warmelt_genobj_PUTOBJDEST_INTEGER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_106_warmelt_genobj_PUTOBJDEST_STRING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_107_warmelt_genobj_PUTOBJDEST_NULL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_108_warmelt_genobj_PUTOBJDEST_OBJANYBLOCK (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_109_warmelt_genobj_PUTOBJDEST_OBJMULTIBLOCK (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_110_warmelt_genobj_PUTOBJDEST_OBJLOOP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_111_warmelt_genobj_PUTOBJDEST_OBJEXIT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_112_warmelt_genobj_COMPILOBJ_NREP_IF (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_113_warmelt_genobj_COMPILOBJ_NREP_IFISA (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_114_warmelt_genobj_COMPILOBJ_NREP_IFTUPLESIZED (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_115_warmelt_genobj_COMPILOBJ_NREP_IFVARIADIC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_116_warmelt_genobj_GETCTYPE_IFVARIADIC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_117_warmelt_genobj_COMPILOBJ_NREP_VARIADIC_ARGUMENT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_118_warmelt_genobj_COMPILOBJ_NREP_CONSUMEVARIADIC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_119_warmelt_genobj_PUTOBJDEST_OBJCOND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_120_warmelt_genobj_COMPILOBJ_NREP_CPPIF (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_121_warmelt_genobj_PUTOBJDEST_OBJCPPIF (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_122_warmelt_genobj_COMPILOBJ_NREP_RETURN (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_123_warmelt_genobj_LAMBDA___36__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_124_warmelt_genobj_COMPILOBJ_NREP_LAMBDA (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_125_warmelt_genobj_LAMBDA___37__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_126_warmelt_genobj_COMPILOBJ_NREP_MAKEINST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_127_warmelt_genobj_LAMBDA___38__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_128_warmelt_genobj_COMPILOBJ_ROUTPROC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_129_warmelt_genobj_COMPILOBJ_PREDEF (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_130_warmelt_genobj_COMPIL_DATA_AND_SLOTS_FILL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_131_warmelt_genobj_LAMBDA___39__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_132_warmelt_genobj_LAMBDA___40__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_133_warmelt_genobj_LAMBDA___41__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_134_warmelt_genobj_DISPOSE_DLOCBIND_AFTER_DATA_AND_SLOTS_FILL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_135_warmelt_genobj_LAMBDA___42__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_136_warmelt_genobj_COMPILOBJ_DATASYMBOL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_137_warmelt_genobj_COMPILOBJ_DATAINSTANCE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_138_warmelt_genobj_COMPILOBJ_DATATUPLE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_139_warmelt_genobj_LAMBDA___43__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_140_warmelt_genobj_LAMBDA___44__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_141_warmelt_genobj_COMPILOBJ_DATASTRING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_142_warmelt_genobj_COMPILOBJ_DATABOXEDINTEGER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_143_warmelt_genobj_COMPILOBJ_DATACLOSURE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_144_warmelt_genobj_LAMBDA___45__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_145_warmelt_genobj_COMPILOBJ_DATAROUTINE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_146_warmelt_genobj_LAMBDA___46__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_147_warmelt_genobj_COMPILOBJ_QUASIDATA_CURRENT_MODULE_ENVIRONMENT_CONTAINER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_148_warmelt_genobj_COMPILOBJ_QUASIDATA_PARENT_MODULE_ENVIRONMENT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_149_warmelt_genobj_COMPILOBJ_NREP_STORE_PREDEFINED (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_150_warmelt_genobj_COMPILOBJ_NREP_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_151_warmelt_genobj_LAMBDA___47__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_152_warmelt_genobj_LAMBDA___48__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_153_warmelt_genobj_COMPILTST_ANYTESTER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_154_warmelt_genobj_COMPILOBJ_NREP_MATCH (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_155_warmelt_genobj_LAMBDA___49__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_156_warmelt_genobj_COMPILOBJ_NREP_ALTMATCH (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_157_warmelt_genobj_LAMBDA___50__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_158_warmelt_genobj_COMPILOBJ_NREP_MATCHLABEL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_159_warmelt_genobj_COMPILOBJ_NREP_MATCHFLAG (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_160_warmelt_genobj_COMPILOBJ_NREP_MATCHDATAINIT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_161_warmelt_genobj_COMPILOBJ_NREP_MATCHEDATA (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_162_warmelt_genobj_COMPILOBJ_NREP_MATCHJUMP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_163_warmelt_genobj_NORMTESTER_LABELINSTR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_164_warmelt_genobj_NORMTESTER_GOTOINSTR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_165_warmelt_genobj_ENDMATCH_GOTOINSTR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_166_warmelt_genobj_TESTMATCH_GOTOINSTR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_167_warmelt_genobj_NORMTESTER_FREE_OBJLOC_LIST (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_168_warmelt_genobj_LAMBDA___51__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_169_warmelt_genobj_COMPILTST_NORMTESTER_ANY (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_170_warmelt_genobj_COMPILTST_NORMTESTER_MATCHER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_171_warmelt_genobj_COMPILTST_NORMTESTER_INSTANCE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_172_warmelt_genobj_COMPILTST_NORMTESTER_TUPLE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_173_warmelt_genobj_COMPILTST_NORMTESTER_SAME (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_174_warmelt_genobj_COMPILTST_NORMTESTER_SUCCESS (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_175_warmelt_genobj_COMPILTST_NORMTESTER_ORCLEAR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_176_warmelt_genobj_COMPILTST_NORMTESTER_ORTRANSMIT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_177_warmelt_genobj_COMPILTST_NORMTESTER_DISJUNCTION (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_178_warmelt_genobj_COMPILMATCHER_CMATCHER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_179_warmelt_genobj_LAMBDA___52__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_180_warmelt_genobj_LAMBDA___53__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_181_warmelt_genobj_LAMBDA___54__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_182_warmelt_genobj_LAMBDA___55__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_183_warmelt_genobj_COMPILMATCHER_FUNMATCHER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_184_warmelt_genobj_LAMBDA___56__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_185_warmelt_genobj_LAMBDA___57__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); #ifdef __cplusplus extern "C" #endif void *start_module_melt (void *); /* define different names when debugging or not */ #if MELT_HAVE_DEBUG extern #ifdef __cplusplus "C" #endif /*__cplusplus*/ const char meltmodule_warmelt_genobj__melt_have_debug_enabled[]; #define melt_have_debug_string meltmodule_warmelt_genobj__melt_have_debug_enabled #else /*!MELT_HAVE_DEBUG */ extern #ifdef __cplusplus "C" #endif /*__cplusplus*/ const char meltmodule_warmelt_genobj__melt_have_debug_disabled[]; #define melt_have_debug_string meltmodule_warmelt_genobj__melt_have_debug_disabled #endif /*!MELT_HAVE_DEBUG */ struct frame_start_module_melt_st; void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_0 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_1 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_2 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_3 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_4 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_5 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_6 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_7 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_8 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_9 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_10 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_11 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_12 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_13 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_14 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_15 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_16 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_17 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_18 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_19 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_20 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_21 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_22 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_23 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_24 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_25 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_26 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_27 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_28 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_29 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_30 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_31 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_32 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_33 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_34 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_35 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_36 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__initialmeltchunk_37 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_genobj__forward_or_mark_module_start_frame (struct melt_callframe_st *fp, int marking); /**** warmelt-genobj+03.c implementations ****/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_79_warmelt_genobj_COMPILOBJ_NREP_UNSAFE_NTH_COMPONENT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) { long current_blocklevel_signals_meltrout_79_warmelt_genobj_COMPILOBJ_NREP_UNSAFE_NTH_COMPONENT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_79_warmelt_genobj_COMPILOBJ_NREP_UNSAFE_NTH_COMPONENT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 23 melt_ptr_t mcfr_varptr[23]; #define MELTFRAM_NBVARNUM 6 long mcfr_varnum[6]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_79_warmelt_genobj_COMPILOBJ_NREP_UNSAFE_NTH_COMPONENT_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 23; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 23; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_NREP_UNSAFE_NTH_COMPONENT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3017:/ getarg"); /*_.NUNC__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3018:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NUNC__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_UNSAFE_NTH_COMPONENT */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3018:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3018:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nunc"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3018) ? (3018) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3018:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3019:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3019:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3019:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3019) ? (3019) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3019:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3020:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3020:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3020:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3020; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_unsafe_nth_component nunc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NUNC__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3020:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3020:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3020:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3021:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NUNC__V2*/ meltfptr[1]), 0, "NREP_LOC"); /*_.NLOC__V13*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3022:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NUNC__V2*/ meltfptr[1]), 1, "NUNTH_TUPLE"); /*_.NTUP__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3023:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NUNC__V2*/ meltfptr[1]), 2, "NUNTH_INDEX"); /*_.NIDX__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3024:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OTUP__V16*/ meltfptr[15] = meltgc_send ((melt_ptr_t) ( /*_.NTUP__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3025:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OIDX__V17*/ meltfptr[16] = meltgc_send ((melt_ptr_t) ( /*_.NIDX__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3026:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[6]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!CTYPE_VALUE */ meltfrout->tabval[5]); /*^apply.arg */ argtab[1].meltbp_cstring = "/*unsafenthcomp*/((meltmultiple_ptr_t)("; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OTUP__V16*/ meltfptr[15]; /*^apply.arg */ argtab[3].meltbp_cstring = "))->tabval["; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OIDX__V17*/ meltfptr[16]; /*^apply.arg */ argtab[5].meltbp_cstring = "]"; /*_.OUNC__V18*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t) (( /*!MAKE_OBJCOMPUTE */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.NLOC__V13*/ meltfptr[9]), (MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3029:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[3] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3029:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3029:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3029; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_unsafe_nth_component otup="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OTUP__V16*/ meltfptr[15]; /*^apply.arg */ argtab[5].meltbp_cstring = " oidx="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OIDX__V17*/ meltfptr[16]; /*^apply.arg */ argtab[7].meltbp_cstring = " ounc="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.OUNC__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V20*/ meltfptr[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3029:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = 0; } ; } else { /*^cond.else */ /*_.IF___V20*/ meltfptr[19] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3029:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[20] = /*_.IF___V20*/ meltfptr[19];; /*^compute */ /*_.IFCPP___V19*/ meltfptr[18] = /*_.PROGN___V22*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3029:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.PROGN___V22*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V19*/ meltfptr[18] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3030:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.OUNC__V18*/ meltfptr[17];; { MELT_LOCATION ("warmelt-genobj.melt:3030:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V12*/ meltfptr[8] = /*_.RETURN___V23*/ meltfptr[19];; MELT_LOCATION ("warmelt-genobj.melt:3021:/ clear"); /*clear *//*_.NLOC__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.NTUP__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NIDX__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.OTUP__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.OIDX__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.OUNC__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.RETURN___V23*/ meltfptr[19] = 0; MELT_LOCATION ("warmelt-genobj.melt:3017:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[8];; { MELT_LOCATION ("warmelt-genobj.melt:3017:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_NREP_UNSAFE_NTH_COMPONENT", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_79_warmelt_genobj_COMPILOBJ_NREP_UNSAFE_NTH_COMPONENT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_79_warmelt_genobj_COMPILOBJ_NREP_UNSAFE_NTH_COMPONENT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_80_warmelt_genobj_COMPILOBJ_NREP_APPLY (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_80_warmelt_genobj_COMPILOBJ_NREP_APPLY_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_80_warmelt_genobj_COMPILOBJ_NREP_APPLY_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 27 melt_ptr_t mcfr_varptr[27]; #define MELTFRAM_NBVARNUM 6 long mcfr_varnum[6]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_80_warmelt_genobj_COMPILOBJ_NREP_APPLY_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 27; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 27; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_NREP_APPLY", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3036:/ getarg"); /*_.NAPP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3037:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NAPP__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_APPLY */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3037:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3037:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check napp"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3037) ? (3037) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3037:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3038:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3038:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3038:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3038) ? (3038) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3038:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3039:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NAPP__V2*/ meltfptr[1]), 0, "NREP_LOC"); /*_.LOC__V9*/ meltfptr[8] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3040:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NAPP__V2*/ meltfptr[1]), 3, "NAPP_FUN"); /*_.FUN__V10*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3041:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NAPP__V2*/ meltfptr[1]), 2, "NEXPR_ARGS"); /*_.ARGS__V11*/ meltfptr[10] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3043:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3043:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3043:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3043; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_apply napp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NAPP__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V13*/ meltfptr[12] = /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3043:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_.IF___V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3043:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[11] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3043:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.PROGN___V15*/ meltfptr[13] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[11] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3044:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OCLOS__V17*/ meltfptr[13] = meltgc_send ((melt_ptr_t) ( /*_.FUN__V10*/ meltfptr[9]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3047:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V19*/ meltfptr[18] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_7 */ meltfrout-> tabval[7])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V19*/ meltfptr[18])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V19*/ meltfptr[18]))); ((meltclosure_ptr_t) /*_.LAMBDA___V19*/ meltfptr[18])->tabval[0] = (melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]); ; /*_.LAMBDA___V18*/ meltfptr[17] = /*_.LAMBDA___V19*/ meltfptr[18];; MELT_LOCATION ("warmelt-genobj.melt:3045:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V18*/ meltfptr[17]; /*_.OARGS__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.ARGS__V11*/ meltfptr[10]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.DLIST__V21*/ meltfptr[20] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; MELT_LOCATION ("warmelt-genobj.melt:3054:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJAPPLY */ meltfrout-> tabval[9])), (4), "CLASS_OBJAPPLY"); /*_.INST__V23*/ meltfptr[22] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBI_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (0), ( /*_.LOC__V9*/ meltfptr[8]), "OBI_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBDI_DESTLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (1), ( /*_.DLIST__V21*/ meltfptr[20]), "OBDI_DESTLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBAPP_CLOS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (2), ( /*_.OCLOS__V17*/ meltfptr[13]), "OBAPP_CLOS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBAPP_ARGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (3), ( /*_.OARGS__V20*/ meltfptr[19]), "OBAPP_ARGS"); ; /*_.OAPP__V22*/ meltfptr[21] = /*_.INST__V23*/ meltfptr[22];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3061:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[3] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3061:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3061:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3061; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_apply return oapp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OAPP__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V26*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V25*/ meltfptr[24] = /*_.MELT_DEBUG_FUN__V26*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3061:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V26*/ meltfptr[25] = 0; } ; } else { /*^cond.else */ /*_.IF___V25*/ meltfptr[24] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3061:/ quasiblock"); /*_.PROGN___V27*/ meltfptr[25] = /*_.IF___V25*/ meltfptr[24];; /*^compute */ /*_.IFCPP___V24*/ meltfptr[23] = /*_.PROGN___V27*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3061:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.PROGN___V27*/ meltfptr[25] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V24*/ meltfptr[23] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V16*/ meltfptr[12] = /*_.OAPP__V22*/ meltfptr[21];; MELT_LOCATION ("warmelt-genobj.melt:3044:/ clear"); /*clear *//*_.OCLOS__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.LAMBDA___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.OARGS__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.DLIST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.OAPP__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.IFCPP___V24*/ meltfptr[23] = 0; /*_.LET___V8*/ meltfptr[6] = /*_.LET___V16*/ meltfptr[12];; MELT_LOCATION ("warmelt-genobj.melt:3039:/ clear"); /*clear *//*_.LOC__V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.FUN__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.ARGS__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[12] = 0; MELT_LOCATION ("warmelt-genobj.melt:3036:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V8*/ meltfptr[6];; { MELT_LOCATION ("warmelt-genobj.melt:3036:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[6] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_NREP_APPLY", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_80_warmelt_genobj_COMPILOBJ_NREP_APPLY_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_80_warmelt_genobj_COMPILOBJ_NREP_APPLY */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_81_warmelt_genobj_LAMBDA___25__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_81_warmelt_genobj_LAMBDA___25___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_81_warmelt_genobj_LAMBDA___25___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 6 melt_ptr_t mcfr_varptr[6]; #define MELTFRAM_NBVARNUM 3 long mcfr_varnum[3]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_81_warmelt_genobj_LAMBDA___25___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 6; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 6; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3047:/ getarg"); /*_.COMP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-genobj.melt:3048:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~GCX */ meltfclos->tabval[0]); /*_.OCOMP__V4*/ meltfptr[3] = meltgc_send ((melt_ptr_t) ( /*_.COMP__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3049:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.OCOMP__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_OBJINSTR */ meltfrout-> tabval[1])));; /*^compute */ /*_#NOT__L3*/ meltfnum[2] = (!( /*_#IS_A__L2*/ meltfnum[1]));; MELT_LOCATION ("warmelt-genobj.melt:3049:/ cond"); /*cond */ if ( /*_#NOT__L3*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V6*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3049:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("compilobj_nrep_apply check ocomp not objinstr"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3049) ? (3049) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V6*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3049:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#NOT__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V6*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V3*/ meltfptr[2] = /*_.OCOMP__V4*/ meltfptr[3];; MELT_LOCATION ("warmelt-genobj.melt:3048:/ clear"); /*clear *//*_.OCOMP__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V5*/ meltfptr[4] = 0; MELT_LOCATION ("warmelt-genobj.melt:3047:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-genobj.melt:3047:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.LET___V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_81_warmelt_genobj_LAMBDA___25___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_81_warmelt_genobj_LAMBDA___25__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_82_warmelt_genobj_COMPILOBJ_NREP_MULTIAPPLY (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_82_warmelt_genobj_COMPILOBJ_NREP_MULTIAPPLY_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_82_warmelt_genobj_COMPILOBJ_NREP_MULTIAPPLY_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 50 melt_ptr_t mcfr_varptr[50]; #define MELTFRAM_NBVARNUM 9 long mcfr_varnum[9]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_82_warmelt_genobj_COMPILOBJ_NREP_MULTIAPPLY_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 50; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 50; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_NREP_MULTIAPPLY", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3067:/ getarg"); /*_.NMAPP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3068:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NMAPP__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_MULTIAPPLY */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3068:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3068:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check napp"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3068) ? (3068) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3068:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3069:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3069:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3069:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3069) ? (3069) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3069:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3070:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3070:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3070:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3070; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_multiapply nmapp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NMAPP__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3070:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3070:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3070:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3071:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NMAPP__V2*/ meltfptr[1]), 0, "NREP_LOC"); /*_.LOC__V13*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3072:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NMAPP__V2*/ meltfptr[1]), 4, "NMULAPP_BINDINGS"); /*_.RBINDS__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3073:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NMAPP__V2*/ meltfptr[1]), 3, "NAPP_FUN"); /*_.FUN__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3074:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NMAPP__V2*/ meltfptr[1]), 2, "NEXPR_ARGS"); /*_.ARGS__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3075:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NMAPP__V2*/ meltfptr[1]), 5, "NMULAPP_BODY"); /*_.NBODY__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3076:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), 1, "GNCX_LOCMAP"); /*_.LOCMAP__V18*/ meltfptr[17] = slot; }; ; /*_#NBRES__L5*/ meltfnum[3] = (melt_multiple_length ((melt_ptr_t) ( /*_.RBINDS__V14*/ meltfptr[13])));; MELT_LOCATION ("warmelt-genobj.melt:3081:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V20*/ meltfptr[19] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_7 */ meltfrout-> tabval[7])), (2)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V20*/ meltfptr[19])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V20*/ meltfptr[19]))); ((meltclosure_ptr_t) /*_.LAMBDA___V20*/ meltfptr[19])->tabval[0] = (melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V20*/ meltfptr[19])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V20*/ meltfptr[19]))); ((meltclosure_ptr_t) /*_.LAMBDA___V20*/ meltfptr[19])->tabval[1] = (melt_ptr_t) ( /*_.LOCMAP__V18*/ meltfptr[17]); ; /*_.LAMBDA___V19*/ meltfptr[18] = /*_.LAMBDA___V20*/ meltfptr[19];; MELT_LOCATION ("warmelt-genobj.melt:3079:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V19*/ meltfptr[18]; /*_.RESLOCS__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.RBINDS__V14*/ meltfptr[13]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.OBODL__V22*/ meltfptr[21] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; /*^compute */ /*_.OEPIL__V23*/ meltfptr[22] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; MELT_LOCATION ("warmelt-genobj.melt:3096:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJPLAINBLOCK */ meltfrout->tabval[9])), (3), "CLASS_OBJPLAINBLOCK"); /*_.INST__V25*/ meltfptr[24] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBI_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (0), ( /*_.LOC__V13*/ meltfptr[9]), "OBI_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBLO_BODYL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (1), ( /*_.OBODL__V22*/ meltfptr[21]), "OBLO_BODYL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBLO_EPIL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (2), ( /*_.OEPIL__V23*/ meltfptr[22]), "OBLO_EPIL"); ; /*_.OBLOCK__V24*/ meltfptr[23] = /*_.INST__V25*/ meltfptr[24];; MELT_LOCATION ("warmelt-genobj.melt:3100:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#I__L6*/ meltfnum[0] = (( /*_#NBRES__L5*/ meltfnum[3]) > (1));; MELT_LOCATION ("warmelt-genobj.melt:3100:/ cond"); /*cond */ if ( /*_#I__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#I__L7*/ meltfnum[6] = (( /*_#NBRES__L5*/ meltfnum[3]) - (1));; /*^compute */ /*_.MAKE_MULTIPLE__V27*/ meltfptr[26] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[10])), ( /*_#I__L7*/ meltfnum[6])));; /*^compute */ /*_.OXRES__V26*/ meltfptr[25] = /*_.MAKE_MULTIPLE__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3100:/ clear"); /*clear *//*_#I__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MAKE_MULTIPLE__V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_.OXRES__V26*/ meltfptr[25] = NULL;; } ; /*^compute */ /*_.FIRSTRES__V28*/ meltfptr[26] = (melt_multiple_nth ((melt_ptr_t) ( /*_.RESLOCS__V21*/ meltfptr[20]), (0)));; MELT_LOCATION ("warmelt-genobj.melt:3102:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OFUN__V29*/ meltfptr[28] = meltgc_send ((melt_ptr_t) ( /*_.FUN__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout-> tabval[11])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.RESLIST__V30*/ meltfptr[29] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; MELT_LOCATION ("warmelt-genobj.melt:3105:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V32*/ meltfptr[31] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_13 */ meltfrout-> tabval[13])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V32*/ meltfptr[31])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V32*/ meltfptr[31]))); ((meltclosure_ptr_t) /*_.LAMBDA___V32*/ meltfptr[31])->tabval[0] = (melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]); ; /*_.LAMBDA___V31*/ meltfptr[30] = /*_.LAMBDA___V32*/ meltfptr[31];; MELT_LOCATION ("warmelt-genobj.melt:3104:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V31*/ meltfptr[30]; /*_.OARGS__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.ARGS__V16*/ meltfptr[15]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3107:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OBODY__V34*/ meltfptr[33] = meltgc_send ((melt_ptr_t) ( /*_.NBODY__V17*/ meltfptr[16]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout-> tabval[11])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3108:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-genobj.melt:3111:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.COMPILE_OBJ__V35*/ meltfptr[34] = meltgc_send ((melt_ptr_t) ( /*_.FUN__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout-> tabval[11])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3108:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJMULTIAPPLY */ meltfrout->tabval[14])), (5), "CLASS_OBJMULTIAPPLY"); /*_.INST__V37*/ meltfptr[36] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBI_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V37*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V37*/ meltfptr[36]), (0), ( /*_.LOC__V13*/ meltfptr[9]), "OBI_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBDI_DESTLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V37*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V37*/ meltfptr[36]), (1), ( /*_.RESLIST__V30*/ meltfptr[29]), "OBDI_DESTLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBAPP_CLOS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V37*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V37*/ meltfptr[36]), (2), ( /*_.COMPILE_OBJ__V35*/ meltfptr[34]), "OBAPP_CLOS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBAPP_ARGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V37*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V37*/ meltfptr[36]), (3), ( /*_.OARGS__V33*/ meltfptr[32]), "OBAPP_ARGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBMULTAPP_XRES", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V37*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V37*/ meltfptr[36]), (4), ( /*_.OXRES__V26*/ meltfptr[25]), "OBMULTAPP_XRES"); ; /*_.OMAPP__V36*/ meltfptr[35] = /*_.INST__V37*/ meltfptr[36];; MELT_LOCATION ("warmelt-genobj.melt:3115:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.FIRSTRES__V28*/ meltfptr[26]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { /*^locexp */ meltgc_append_list ((melt_ptr_t) ( /*_.RESLIST__V30*/ meltfptr[29]), (melt_ptr_t) ( /*_.FIRSTRES__V28*/ meltfptr[26])); } ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-genobj.melt:3119:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V39*/ meltfptr[38] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_18 */ meltfrout-> tabval[18])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38]))); ((meltclosure_ptr_t) /*_.LAMBDA___V39*/ meltfptr[38])->tabval[0] = (melt_ptr_t) ( /*_.OBODL__V22*/ meltfptr[21]); ; /*_.LAMBDA___V38*/ meltfptr[37] = /*_.LAMBDA___V39*/ meltfptr[38];; MELT_LOCATION ("warmelt-genobj.melt:3117:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V38*/ meltfptr[37]; /*_.MULTIPLE_EVERY__V40*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[15])), (melt_ptr_t) ( /*_.OARGS__V33*/ meltfptr[32]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-genobj.melt:3123:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.OBODL__V22*/ meltfptr[21]), (melt_ptr_t) ( /*_.OMAPP__V36*/ meltfptr[35])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3125:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.OBODL__V22*/ meltfptr[21]), (melt_ptr_t) ( /*_.OBODY__V34*/ meltfptr[33])); } ; MELT_LOCATION ("warmelt-genobj.melt:3129:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V42*/ meltfptr[41] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_20 */ meltfrout-> tabval[20])), (3)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41]))); ((meltclosure_ptr_t) /*_.LAMBDA___V42*/ meltfptr[41])->tabval[0] = (melt_ptr_t) ( /*_.LOC__V13*/ meltfptr[9]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41]))); ((meltclosure_ptr_t) /*_.LAMBDA___V42*/ meltfptr[41])->tabval[1] = (melt_ptr_t) ( /*_.OEPIL__V23*/ meltfptr[22]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41]))); ((meltclosure_ptr_t) /*_.LAMBDA___V42*/ meltfptr[41])->tabval[2] = (melt_ptr_t) ( /*_.OXRES__V26*/ meltfptr[25]); ; /*_.LAMBDA___V41*/ meltfptr[40] = /*_.LAMBDA___V42*/ meltfptr[41];; MELT_LOCATION ("warmelt-genobj.melt:3127:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V41*/ meltfptr[40]; /*_.MULTIPLE_EVERY__V43*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[15])), (melt_ptr_t) ( /*_.RESLOCS__V21*/ meltfptr[20]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3140:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V45*/ meltfptr[44] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_22 */ meltfrout-> tabval[22])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V45*/ meltfptr[44])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V45*/ meltfptr[44]))); ((meltclosure_ptr_t) /*_.LAMBDA___V45*/ meltfptr[44])->tabval[0] = (melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]); ; /*_.LAMBDA___V44*/ meltfptr[43] = /*_.LAMBDA___V45*/ meltfptr[44];; MELT_LOCATION ("warmelt-genobj.melt:3138:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V44*/ meltfptr[43]; /*_.MULTIPLE_EVERY__V46*/ meltfptr[45] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[15])), (melt_ptr_t) ( /*_.RBINDS__V14*/ meltfptr[13]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3141:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[6] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3141:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3141:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3141; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_multiapply final oblock="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OBLOCK__V24*/ meltfptr[23]; /*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V48*/ meltfptr[47] = /*_.MELT_DEBUG_FUN__V49*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3141:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = 0; } ; } else { /*^cond.else */ /*_.IF___V48*/ meltfptr[47] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3141:/ quasiblock"); /*_.PROGN___V50*/ meltfptr[48] = /*_.IF___V48*/ meltfptr[47];; /*^compute */ /*_.IFCPP___V47*/ meltfptr[46] = /*_.PROGN___V50*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3141:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.PROGN___V50*/ meltfptr[48] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V47*/ meltfptr[46] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V12*/ meltfptr[8] = /*_.OBLOCK__V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-genobj.melt:3071:/ clear"); /*clear *//*_.LOC__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.RBINDS__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.FUN__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.ARGS__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NBODY__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.LOCMAP__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#NBRES__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.LAMBDA___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.RESLOCS__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.OBODL__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.OEPIL__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.OBLOCK__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#I__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.OXRES__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.FIRSTRES__V28*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.OFUN__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.RESLIST__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.LAMBDA___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.OARGS__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.OBODY__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.COMPILE_OBJ__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.OMAPP__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.LAMBDA___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.LAMBDA___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.LAMBDA___V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.IFCPP___V47*/ meltfptr[46] = 0; MELT_LOCATION ("warmelt-genobj.melt:3067:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[8];; { MELT_LOCATION ("warmelt-genobj.melt:3067:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_NREP_MULTIAPPLY", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_82_warmelt_genobj_COMPILOBJ_NREP_MULTIAPPLY_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_82_warmelt_genobj_COMPILOBJ_NREP_MULTIAPPLY */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_83_warmelt_genobj_LAMBDA___26__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_83_warmelt_genobj_LAMBDA___26___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_83_warmelt_genobj_LAMBDA___26___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 10 melt_ptr_t mcfr_varptr[10]; #define MELTFRAM_NBVARNUM 3 long mcfr_varnum[3]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_83_warmelt_genobj_LAMBDA___26___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 10; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 10; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3081:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3082:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3082:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3082:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("compilobj_nrep_multiapply check bind"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3082) ? (3082) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3082:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3084:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.BDER__V6*/ meltfptr[5] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3085:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 1, "FBIND_TYPE"); /*_.CTY__V7*/ meltfptr[6] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3086:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.BDER__V6*/ meltfptr[5]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CTY__V7*/ meltfptr[6]; /*_.OBVA__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!GET_FREE_OBJLOCTYPED */ meltfrout->tabval[1])), (melt_ptr_t) (( /*~GCX */ meltfclos->tabval[0])), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3088:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CTY__V7*/ meltfptr[6]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[2])));; MELT_LOCATION ("warmelt-genobj.melt:3088:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V10*/ meltfptr[9] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3088:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("compilobj_nrep_multiapply check cty"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3088) ? (3088) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V10*/ meltfptr[9] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V9*/ meltfptr[8] = /*_.IFELSE___V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3088:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V10*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3091:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.OBVA__V8*/ meltfptr[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { /*^locexp */ meltgc_put_mapobjects ((meltmapobjects_ptr_t) (( /*~LOCMAP */ meltfclos->tabval[1])), (meltobject_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) ( /*_.OBVA__V8*/ meltfptr[7])); } ; /*epilog */ } ; } /*noelse */ ; /*_.LET___V5*/ meltfptr[3] = /*_.OBVA__V8*/ meltfptr[7];; MELT_LOCATION ("warmelt-genobj.melt:3084:/ clear"); /*clear *//*_.BDER__V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.CTY__V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.OBVA__V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[8] = 0; MELT_LOCATION ("warmelt-genobj.melt:3081:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V5*/ meltfptr[3];; { MELT_LOCATION ("warmelt-genobj.melt:3081:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.LET___V5*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_83_warmelt_genobj_LAMBDA___26___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_83_warmelt_genobj_LAMBDA___26__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_84_warmelt_genobj_LAMBDA___27__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_84_warmelt_genobj_LAMBDA___27___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_84_warmelt_genobj_LAMBDA___27___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; #define MELTFRAM_NBVARNUM 1 long mcfr_varnum[1]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_84_warmelt_genobj_LAMBDA___27___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 3; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 3; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3105:/ getarg"); /*_.COMP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-genobj.melt:3106:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~GCX */ meltfclos->tabval[0]); /*_.COMPILE_OBJ__V3*/ meltfptr[2] = meltgc_send ((melt_ptr_t) ( /*_.COMP__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3105:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.COMPILE_OBJ__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-genobj.melt:3105:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.COMPILE_OBJ__V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_84_warmelt_genobj_LAMBDA___27___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_84_warmelt_genobj_LAMBDA___27__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_85_warmelt_genobj_LAMBDA___28__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_85_warmelt_genobj_LAMBDA___28___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_85_warmelt_genobj_LAMBDA___28___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 2 melt_ptr_t mcfr_varptr[2]; #define MELTFRAM_NBVARNUM 5 long mcfr_varnum[5]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_85_warmelt_genobj_LAMBDA___28___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 2; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 2; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3119:/ getarg"); /*_.OCURARG__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-genobj.melt:3120:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.OCURARG__V2*/ meltfptr[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#IS_NOT_A__L3*/ meltfnum[2] = !melt_is_instance_of ((melt_ptr_t) ( /*_.OCURARG__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_OBJPUREVALUE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3120:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L3*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_#OR___L4*/ meltfnum[3] = /*_#IS_NOT_A__L3*/ meltfnum[2];; } else { MELT_LOCATION ("warmelt-genobj.melt:3120:/ cond.else"); /*^block */ /*anyblock */ { /*_#IS_A__L5*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.OCURARG__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_OBJINSTR */ meltfrout-> tabval[0])));; /*^compute */ /*_#OR___L4*/ meltfnum[3] = /*_#IS_A__L5*/ meltfnum[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3120:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[4] = 0; } ; } ; /*_#IF___L2*/ meltfnum[1] = /*_#OR___L4*/ meltfnum[3];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3120:/ clear"); /*clear *//*_#IS_NOT_A__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_#OR___L4*/ meltfnum[3] = 0; } ; } else { /*^cond.else */ /*_#IF___L2*/ meltfnum[1] = 0;; } ; MELT_LOCATION ("warmelt-genobj.melt:3120:/ cond"); /*cond */ if ( /*_#IF___L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-genobj.melt:3121:/ locexp"); meltgc_append_list ((melt_ptr_t) (( /*~OBODL */ meltfclos->tabval[0])), (melt_ptr_t) ( /*_.OCURARG__V2*/ meltfptr[1])); } ; /*epilog */ } ; } /*noelse */ ; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3119:/ clear"); /*clear *//*_#IF___L2*/ meltfnum[1] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_85_warmelt_genobj_LAMBDA___28___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_85_warmelt_genobj_LAMBDA___28__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_86_warmelt_genobj_LAMBDA___29__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_86_warmelt_genobj_LAMBDA___29___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_86_warmelt_genobj_LAMBDA___29___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 4 melt_ptr_t mcfr_varptr[4]; #define MELTFRAM_NBVARNUM 3 long mcfr_varnum[3]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_86_warmelt_genobj_LAMBDA___29___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 4; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 4; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3129:/ getarg"); /*_.RLOC__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-genobj.melt:3130:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#I__L2*/ meltfnum[1] = (( /*_#IX__L1*/ meltfnum[0]) > (0));; MELT_LOCATION ("warmelt-genobj.melt:3130:/ cond"); /*cond */ if ( /*_#I__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3131:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJCLEAR */ meltfrout->tabval[0])), (2), "CLASS_OBJCLEAR"); /*_.INST__V4*/ meltfptr[3] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBI_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V4*/ meltfptr[3]), (0), (( /*~LOC */ meltfclos->tabval[0])), "OBI_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OCLR_VLOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V4*/ meltfptr[3]), (1), ( /*_.RLOC__V2*/ meltfptr[1]), "OCLR_VLOC"); ; /*_.OCLEAR__V3*/ meltfptr[2] = /*_.INST__V4*/ meltfptr[3];; { MELT_LOCATION ("warmelt-genobj.melt:3134:/ locexp"); meltgc_append_list ((melt_ptr_t) (( /*~OEPIL */ meltfclos->tabval[1])), (melt_ptr_t) ( /*_.OCLEAR__V3*/ meltfptr[2])); } ; /*_#I__L3*/ meltfnum[2] = (( /*_#IX__L1*/ meltfnum[0]) - (1));; { MELT_LOCATION ("warmelt-genobj.melt:3135:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) (( /*~OXRES */ meltfclos->tabval[2])), ( /*_#I__L3*/ meltfnum[2]), (melt_ptr_t) ( /*_.RLOC__V2*/ meltfptr[1])); } ; MELT_LOCATION ("warmelt-genobj.melt:3131:/ clear"); /*clear *//*_.OCLEAR__V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_#I__L3*/ meltfnum[2] = 0; /*epilog */ } ; } /*noelse */ ; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3129:/ clear"); /*clear *//*_#I__L2*/ meltfnum[1] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_86_warmelt_genobj_LAMBDA___29___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_86_warmelt_genobj_LAMBDA___29__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_87_warmelt_genobj_LAMBDA___30__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_87_warmelt_genobj_LAMBDA___30___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_87_warmelt_genobj_LAMBDA___30___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; #define MELTFRAM_NBVARNUM 1 long mcfr_varnum[1]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_87_warmelt_genobj_LAMBDA___30___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 3; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 3; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3140:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~GCX */ meltfclos->tabval[0]); /*_.DISPOSE_BND_OBJ__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t) (( /*!DISPOSE_BND_OBJ */ meltfrout->tabval[0])), (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.DISPOSE_BND_OBJ__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-genobj.melt:3140:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.DISPOSE_BND_OBJ__V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_87_warmelt_genobj_LAMBDA___30___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_87_warmelt_genobj_LAMBDA___30__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_88_warmelt_genobj_COMPILOBJ_NREP_MSEND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_88_warmelt_genobj_COMPILOBJ_NREP_MSEND_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_88_warmelt_genobj_COMPILOBJ_NREP_MSEND_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 33 melt_ptr_t mcfr_varptr[33]; #define MELTFRAM_NBVARNUM 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_88_warmelt_genobj_COMPILOBJ_NREP_MSEND_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 33; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 33; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_NREP_MSEND", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3149:/ getarg"); /*_.NSND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3150:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NSND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_MSEND */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3150:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3150:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nsnd"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3150) ? (3150) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3150:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3151:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3151:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3151:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3151) ? (3151) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3151:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3152:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NSND__V2*/ meltfptr[1]), 0, "NREP_LOC"); /*_.LOC__V9*/ meltfptr[8] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3153:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NSND__V2*/ meltfptr[1]), 3, "NSEND_SEL"); /*_.NSEL__V10*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3154:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NSND__V2*/ meltfptr[1]), 4, "NSEND_RECV"); /*_.NRECV__V11*/ meltfptr[10] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3155:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NSND__V2*/ meltfptr[1]), 2, "NEXPR_ARGS"); /*_.NARGS__V12*/ meltfptr[11] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3157:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3157:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3157:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3157; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_msend nsnd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NSND__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V15*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V14*/ meltfptr[13] = /*_.MELT_DEBUG_FUN__V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3157:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V15*/ meltfptr[14] = 0; } ; } else { /*^cond.else */ /*_.IF___V14*/ meltfptr[13] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3157:/ quasiblock"); /*_.PROGN___V16*/ meltfptr[14] = /*_.IF___V14*/ meltfptr[13];; /*^compute */ /*_.IFCPP___V13*/ meltfptr[12] = /*_.PROGN___V16*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3157:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.PROGN___V16*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3158:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L5*/ meltfnum[3] = (melt_magic_discr ((melt_ptr_t) ( /*_.NRECV__V11*/ meltfptr[10])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-genobj.melt:3158:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*_.IFELSE___V18*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3158:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nrecv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3158) ? (3158) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V18*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V17*/ meltfptr[13] = /*_.IFELSE___V18*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3158:/ clear"); /*clear *//*_#IS_OBJECT__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V18*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3159:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OSEL__V20*/ meltfptr[19] = meltgc_send ((melt_ptr_t) ( /*_.NSEL__V10*/ meltfptr[9]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3160:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.ORECV__V21*/ meltfptr[20] = meltgc_send ((melt_ptr_t) ( /*_.NRECV__V11*/ meltfptr[10]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3163:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V23*/ meltfptr[22] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_7 */ meltfrout-> tabval[7])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V23*/ meltfptr[22])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V23*/ meltfptr[22]))); ((meltclosure_ptr_t) /*_.LAMBDA___V23*/ meltfptr[22])->tabval[0] = (melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]); ; /*_.LAMBDA___V22*/ meltfptr[21] = /*_.LAMBDA___V23*/ meltfptr[22];; MELT_LOCATION ("warmelt-genobj.melt:3161:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V22*/ meltfptr[21]; /*_.OARGS__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.NARGS__V12*/ meltfptr[11]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3172:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MAKE_LIST__V25*/ meltfptr[24] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[9]))));; MELT_LOCATION ("warmelt-genobj.melt:3172:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJMSEND */ meltfrout-> tabval[8])), (5), "CLASS_OBJMSEND"); /*_.INST__V27*/ meltfptr[26] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBI_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (0), ( /*_.LOC__V9*/ meltfptr[8]), "OBI_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBDI_DESTLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (1), ( /*_.MAKE_LIST__V25*/ meltfptr[24]), "OBDI_DESTLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBMSND_SEL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (2), ( /*_.OSEL__V20*/ meltfptr[19]), "OBMSND_SEL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBMSND_RECV", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (3), ( /*_.ORECV__V21*/ meltfptr[20]), "OBMSND_RECV"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBMSND_ARGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (4), ( /*_.OARGS__V24*/ meltfptr[23]), "OBMSND_ARGS"); ; /*_.OSEND__V26*/ meltfptr[25] = /*_.INST__V27*/ meltfptr[26];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3181:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3181:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3181:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3181; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_msend osend="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OSEND__V26*/ meltfptr[25]; /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V29*/ meltfptr[28] = /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3181:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = 0; } ; } else { /*^cond.else */ /*_.IF___V29*/ meltfptr[28] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3181:/ quasiblock"); /*_.PROGN___V31*/ meltfptr[29] = /*_.IF___V29*/ meltfptr[28];; /*^compute */ /*_.IFCPP___V28*/ meltfptr[27] = /*_.PROGN___V31*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3181:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.PROGN___V31*/ meltfptr[29] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V28*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3182:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L8*/ meltfnum[3] = (melt_magic_discr ((melt_ptr_t) ( /*_.ORECV__V21*/ meltfptr[20])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-genobj.melt:3182:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L8*/ meltfnum[3]) /*then */ { /*^cond.then */ /*_.IFELSE___V33*/ meltfptr[29] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3182:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check orecv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3182) ? (3182) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V33*/ meltfptr[29] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V32*/ meltfptr[28] = /*_.IFELSE___V33*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3182:/ clear"); /*clear *//*_#IS_OBJECT__L8*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V33*/ meltfptr[29] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V32*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V19*/ meltfptr[14] = /*_.OSEND__V26*/ meltfptr[25];; MELT_LOCATION ("warmelt-genobj.melt:3159:/ clear"); /*clear *//*_.OSEL__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.ORECV__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.LAMBDA___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.OARGS__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.OSEND__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IFCPP___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V32*/ meltfptr[28] = 0; /*_.LET___V8*/ meltfptr[6] = /*_.LET___V19*/ meltfptr[14];; MELT_LOCATION ("warmelt-genobj.melt:3152:/ clear"); /*clear *//*_.LOC__V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.NSEL__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.NRECV__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.NARGS__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.LET___V19*/ meltfptr[14] = 0; MELT_LOCATION ("warmelt-genobj.melt:3149:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V8*/ meltfptr[6];; { MELT_LOCATION ("warmelt-genobj.melt:3149:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[6] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_NREP_MSEND", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_88_warmelt_genobj_COMPILOBJ_NREP_MSEND_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_88_warmelt_genobj_COMPILOBJ_NREP_MSEND */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_89_warmelt_genobj_LAMBDA___31__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_89_warmelt_genobj_LAMBDA___31___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_89_warmelt_genobj_LAMBDA___31___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 14 melt_ptr_t mcfr_varptr[14]; #define MELTFRAM_NBVARNUM 7 long mcfr_varnum[7]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_89_warmelt_genobj_LAMBDA___31___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 14; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 14; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3163:/ getarg"); /*_.NCURARG__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3164:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L2*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3164:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3164:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3164; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_msend ncurarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCURARG__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " ix="; /*^apply.arg */ argtab[6].meltbp_long = /*_#IX__L1*/ meltfnum[0]; /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3164:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3164:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3164:/ clear"); /*clear *//*_#MELT_NEED_DBG__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3165:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~GCX */ meltfclos->tabval[0]); /*_.OCURARG__V8*/ meltfptr[4] = meltgc_send ((melt_ptr_t) ( /*_.NCURARG__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[1])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3167:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ meltfnum[2] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3167:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3167:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3167; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_msend ocurarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OCURARG__V8*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V10*/ meltfptr[9] = /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3167:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V10*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3167:/ quasiblock"); /*_.PROGN___V12*/ meltfptr[10] = /*_.IF___V10*/ meltfptr[9];; /*^compute */ /*_.IFCPP___V9*/ meltfptr[8] = /*_.PROGN___V12*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3167:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IF___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.PROGN___V12*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3168:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L6*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.OCURARG__V8*/ meltfptr[4])) == MELTOBMAG_MULTIPLE);; /*^compute */ /*_#NOT__L7*/ meltfnum[2] = (!( /*_#IS_MULTIPLE__L6*/ meltfnum[1]));; MELT_LOCATION ("warmelt-genobj.melt:3168:/ cond"); /*cond */ if ( /*_#NOT__L7*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V14*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3168:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ocurarg not tuple"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3168) ? (3168) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V14*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V13*/ meltfptr[9] = /*_.IFELSE___V14*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3168:/ clear"); /*clear *//*_#IS_MULTIPLE__L6*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#NOT__L7*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V14*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V7*/ meltfptr[3] = /*_.OCURARG__V8*/ meltfptr[4];; MELT_LOCATION ("warmelt-genobj.melt:3165:/ clear"); /*clear *//*_.OCURARG__V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[9] = 0; MELT_LOCATION ("warmelt-genobj.melt:3163:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V7*/ meltfptr[3];; { MELT_LOCATION ("warmelt-genobj.melt:3163:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.LET___V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_89_warmelt_genobj_LAMBDA___31___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_89_warmelt_genobj_LAMBDA___31__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_90_warmelt_genobj_COMPILOBJ_NREP_MULTIMSEND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_90_warmelt_genobj_COMPILOBJ_NREP_MULTIMSEND_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_90_warmelt_genobj_COMPILOBJ_NREP_MULTIMSEND_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 51 melt_ptr_t mcfr_varptr[51]; #define MELTFRAM_NBVARNUM 15 long mcfr_varnum[15]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_90_warmelt_genobj_COMPILOBJ_NREP_MULTIMSEND_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 51; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 51; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_NREP_MULTIMSEND", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3189:/ getarg"); /*_.NMSND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3190:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NMSND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_MULTIMSEND */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3190:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3190:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nmsnd"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3190) ? (3190) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3190:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3191:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3191:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3191:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3191) ? (3191) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3191:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3192:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3192:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3192:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3192; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_multimsend nmsnd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NMSND__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3192:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3192:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3192:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3193:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NMSND__V2*/ meltfptr[1]), 0, "NREP_LOC"); /*_.LOC__V13*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3194:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NMSND__V2*/ meltfptr[1]), 5, "NMULSEND_BINDINGS"); /*_.RBINDS__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3195:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NMSND__V2*/ meltfptr[1]), 6, "NMULSEND_BODY"); /*_.NBODY__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3196:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NMSND__V2*/ meltfptr[1]), 3, "NSEND_SEL"); /*_.NSEL__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3197:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NMSND__V2*/ meltfptr[1]), 4, "NSEND_RECV"); /*_.NRECV__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3198:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NMSND__V2*/ meltfptr[1]), 2, "NEXPR_ARGS"); /*_.NARGS__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3199:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), 1, "GNCX_LOCMAP"); /*_.LOCMAP__V19*/ meltfptr[18] = slot; }; ; /*_#NBRES__L5*/ meltfnum[3] = (melt_multiple_length ((melt_ptr_t) ( /*_.RBINDS__V14*/ meltfptr[13])));; MELT_LOCATION ("warmelt-genobj.melt:3204:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V21*/ meltfptr[20] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_7 */ meltfrout-> tabval[7])), (2)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V21*/ meltfptr[20])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V21*/ meltfptr[20]))); ((meltclosure_ptr_t) /*_.LAMBDA___V21*/ meltfptr[20])->tabval[0] = (melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V21*/ meltfptr[20])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V21*/ meltfptr[20]))); ((meltclosure_ptr_t) /*_.LAMBDA___V21*/ meltfptr[20])->tabval[1] = (melt_ptr_t) ( /*_.LOCMAP__V19*/ meltfptr[18]); ; /*_.LAMBDA___V20*/ meltfptr[19] = /*_.LAMBDA___V21*/ meltfptr[20];; MELT_LOCATION ("warmelt-genobj.melt:3202:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V20*/ meltfptr[19]; /*_.RESLOCS__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.RBINDS__V14*/ meltfptr[13]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3217:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#I__L6*/ meltfnum[0] = (( /*_#NBRES__L5*/ meltfnum[3]) > (1));; MELT_LOCATION ("warmelt-genobj.melt:3217:/ cond"); /*cond */ if ( /*_#I__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#I__L7*/ meltfnum[6] = (( /*_#NBRES__L5*/ meltfnum[3]) - (1));; /*^compute */ /*_.MAKE_MULTIPLE__V24*/ meltfptr[23] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[8])), ( /*_#I__L7*/ meltfnum[6])));; /*^compute */ /*_.OXRES__V23*/ meltfptr[22] = /*_.MAKE_MULTIPLE__V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3217:/ clear"); /*clear *//*_#I__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MAKE_MULTIPLE__V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*_.OXRES__V23*/ meltfptr[22] = NULL;; } ; /*^compute */ /*_.FIRSTRES__V25*/ meltfptr[23] = (melt_multiple_nth ((melt_ptr_t) ( /*_.RESLOCS__V22*/ meltfptr[21]), (0)));; MELT_LOCATION ("warmelt-genobj.melt:3220:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OSEL__V26*/ meltfptr[25] = meltgc_send ((melt_ptr_t) ( /*_.NSEL__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[9])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.RESLIST__V27*/ meltfptr[26] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[10]))));; MELT_LOCATION ("warmelt-genobj.melt:3222:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.ORECV__V28*/ meltfptr[27] = meltgc_send ((melt_ptr_t) ( /*_.NRECV__V17*/ meltfptr[16]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[9])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3224:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V30*/ meltfptr[29] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_12 */ meltfrout-> tabval[12])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V30*/ meltfptr[29])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V30*/ meltfptr[29]))); ((meltclosure_ptr_t) /*_.LAMBDA___V30*/ meltfptr[29])->tabval[0] = (melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]); ; /*_.LAMBDA___V29*/ meltfptr[28] = /*_.LAMBDA___V30*/ meltfptr[29];; MELT_LOCATION ("warmelt-genobj.melt:3223:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V29*/ meltfptr[28]; /*_.OARGS__V31*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.NARGS__V18*/ meltfptr[17]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3226:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OBODY__V32*/ meltfptr[31] = meltgc_send ((melt_ptr_t) ( /*_.NBODY__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[9])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.OBODL__V33*/ meltfptr[32] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[10]))));; /*^compute */ /*_.OEPIL__V34*/ meltfptr[33] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[10]))));; MELT_LOCATION ("warmelt-genobj.melt:3229:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJPLAINBLOCK */ meltfrout->tabval[13])), (3), "CLASS_OBJPLAINBLOCK"); /*_.INST__V36*/ meltfptr[35] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBI_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (0), ( /*_.LOC__V13*/ meltfptr[9]), "OBI_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBLO_BODYL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (1), ( /*_.OBODL__V33*/ meltfptr[32]), "OBLO_BODYL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBLO_EPIL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (2), ( /*_.OEPIL__V34*/ meltfptr[33]), "OBLO_EPIL"); ; /*_.OBLOCK__V35*/ meltfptr[34] = /*_.INST__V36*/ meltfptr[35];; MELT_LOCATION ("warmelt-genobj.melt:3233:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJMULTIMSEND */ meltfrout->tabval[14])), (6), "CLASS_OBJMULTIMSEND"); /*_.INST__V38*/ meltfptr[37] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBI_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V38*/ meltfptr[37])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V38*/ meltfptr[37]), (0), ( /*_.LOC__V13*/ meltfptr[9]), "OBI_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBDI_DESTLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V38*/ meltfptr[37])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V38*/ meltfptr[37]), (1), ( /*_.RESLIST__V27*/ meltfptr[26]), "OBDI_DESTLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBMSND_SEL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V38*/ meltfptr[37])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V38*/ meltfptr[37]), (2), ( /*_.OSEL__V26*/ meltfptr[25]), "OBMSND_SEL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBMSND_RECV", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V38*/ meltfptr[37])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V38*/ meltfptr[37]), (3), ( /*_.ORECV__V28*/ meltfptr[27]), "OBMSND_RECV"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBMSND_ARGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V38*/ meltfptr[37])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V38*/ meltfptr[37]), (4), ( /*_.OARGS__V31*/ meltfptr[30]), "OBMSND_ARGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBMULTSND_XRES", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V38*/ meltfptr[37])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V38*/ meltfptr[37]), (5), ( /*_.OXRES__V23*/ meltfptr[22]), "OBMULTSND_XRES"); ; /*_.OMSEND__V37*/ meltfptr[36] = /*_.INST__V38*/ meltfptr[37];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3241:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L8*/ meltfnum[6] = (melt_magic_discr ((melt_ptr_t) ( /*_.ORECV__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-genobj.melt:3241:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L8*/ meltfnum[6]) /*then */ { /*^cond.then */ /*_.IFELSE___V40*/ meltfptr[39] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3241:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check orecv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3241) ? (3241) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V40*/ meltfptr[39] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V39*/ meltfptr[38] = /*_.IFELSE___V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3241:/ clear"); /*clear *//*_#IS_OBJECT__L8*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V40*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V39*/ meltfptr[38] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3242:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.FIRSTRES__V25*/ meltfptr[23]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { /*^locexp */ meltgc_append_list ((melt_ptr_t) ( /*_.RESLIST__V27*/ meltfptr[26]), (melt_ptr_t) ( /*_.FIRSTRES__V25*/ meltfptr[23])); } ; /*epilog */ } ; } /*noelse */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.OARGS__V31*/ meltfptr[30]); for ( /*_#IX__L9*/ meltfnum[6] = 0; ( /*_#IX__L9*/ meltfnum[6] >= 0) && ( /*_#IX__L9*/ meltfnum[6] < meltcit1__EACHTUP_ln); /*_#IX__L9*/ meltfnum[6]++) { /*_.OCURARG__V41*/ meltfptr[39] = melt_multiple_nth ((melt_ptr_t) ( /*_.OARGS__V31*/ meltfptr[30]), /*_#IX__L9*/ meltfnum[6]); MELT_LOCATION ("warmelt-genobj.melt:3247:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.OCURARG__V41*/ meltfptr[39]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#IS_NOT_A__L11*/ meltfnum[10] = !melt_is_instance_of ((melt_ptr_t) ( /*_.OCURARG__V41*/ meltfptr[39]), (melt_ptr_t) (( /*!CLASS_OBJPUREVALUE */ meltfrout->tabval[16])));; MELT_LOCATION ("warmelt-genobj.melt:3247:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L11*/ meltfnum[10]) /*then */ { /*^cond.then */ /*_#OR___L12*/ meltfnum[11] = /*_#IS_NOT_A__L11*/ meltfnum[10];; } else { MELT_LOCATION ("warmelt-genobj.melt:3247:/ cond.else"); /*^block */ /*anyblock */ { /*_#IS_A__L13*/ meltfnum[12] = melt_is_instance_of ((melt_ptr_t) ( /*_.OCURARG__V41*/ meltfptr[39]), (melt_ptr_t) (( /*!CLASS_OBJINSTR */ meltfrout->tabval[15])));; /*^compute */ /*_#OR___L12*/ meltfnum[11] = /*_#IS_A__L13*/ meltfnum[12];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3247:/ clear"); /*clear *//*_#IS_A__L13*/ meltfnum[12] = 0; } ; } ; /*_#IF___L10*/ meltfnum[9] = /*_#OR___L12*/ meltfnum[11];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3247:/ clear"); /*clear *//*_#IS_NOT_A__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_#OR___L12*/ meltfnum[11] = 0; } ; } else { /*^cond.else */ /*_#IF___L10*/ meltfnum[9] = 0;; } ; MELT_LOCATION ("warmelt-genobj.melt:3247:/ cond"); /*cond */ if ( /*_#IF___L10*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-genobj.melt:3248:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.OBODL__V33*/ meltfptr[32]), (melt_ptr_t) ( /*_.OCURARG__V41*/ meltfptr[39])); } ; /*epilog */ } ; } /*noelse */ ; if ( /*_#IX__L9*/ meltfnum[6] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-genobj.melt:3244:/ clear"); /*clear *//*_.OCURARG__V41*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_#IX__L9*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_#IF___L10*/ meltfnum[9] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-genobj.melt:3250:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.OBODL__V33*/ meltfptr[32]), (melt_ptr_t) ( /*_.OMSEND__V37*/ meltfptr[36])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3252:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.OBODL__V33*/ meltfptr[32]), (melt_ptr_t) ( /*_.OBODY__V32*/ meltfptr[31])); } ; MELT_LOCATION ("warmelt-genobj.melt:3256:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V43*/ meltfptr[42] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_19 */ meltfrout-> tabval[19])), (3)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V43*/ meltfptr[42])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V43*/ meltfptr[42]))); ((meltclosure_ptr_t) /*_.LAMBDA___V43*/ meltfptr[42])->tabval[0] = (melt_ptr_t) ( /*_.LOC__V13*/ meltfptr[9]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V43*/ meltfptr[42])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V43*/ meltfptr[42]))); ((meltclosure_ptr_t) /*_.LAMBDA___V43*/ meltfptr[42])->tabval[1] = (melt_ptr_t) ( /*_.OEPIL__V34*/ meltfptr[33]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V43*/ meltfptr[42])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V43*/ meltfptr[42]))); ((meltclosure_ptr_t) /*_.LAMBDA___V43*/ meltfptr[42])->tabval[2] = (melt_ptr_t) ( /*_.OXRES__V23*/ meltfptr[22]); ; /*_.LAMBDA___V42*/ meltfptr[41] = /*_.LAMBDA___V43*/ meltfptr[42];; MELT_LOCATION ("warmelt-genobj.melt:3254:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V42*/ meltfptr[41]; /*_.MULTIPLE_EVERY__V44*/ meltfptr[43] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.RESLOCS__V22*/ meltfptr[21]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3266:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V46*/ meltfptr[45] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_21 */ meltfrout-> tabval[21])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V46*/ meltfptr[45])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V46*/ meltfptr[45]))); ((meltclosure_ptr_t) /*_.LAMBDA___V46*/ meltfptr[45])->tabval[0] = (melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]); ; /*_.LAMBDA___V45*/ meltfptr[44] = /*_.LAMBDA___V46*/ meltfptr[45];; MELT_LOCATION ("warmelt-genobj.melt:3264:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V45*/ meltfptr[44]; /*_.MULTIPLE_EVERY__V47*/ meltfptr[46] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.RBINDS__V14*/ meltfptr[13]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3267:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[12] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3267:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3267:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3267; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_multimsend final oblock="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OBLOCK__V35*/ meltfptr[34]; /*_.MELT_DEBUG_FUN__V50*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V49*/ meltfptr[48] = /*_.MELT_DEBUG_FUN__V50*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3267:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V50*/ meltfptr[49] = 0; } ; } else { /*^cond.else */ /*_.IF___V49*/ meltfptr[48] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3267:/ quasiblock"); /*_.PROGN___V51*/ meltfptr[49] = /*_.IF___V49*/ meltfptr[48];; /*^compute */ /*_.IFCPP___V48*/ meltfptr[47] = /*_.PROGN___V51*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3267:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IF___V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.PROGN___V51*/ meltfptr[49] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V48*/ meltfptr[47] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V12*/ meltfptr[8] = /*_.OBLOCK__V35*/ meltfptr[34];; MELT_LOCATION ("warmelt-genobj.melt:3193:/ clear"); /*clear *//*_.LOC__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.RBINDS__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NBODY__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NSEL__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NRECV__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.NARGS__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.LOCMAP__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_#NBRES__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.LAMBDA___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.RESLOCS__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_#I__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.OXRES__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.FIRSTRES__V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.OSEL__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.RESLIST__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.ORECV__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.LAMBDA___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.OARGS__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.OBODY__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.OBODL__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.OEPIL__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.OBLOCK__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.OMSEND__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.LAMBDA___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.LAMBDA___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.IFCPP___V48*/ meltfptr[47] = 0; MELT_LOCATION ("warmelt-genobj.melt:3189:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[8];; { MELT_LOCATION ("warmelt-genobj.melt:3189:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_NREP_MULTIMSEND", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_90_warmelt_genobj_COMPILOBJ_NREP_MULTIMSEND_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_90_warmelt_genobj_COMPILOBJ_NREP_MULTIMSEND */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_91_warmelt_genobj_LAMBDA___32__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_91_warmelt_genobj_LAMBDA___32___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_91_warmelt_genobj_LAMBDA___32___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 10 melt_ptr_t mcfr_varptr[10]; #define MELTFRAM_NBVARNUM 3 long mcfr_varnum[3]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_91_warmelt_genobj_LAMBDA___32___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 10; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 10; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3204:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3205:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3205:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3205:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("compilobj_nrep_multimsend check bind"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3205) ? (3205) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3205:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3207:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.BDER__V6*/ meltfptr[5] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3208:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 1, "FBIND_TYPE"); /*_.CTY__V7*/ meltfptr[6] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3209:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.BDER__V6*/ meltfptr[5]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CTY__V7*/ meltfptr[6]; /*_.OBVA__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!GET_FREE_OBJLOCTYPED */ meltfrout->tabval[1])), (melt_ptr_t) (( /*~GCX */ meltfclos->tabval[0])), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3211:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CTY__V7*/ meltfptr[6]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[2])));; MELT_LOCATION ("warmelt-genobj.melt:3211:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V10*/ meltfptr[9] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3211:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("compilobj_nrep_multimsend check cty"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3211) ? (3211) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V10*/ meltfptr[9] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V9*/ meltfptr[8] = /*_.IFELSE___V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3211:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V10*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3214:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.OBVA__V8*/ meltfptr[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { /*^locexp */ meltgc_put_mapobjects ((meltmapobjects_ptr_t) (( /*~LOCMAP */ meltfclos->tabval[1])), (meltobject_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) ( /*_.OBVA__V8*/ meltfptr[7])); } ; /*epilog */ } ; } /*noelse */ ; /*_.LET___V5*/ meltfptr[3] = /*_.OBVA__V8*/ meltfptr[7];; MELT_LOCATION ("warmelt-genobj.melt:3207:/ clear"); /*clear *//*_.BDER__V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.CTY__V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.OBVA__V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[8] = 0; MELT_LOCATION ("warmelt-genobj.melt:3204:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V5*/ meltfptr[3];; { MELT_LOCATION ("warmelt-genobj.melt:3204:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.LET___V5*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_91_warmelt_genobj_LAMBDA___32___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_91_warmelt_genobj_LAMBDA___32__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_92_warmelt_genobj_LAMBDA___33__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_92_warmelt_genobj_LAMBDA___33___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_92_warmelt_genobj_LAMBDA___33___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; #define MELTFRAM_NBVARNUM 1 long mcfr_varnum[1]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_92_warmelt_genobj_LAMBDA___33___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 3; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 3; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3224:/ getarg"); /*_.COMP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-genobj.melt:3225:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~GCX */ meltfclos->tabval[0]); /*_.COMPILE_OBJ__V3*/ meltfptr[2] = meltgc_send ((melt_ptr_t) ( /*_.COMP__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3224:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.COMPILE_OBJ__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-genobj.melt:3224:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.COMPILE_OBJ__V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_92_warmelt_genobj_LAMBDA___33___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_92_warmelt_genobj_LAMBDA___33__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_93_warmelt_genobj_LAMBDA___34__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_93_warmelt_genobj_LAMBDA___34___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_93_warmelt_genobj_LAMBDA___34___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 4 melt_ptr_t mcfr_varptr[4]; #define MELTFRAM_NBVARNUM 3 long mcfr_varnum[3]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_93_warmelt_genobj_LAMBDA___34___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 4; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 4; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3256:/ getarg"); /*_.RLOC__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-genobj.melt:3257:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#I__L2*/ meltfnum[1] = (( /*_#IX__L1*/ meltfnum[0]) > (0));; MELT_LOCATION ("warmelt-genobj.melt:3257:/ cond"); /*cond */ if ( /*_#I__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3258:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJCLEAR */ meltfrout->tabval[0])), (2), "CLASS_OBJCLEAR"); /*_.INST__V4*/ meltfptr[3] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBI_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V4*/ meltfptr[3]), (0), (( /*~LOC */ meltfclos->tabval[0])), "OBI_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OCLR_VLOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V4*/ meltfptr[3]), (1), ( /*_.RLOC__V2*/ meltfptr[1]), "OCLR_VLOC"); ; /*_.OCLEAR__V3*/ meltfptr[2] = /*_.INST__V4*/ meltfptr[3];; { MELT_LOCATION ("warmelt-genobj.melt:3261:/ locexp"); meltgc_append_list ((melt_ptr_t) (( /*~OEPIL */ meltfclos->tabval[1])), (melt_ptr_t) ( /*_.OCLEAR__V3*/ meltfptr[2])); } ; /*_#I__L3*/ meltfnum[2] = (( /*_#IX__L1*/ meltfnum[0]) - (1));; { MELT_LOCATION ("warmelt-genobj.melt:3262:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) (( /*~OXRES */ meltfclos->tabval[2])), ( /*_#I__L3*/ meltfnum[2]), (melt_ptr_t) ( /*_.RLOC__V2*/ meltfptr[1])); } ; MELT_LOCATION ("warmelt-genobj.melt:3258:/ clear"); /*clear *//*_.OCLEAR__V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_#I__L3*/ meltfnum[2] = 0; /*epilog */ } ; } /*noelse */ ; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3256:/ clear"); /*clear *//*_#I__L2*/ meltfnum[1] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_93_warmelt_genobj_LAMBDA___34___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_93_warmelt_genobj_LAMBDA___34__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_94_warmelt_genobj_LAMBDA___35__ (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_94_warmelt_genobj_LAMBDA___35___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_94_warmelt_genobj_LAMBDA___35___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; #define MELTFRAM_NBVARNUM 1 long mcfr_varnum[1]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_94_warmelt_genobj_LAMBDA___35___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 3; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 3; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3266:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~GCX */ meltfclos->tabval[0]); /*_.DISPOSE_BND_OBJ__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t) (( /*!DISPOSE_BND_OBJ */ meltfrout->tabval[0])), (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.DISPOSE_BND_OBJ__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-genobj.melt:3266:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.DISPOSE_BND_OBJ__V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_94_warmelt_genobj_LAMBDA___35___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_94_warmelt_genobj_LAMBDA___35__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_95_warmelt_genobj_COMPILOBJ_ANY_BINDING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_95_warmelt_genobj_COMPILOBJ_ANY_BINDING_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_95_warmelt_genobj_COMPILOBJ_ANY_BINDING_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 15 melt_ptr_t mcfr_varptr[15]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_95_warmelt_genobj_COMPILOBJ_ANY_BINDING_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 15; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 15; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_ANY_BINDING", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3276:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3277:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3277:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3277:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check bind"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3277) ? (3277) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3277:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3278:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3278:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3278:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3278) ? (3278) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3278:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3279:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3279:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3279:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3279; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_any_binding bind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BIND__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3279:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3279:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3279:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-genobj.melt:3280:/ locexp"); melt_puts (stderr, ("* compilobj unimplemented receiver binding class ")); } ; MELT_LOCATION ("warmelt-genobj.melt:3281:/ quasiblock"); /*_.DISCR__V12*/ meltfptr[8] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]))));; MELT_LOCATION ("warmelt-genobj.melt:3281:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.DISCR__V12*/ meltfptr[8]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V13*/ meltfptr[9] = slot; }; ; { /*^locexp */ melt_putstr (stderr, (melt_ptr_t) ( /*_.NAMED_NAME__V13*/ meltfptr[9])); } ; /*^clear */ /*clear *//*_.DISCR__V12*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V13*/ meltfptr[9] = 0; { MELT_LOCATION ("warmelt-genobj.melt:3282:/ locexp"); melt_newlineflush (stderr); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3283:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[9] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3283:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("@@compile_obj should be implemented in anybinding-s subclasses"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3283) ? (3283) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[9] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[8] = /*_.IFELSE___V15*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3283:/ clear"); /*clear *//*_.IFELSE___V15*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3276:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V14*/ meltfptr[8];; { MELT_LOCATION ("warmelt-genobj.melt:3276:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_ANY_BINDING", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_95_warmelt_genobj_COMPILOBJ_ANY_BINDING_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_95_warmelt_genobj_COMPILOBJ_ANY_BINDING */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_96_warmelt_genobj_COMPILOBJ_VALUE_BINDING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_96_warmelt_genobj_COMPILOBJ_VALUE_BINDING_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_96_warmelt_genobj_COMPILOBJ_VALUE_BINDING_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 22 melt_ptr_t mcfr_varptr[22]; #define MELTFRAM_NBVARNUM 7 long mcfr_varnum[7]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_96_warmelt_genobj_COMPILOBJ_VALUE_BINDING_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 22; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 22; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_VALUE_BINDING", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3289:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3290:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_VALUE_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3290:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3290:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check bind"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3290) ? (3290) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3290:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3291:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_INITIAL_GENERATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3291:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3291:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3291) ? (3291) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3291:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3292:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3292:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3292:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3292; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_value_binding bind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BIND__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3292:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3292:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3292:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3293:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.SYM__V13*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3294:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), 13, "IGNCX_IMPORTMAP"); /*_.IMPORTMAP__V14*/ meltfptr[13] = slot; }; ; /*_.OLOCV__V15*/ meltfptr[14] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.IMPORTMAP__V14*/ meltfptr[13]), (meltobject_ptr_t) ( /*_.SYM__V13*/ meltfptr[9]));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3297:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[3] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3297:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3297:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3297; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_value_binding olocv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OLOCV__V15*/ meltfptr[14]; /*_.MELT_DEBUG_FUN__V18*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V17*/ meltfptr[16] = /*_.MELT_DEBUG_FUN__V18*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3297:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V18*/ meltfptr[17] = 0; } ; } else { /*^cond.else */ /*_.IF___V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3297:/ quasiblock"); /*_.PROGN___V19*/ meltfptr[17] = /*_.IF___V17*/ meltfptr[16];; /*^compute */ /*_.IFCPP___V16*/ meltfptr[15] = /*_.PROGN___V19*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3297:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.PROGN___V19*/ meltfptr[17] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[15] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3298:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.OLOCV__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_OBJLOCV */ meltfrout-> tabval[3])));; MELT_LOCATION ("warmelt-genobj.melt:3298:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V21*/ meltfptr[17] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3298:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check olocv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3298) ? (3298) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V21*/ meltfptr[17] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[16] = /*_.IFELSE___V21*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3298:/ clear"); /*clear *//*_#IS_A__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V21*/ meltfptr[17] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3299:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.OLOCV__V15*/ meltfptr[14];; { MELT_LOCATION ("warmelt-genobj.melt:3299:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V12*/ meltfptr[8] = /*_.RETURN___V22*/ meltfptr[17];; MELT_LOCATION ("warmelt-genobj.melt:3293:/ clear"); /*clear *//*_.SYM__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.IMPORTMAP__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.OLOCV__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.IFCPP___V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.RETURN___V22*/ meltfptr[17] = 0; MELT_LOCATION ("warmelt-genobj.melt:3289:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[8];; { MELT_LOCATION ("warmelt-genobj.melt:3289:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_VALUE_BINDING", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_96_warmelt_genobj_COMPILOBJ_VALUE_BINDING_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_96_warmelt_genobj_COMPILOBJ_VALUE_BINDING */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_97_warmelt_genobj_COMPILOBJ_FIXED_BINDING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_97_warmelt_genobj_COMPILOBJ_FIXED_BINDING_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_97_warmelt_genobj_COMPILOBJ_FIXED_BINDING_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 19 melt_ptr_t mcfr_varptr[19]; #define MELTFRAM_NBVARNUM 6 long mcfr_varnum[6]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_97_warmelt_genobj_COMPILOBJ_FIXED_BINDING_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 19; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 19; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_FIXED_BINDING", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3305:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3306:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_FIXED_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3306:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3306:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check bind"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3306) ? (3306) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3306:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3307:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3307:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3307:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3307) ? (3307) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3307:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3308:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3308:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3308:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3308; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_fixed_binding bind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BIND__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3308:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3308:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3308:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3309:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 1, "FIXBIND_DATA"); /*_.SBDATA__V13*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3310:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OSDATA__V14*/ meltfptr[13] = meltgc_send ((melt_ptr_t) ( /*_.SBDATA__V13*/ meltfptr[9]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3311:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[3] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3311:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3311:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3311; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_fixed_binding sbdata="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SBDATA__V13*/ meltfptr[9]; /*^apply.arg */ argtab[5].meltbp_cstring = " osdata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OSDATA__V14*/ meltfptr[13]; /*_.MELT_DEBUG_FUN__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V16*/ meltfptr[15] = /*_.MELT_DEBUG_FUN__V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3311:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V17*/ meltfptr[16] = 0; } ; } else { /*^cond.else */ /*_.IF___V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3311:/ quasiblock"); /*_.PROGN___V18*/ meltfptr[16] = /*_.IF___V16*/ meltfptr[15];; /*^compute */ /*_.IFCPP___V15*/ meltfptr[14] = /*_.PROGN___V18*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3311:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.PROGN___V18*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V15*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3312:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.OSDATA__V14*/ meltfptr[13];; { MELT_LOCATION ("warmelt-genobj.melt:3312:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V12*/ meltfptr[8] = /*_.RETURN___V19*/ meltfptr[15];; MELT_LOCATION ("warmelt-genobj.melt:3309:/ clear"); /*clear *//*_.SBDATA__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.OSDATA__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.IFCPP___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.RETURN___V19*/ meltfptr[15] = 0; MELT_LOCATION ("warmelt-genobj.melt:3305:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[8];; { MELT_LOCATION ("warmelt-genobj.melt:3305:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_FIXED_BINDING", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_97_warmelt_genobj_COMPILOBJ_FIXED_BINDING_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_97_warmelt_genobj_COMPILOBJ_FIXED_BINDING */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_98_warmelt_genobj_COMPILOBJ_NORMAL_LET_BINDING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_98_warmelt_genobj_COMPILOBJ_NORMAL_LET_BINDING_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_98_warmelt_genobj_COMPILOBJ_NORMAL_LET_BINDING_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 23 melt_ptr_t mcfr_varptr[23]; #define MELTFRAM_NBVARNUM 6 long mcfr_varnum[6]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_98_warmelt_genobj_COMPILOBJ_NORMAL_LET_BINDING_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 23; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 23; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_NORMAL_LET_BINDING", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3318:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3319:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3319:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3319:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check bind"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3319) ? (3319) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3319:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3320:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3320:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3320:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3320) ? (3320) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3320:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3321:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3321:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3321:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3321; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_normal_let_binding bind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BIND__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3321:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3321:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3321:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3322:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 2, "LETBIND_EXPR"); /*_.NEXPR__V13*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3323:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 1, "LETBIND_TYPE"); /*_.CTYP__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3324:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.BNDER__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3325:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OEXPR__V16*/ meltfptr[15] = meltgc_send ((melt_ptr_t) ( /*_.NEXPR__V13*/ meltfptr[9]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3326:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[3] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3326:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3326:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3326; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_normal_let_binding oexpr="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OEXPR__V16*/ meltfptr[15]; /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V18*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3326:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3326:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[18] = /*_.IF___V18*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.PROGN___V20*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3326:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V20*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3327:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V22*/ meltfptr[18] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3327:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("compilobj_normal_let_binding got here"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3327) ? (3327) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V22*/ meltfptr[18] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V21*/ meltfptr[17] = /*_.IFELSE___V22*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3327:/ clear"); /*clear *//*_.IFELSE___V22*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3328:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.OEXPR__V16*/ meltfptr[15];; { MELT_LOCATION ("warmelt-genobj.melt:3328:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V12*/ meltfptr[8] = /*_.RETURN___V23*/ meltfptr[18];; MELT_LOCATION ("warmelt-genobj.melt:3322:/ clear"); /*clear *//*_.NEXPR__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.CTYP__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.BNDER__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.OEXPR__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.RETURN___V23*/ meltfptr[18] = 0; MELT_LOCATION ("warmelt-genobj.melt:3318:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[8];; { MELT_LOCATION ("warmelt-genobj.melt:3318:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_NORMAL_LET_BINDING", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_98_warmelt_genobj_COMPILOBJ_NORMAL_LET_BINDING_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_98_warmelt_genobj_COMPILOBJ_NORMAL_LET_BINDING */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_99_warmelt_genobj_COMPILOBJ_CONSLAMBDABIND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_99_warmelt_genobj_COMPILOBJ_CONSLAMBDABIND_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_99_warmelt_genobj_COMPILOBJ_CONSLAMBDABIND_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 36 melt_ptr_t mcfr_varptr[36]; #define MELTFRAM_NBVARNUM 10 long mcfr_varnum[10]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_99_warmelt_genobj_COMPILOBJ_CONSLAMBDABIND_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 36; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 36; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_CONSLAMBDABIND", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3334:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3335:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_LAMBDA_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3335:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3335:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check bind"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3335) ? (3335) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3335:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3336:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3336:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3336:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3336) ? (3336) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3336:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3337:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3337:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3337:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3337; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_conslambdabind bind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BIND__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3337:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3337:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3337:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3338:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.SYMB__V13*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3339:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 1, "NCONSB_LOC"); /*_.LOC__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3340:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 2, "NCONSB_DISCR"); /*_.NDISCR__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3341:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 4, "NLAMBDAB_NCLOSED"); /*_.NCLOSED__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3342:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 6, "NLAMBDAB_DATAROUT"); /*_.NDATAROUT__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3343:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 5, "NLAMBDAB_CONSTROUT"); /*_.NCONSTROUT__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3344:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 3, "NCONSB_NLETREC"); /*_.NLETREC__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3345:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.ODISCR__V20*/ meltfptr[19] = meltgc_send ((melt_ptr_t) ( /*_.NDISCR__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.NAMBUF__V21*/ meltfptr[20] = (melt_ptr_t) meltgc_new_strbuf ((meltobject_ptr_t) (( /*!DISCR_STRBUF */ meltfrout->tabval[4])), (const char *) 0);; MELT_LOCATION ("warmelt-genobj.melt:3347:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NLETREC__V19*/ meltfptr[18]), 5, "NLETREC_LOCSYMS"); /*_.NLOCSYMS__V22*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.NLOCSYMS__V22*/ meltfptr[21] = NULL;; } ; /*^compute */ /*_#BINDNUM__L5*/ meltfnum[3] = (melt_get_int ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1])));; /*^compute */ /*_#NBCLOSED__L6*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.NCLOSED__V16*/ meltfptr[15])));; /*^compute */ /*_.LOCSYMOCC__V23*/ meltfptr[22] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NLOCSYMS__V22*/ meltfptr[21]), ( /*_#BINDNUM__L5*/ meltfnum[3])));; MELT_LOCATION ("warmelt-genobj.melt:3352:/ quasiblock"); MELT_LOCATION ("warmelt-genobj.melt:3353:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OROUT__V25*/ meltfptr[24] = meltgc_send ((melt_ptr_t) ( /*_.NCONSTROUT__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3354:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OLOC__V26*/ meltfptr[25] = meltgc_send ((melt_ptr_t) ( /*_.LOCSYMOCC__V23*/ meltfptr[22]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-genobj.melt:3356:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ("rclo_")); } ; { MELT_LOCATION ("warmelt-genobj.melt:3357:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ( /*_#BINDNUM__L5*/ meltfnum[3])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3358:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ("__")); } ; MELT_LOCATION ("warmelt-genobj.melt:3359:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[9]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V27*/ meltfptr[26] = slot; }; ; { /*^locexp */ meltgc_add_strbuf_cident ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V27*/ meltfptr[26]))); } ; MELT_LOCATION ("warmelt-genobj.melt:3360:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[6] = melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[9]), (melt_ptr_t) (( /*!CLASS_CLONED_SYMBOL */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-genobj.melt:3360:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-genobj.melt:3362:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ("_x")); } ; MELT_LOCATION ("warmelt-genobj.melt:3363:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[9]), (melt_ptr_t) (( /*!CLASS_CLONED_SYMBOL */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[9]), 3, "CSYM_URANK"); /*_.CSYM_URANK__V28*/ meltfptr[27] = slot; }; ; } else { /*^cond.else */ /*_.CSYM_URANK__V28*/ meltfptr[27] = NULL;; } ; /*^compute */ /*_#GET_INT__L8*/ meltfnum[7] = (melt_get_int ((melt_ptr_t) ( /*_.CSYM_URANK__V28*/ meltfptr[27])));; { MELT_LOCATION ("warmelt-genobj.melt:3363:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ( /*_#GET_INT__L8*/ meltfnum[7])); } ; MELT_LOCATION ("warmelt-genobj.melt:3361:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3360:/ clear"); /*clear *//*_.CSYM_URANK__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_#GET_INT__L8*/ meltfnum[7] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-genobj.melt:3364:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_.STRBUF2STRING__V30*/ meltfptr[29] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[9])), melt_strbuf_str ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]))));; MELT_LOCATION ("warmelt-genobj.melt:3364:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJINITCLOSURE */ meltfrout->tabval[7])), (6), "CLASS_OBJINITCLOSURE"); /*_.INST__V32*/ meltfptr[31] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBV_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (0), (( /*!CTYPE_VALUE */ meltfrout->tabval[8])), "OBV_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (3), ( /*_.ODISCR__V20*/ meltfptr[19]), "OIE_DISCR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_LOCVAR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (4), ( /*_.OLOC__V26*/ meltfptr[25]), "OIE_LOCVAR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_CNAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (1), ( /*_.STRBUF2STRING__V30*/ meltfptr[29]), "OIE_CNAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OICLO_ROUT", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (5), ( /*_.OROUT__V25*/ meltfptr[24]), "OICLO_ROUT"); ; /*_.INICLOS__V31*/ meltfptr[30] = /*_.INST__V32*/ meltfptr[31];; { MELT_LOCATION ("warmelt-genobj.melt:3372:/ locexp"); melt_put_int ((melt_ptr_t) ( /*_.INICLOS__V31*/ meltfptr[30]), ( /*_#NBCLOSED__L6*/ meltfnum[0])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3373:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3373:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3373:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3373; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_conslambdabind returning iniclos="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INICLOS__V31*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V34*/ meltfptr[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3373:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*_.IF___V34*/ meltfptr[33] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3373:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[34] = /*_.IF___V34*/ meltfptr[33];; /*^compute */ /*_.IFCPP___V33*/ meltfptr[32] = /*_.PROGN___V36*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3373:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.PROGN___V36*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V33*/ meltfptr[32] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V29*/ meltfptr[27] = /*_.INICLOS__V31*/ meltfptr[30];; MELT_LOCATION ("warmelt-genobj.melt:3364:/ clear"); /*clear *//*_.STRBUF2STRING__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.INICLOS__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.IFCPP___V33*/ meltfptr[32] = 0; /*_.LET___V24*/ meltfptr[23] = /*_.LET___V29*/ meltfptr[27];; MELT_LOCATION ("warmelt-genobj.melt:3352:/ clear"); /*clear *//*_.OROUT__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.OLOC__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_#IS_A__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.LET___V29*/ meltfptr[27] = 0; /*_.LET___V12*/ meltfptr[8] = /*_.LET___V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-genobj.melt:3338:/ clear"); /*clear *//*_.SYMB__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.LOC__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NDISCR__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NCLOSED__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NDATAROUT__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.NCONSTROUT__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.NLETREC__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.ODISCR__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NAMBUF__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NLOCSYMS__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_#BINDNUM__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_#NBCLOSED__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.LOCSYMOCC__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.LET___V24*/ meltfptr[23] = 0; MELT_LOCATION ("warmelt-genobj.melt:3334:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[8];; { MELT_LOCATION ("warmelt-genobj.melt:3334:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_CONSLAMBDABIND", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_99_warmelt_genobj_COMPILOBJ_CONSLAMBDABIND_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_99_warmelt_genobj_COMPILOBJ_CONSLAMBDABIND */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_100_warmelt_genobj_COMPILOBJ_CONSTUPLEBIND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_100_warmelt_genobj_COMPILOBJ_CONSTUPLEBIND_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_100_warmelt_genobj_COMPILOBJ_CONSTUPLEBIND_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 34 melt_ptr_t mcfr_varptr[34]; #define MELTFRAM_NBVARNUM 10 long mcfr_varnum[10]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_100_warmelt_genobj_COMPILOBJ_CONSTUPLEBIND_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 34; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 34; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_CONSTUPLEBIND", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3379:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3380:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3380:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3380:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3380; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_constuplebind bind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BIND__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3380:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3380:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3380:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3381:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_TUPLE_BINDING */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3381:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3381:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check bind"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3381) ? (3381) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[4] = /*_.IFELSE___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3381:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3382:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-genobj.melt:3382:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3382:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3382) ? (3382) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3382:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3383:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.SYMB__V13*/ meltfptr[12] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3384:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 1, "NCONSB_LOC"); /*_.NLOC__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3385:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 2, "NCONSB_DISCR"); /*_.NDISCR__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3386:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 3, "NCONSB_NLETREC"); /*_.NLETREC__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3387:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 4, "NTUPB_COMP"); /*_.NTUPB__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3388:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.ODISCR__V18*/ meltfptr[17] = meltgc_send ((melt_ptr_t) ( /*_.NDISCR__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.NAMBUF__V19*/ meltfptr[18] = (melt_ptr_t) meltgc_new_strbuf ((meltobject_ptr_t) (( /*!DISCR_STRBUF */ meltfrout->tabval[4])), (const char *) 0);; MELT_LOCATION ("warmelt-genobj.melt:3390:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 3, "NCONSB_NLETREC"); /*_.NLETREC__V20*/ meltfptr[19] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3391:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NLETREC__V20*/ meltfptr[19]), 5, "NLETREC_LOCSYMS"); /*_.NLOCSYMS__V21*/ meltfptr[20] = slot; }; ; } else { /*^cond.else */ /*_.NLOCSYMS__V21*/ meltfptr[20] = NULL;; } ; /*^compute */ /*_#BINDNUM__L5*/ meltfnum[1] = (melt_get_int ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1])));; /*^compute */ /*_#LENTUP__L6*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.NTUPB__V17*/ meltfptr[16])));; /*^compute */ /*_.LOCSYMOCC__V22*/ meltfptr[21] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NLOCSYMS__V21*/ meltfptr[20]), ( /*_#BINDNUM__L5*/ meltfnum[1])));; { MELT_LOCATION ("warmelt-genobj.melt:3396:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V19*/ meltfptr[18]), ("rtup_")); } ; { MELT_LOCATION ("warmelt-genobj.melt:3397:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.NAMBUF__V19*/ meltfptr[18]), ( /*_#BINDNUM__L5*/ meltfnum[1])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3398:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V19*/ meltfptr[18]), ("__")); } ; MELT_LOCATION ("warmelt-genobj.melt:3399:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[12]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V23*/ meltfptr[22] = slot; }; ; { /*^locexp */ meltgc_add_strbuf_cident ((melt_ptr_t) ( /*_.NAMBUF__V19*/ meltfptr[18]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V23*/ meltfptr[22]))); } ; MELT_LOCATION ("warmelt-genobj.melt:3400:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[6] = melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[12]), (melt_ptr_t) (( /*!CLASS_CLONED_SYMBOL */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-genobj.melt:3400:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-genobj.melt:3402:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V19*/ meltfptr[18]), ("_x")); } ; MELT_LOCATION ("warmelt-genobj.melt:3403:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[12]), (melt_ptr_t) (( /*!CLASS_CLONED_SYMBOL */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[12]), 3, "CSYM_URANK"); /*_.CSYM_URANK__V24*/ meltfptr[23] = slot; }; ; } else { /*^cond.else */ /*_.CSYM_URANK__V24*/ meltfptr[23] = NULL;; } ; /*^compute */ /*_#GET_INT__L8*/ meltfnum[7] = (melt_get_int ((melt_ptr_t) ( /*_.CSYM_URANK__V24*/ meltfptr[23])));; { MELT_LOCATION ("warmelt-genobj.melt:3403:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.NAMBUF__V19*/ meltfptr[18]), ( /*_#GET_INT__L8*/ meltfnum[7])); } ; MELT_LOCATION ("warmelt-genobj.melt:3401:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3400:/ clear"); /*clear *//*_.CSYM_URANK__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#GET_INT__L8*/ meltfnum[7] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-genobj.melt:3404:/ quasiblock"); MELT_LOCATION ("warmelt-genobj.melt:3405:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OLOC__V26*/ meltfptr[25] = meltgc_send ((melt_ptr_t) ( /*_.LOCSYMOCC__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.TUPVAL__V27*/ meltfptr[26] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[7])), ( /*_#LENTUP__L6*/ meltfnum[0])));; MELT_LOCATION ("warmelt-genobj.melt:3407:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.STRBUF2STRING__V28*/ meltfptr[27] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[10])), melt_strbuf_str ((melt_ptr_t) ( /*_.NAMBUF__V19*/ meltfptr[18]))));; MELT_LOCATION ("warmelt-genobj.melt:3407:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJINITMULTIPLE */ meltfrout->tabval[8])), (6), "CLASS_OBJINITMULTIPLE"); /*_.INST__V30*/ meltfptr[29] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBV_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V30*/ meltfptr[29]), (0), (( /*!CTYPE_VALUE */ meltfrout->tabval[9])), "OBV_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V30*/ meltfptr[29]), (3), ( /*_.ODISCR__V18*/ meltfptr[17]), "OIE_DISCR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_LOCVAR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V30*/ meltfptr[29]), (4), ( /*_.OLOC__V26*/ meltfptr[25]), "OIE_LOCVAR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_CNAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V30*/ meltfptr[29]), (1), ( /*_.STRBUF2STRING__V28*/ meltfptr[27]), "OIE_CNAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIM_TUPVAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V30*/ meltfptr[29]), (5), ( /*_.TUPVAL__V27*/ meltfptr[26]), "OIM_TUPVAL"); ; /*_.INITUP__V29*/ meltfptr[28] = /*_.INST__V30*/ meltfptr[29];; { MELT_LOCATION ("warmelt-genobj.melt:3415:/ locexp"); melt_put_int ((melt_ptr_t) ( /*_.INITUP__V29*/ meltfptr[28]), ( /*_#LENTUP__L6*/ meltfnum[0])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3416:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3416:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3416:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3416; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_constuplebind result initup="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INITUP__V29*/ meltfptr[28]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3416:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[31] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3416:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[30] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3416:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V25*/ meltfptr[23] = /*_.INITUP__V29*/ meltfptr[28];; MELT_LOCATION ("warmelt-genobj.melt:3404:/ clear"); /*clear *//*_.OLOC__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.TUPVAL__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.STRBUF2STRING__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.INITUP__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[30] = 0; /*_.LET___V12*/ meltfptr[10] = /*_.LET___V25*/ meltfptr[23];; MELT_LOCATION ("warmelt-genobj.melt:3383:/ clear"); /*clear *//*_.SYMB__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.NLOC__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NDISCR__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NLETREC__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NTUPB__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.ODISCR__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.NAMBUF__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.NLETREC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NLOCSYMS__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#BINDNUM__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#LENTUP__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.LOCSYMOCC__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_#IS_A__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.LET___V25*/ meltfptr[23] = 0; MELT_LOCATION ("warmelt-genobj.melt:3379:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[10];; { MELT_LOCATION ("warmelt-genobj.melt:3379:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[10] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_CONSTUPLEBIND", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_100_warmelt_genobj_COMPILOBJ_CONSTUPLEBIND_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_100_warmelt_genobj_COMPILOBJ_CONSTUPLEBIND */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_101_warmelt_genobj_COMPILOBJ_CONSPAIRBIND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_101_warmelt_genobj_COMPILOBJ_CONSPAIRBIND_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_101_warmelt_genobj_COMPILOBJ_CONSPAIRBIND_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 36 melt_ptr_t mcfr_varptr[36]; #define MELTFRAM_NBVARNUM 9 long mcfr_varnum[9]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_101_warmelt_genobj_COMPILOBJ_CONSPAIRBIND_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 36; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 36; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_CONSPAIRBIND", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3423:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3424:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3424:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3424:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3424; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_conspairbind bind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BIND__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3424:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3424:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3424:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3425:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3425:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3425:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check bind"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3425) ? (3425) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[4] = /*_.IFELSE___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3425:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3426:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-genobj.melt:3426:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3426:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3426) ? (3426) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3426:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3427:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.SYMB__V13*/ meltfptr[12] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3428:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 1, "NCONSB_LOC"); /*_.NLOC__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3429:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 2, "NCONSB_DISCR"); /*_.NDISCR__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3430:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 3, "NCONSB_NLETREC"); /*_.NLETREC__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3431:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 4, "NPAIRB_HEAD"); /*_.NHEAD__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3432:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 5, "NPAIRB_TAIL"); /*_.NTAIL__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3433:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NLETREC__V16*/ meltfptr[15]), 5, "NLETREC_LOCSYMS"); /*_.NLOCSYMS__V19*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.NLOCSYMS__V19*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3434:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.ODISCR__V20*/ meltfptr[19] = meltgc_send ((melt_ptr_t) ( /*_.NDISCR__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.NAMBUF__V21*/ meltfptr[20] = (melt_ptr_t) meltgc_new_strbuf ((meltobject_ptr_t) (( /*!DISCR_STRBUF */ meltfrout->tabval[5])), (const char *) 0);; /*^compute */ /*_#BINDNUM__L5*/ meltfnum[1] = (melt_get_int ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1])));; /*^compute */ /*_.LOCSYMOCC__V22*/ meltfptr[21] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NLOCSYMS__V19*/ meltfptr[18]), ( /*_#BINDNUM__L5*/ meltfnum[1])));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3439:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.NLETREC__V16*/ meltfptr[15]) /*then */ { /*^cond.then */ /*_.IFELSE___V24*/ meltfptr[23] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3439:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nletrec"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3439) ? (3439) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.IFELSE___V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3439:/ clear"); /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-genobj.melt:3440:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ("rpair_")); } ; { MELT_LOCATION ("warmelt-genobj.melt:3441:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ( /*_#BINDNUM__L5*/ meltfnum[1])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3442:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ("__")); } ; MELT_LOCATION ("warmelt-genobj.melt:3443:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[12]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V25*/ meltfptr[23] = slot; }; ; { /*^locexp */ meltgc_add_strbuf_cident ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V25*/ meltfptr[23]))); } ; MELT_LOCATION ("warmelt-genobj.melt:3444:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[12]), (melt_ptr_t) (( /*!CLASS_CLONED_SYMBOL */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-genobj.melt:3444:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-genobj.melt:3446:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ("_x")); } ; MELT_LOCATION ("warmelt-genobj.melt:3447:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[12]), (melt_ptr_t) (( /*!CLASS_CLONED_SYMBOL */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[12]), 3, "CSYM_URANK"); /*_.CSYM_URANK__V26*/ meltfptr[25] = slot; }; ; } else { /*^cond.else */ /*_.CSYM_URANK__V26*/ meltfptr[25] = NULL;; } ; /*^compute */ /*_#GET_INT__L7*/ meltfnum[6] = (melt_get_int ((melt_ptr_t) ( /*_.CSYM_URANK__V26*/ meltfptr[25])));; { MELT_LOCATION ("warmelt-genobj.melt:3447:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ( /*_#GET_INT__L7*/ meltfnum[6])); } ; MELT_LOCATION ("warmelt-genobj.melt:3445:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3444:/ clear"); /*clear *//*_.CSYM_URANK__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_#GET_INT__L7*/ meltfnum[6] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-genobj.melt:3448:/ quasiblock"); MELT_LOCATION ("warmelt-genobj.melt:3449:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OLOC__V28*/ meltfptr[27] = meltgc_send ((melt_ptr_t) ( /*_.LOCSYMOCC__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3450:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.STRBUF2STRING__V29*/ meltfptr[28] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[9])), melt_strbuf_str ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]))));; MELT_LOCATION ("warmelt-genobj.melt:3450:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJINITPAIR */ meltfrout->tabval[7])), (5), "CLASS_OBJINITPAIR"); /*_.INST__V31*/ meltfptr[30] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBV_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (0), (( /*!CTYPE_VALUE */ meltfrout->tabval[8])), "OBV_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (3), ( /*_.ODISCR__V20*/ meltfptr[19]), "OIE_DISCR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_LOCVAR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (4), ( /*_.OLOC__V28*/ meltfptr[27]), "OIE_LOCVAR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_CNAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (1), ( /*_.STRBUF2STRING__V29*/ meltfptr[28]), "OIE_CNAME"); ; /*_.INIPAIR__V30*/ meltfptr[29] = /*_.INST__V31*/ meltfptr[30];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3456:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[6] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3456:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3456:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3456; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_conspairbind return inipair="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INIPAIR__V30*/ meltfptr[29]; /*_.MELT_DEBUG_FUN__V34*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V33*/ meltfptr[32] = /*_.MELT_DEBUG_FUN__V34*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3456:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V34*/ meltfptr[33] = 0; } ; } else { /*^cond.else */ /*_.IF___V33*/ meltfptr[32] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3456:/ quasiblock"); /*_.PROGN___V35*/ meltfptr[33] = /*_.IF___V33*/ meltfptr[32];; /*^compute */ /*_.IFCPP___V32*/ meltfptr[31] = /*_.PROGN___V35*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3456:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.PROGN___V35*/ meltfptr[33] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V32*/ meltfptr[31] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3457:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.INIPAIR__V30*/ meltfptr[29];; { MELT_LOCATION ("warmelt-genobj.melt:3457:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V27*/ meltfptr[25] = /*_.RETURN___V36*/ meltfptr[32];; MELT_LOCATION ("warmelt-genobj.melt:3448:/ clear"); /*clear *//*_.OLOC__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.STRBUF2STRING__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.INIPAIR__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.IFCPP___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.RETURN___V36*/ meltfptr[32] = 0; /*_.LET___V12*/ meltfptr[10] = /*_.LET___V27*/ meltfptr[25];; MELT_LOCATION ("warmelt-genobj.melt:3427:/ clear"); /*clear *//*_.SYMB__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.NLOC__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NDISCR__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NLETREC__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NHEAD__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.NTAIL__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.NLOCSYMS__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.ODISCR__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NAMBUF__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#BINDNUM__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.LOCSYMOCC__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#IS_A__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.LET___V27*/ meltfptr[25] = 0; MELT_LOCATION ("warmelt-genobj.melt:3423:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[10];; { MELT_LOCATION ("warmelt-genobj.melt:3423:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[10] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_CONSPAIRBIND", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_101_warmelt_genobj_COMPILOBJ_CONSPAIRBIND_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_101_warmelt_genobj_COMPILOBJ_CONSPAIRBIND */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_102_warmelt_genobj_COMPILOBJ_CONSLISTBIND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_102_warmelt_genobj_COMPILOBJ_CONSLISTBIND_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_102_warmelt_genobj_COMPILOBJ_CONSLISTBIND_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 33 melt_ptr_t mcfr_varptr[33]; #define MELTFRAM_NBVARNUM 7 long mcfr_varnum[7]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_102_warmelt_genobj_COMPILOBJ_CONSLISTBIND_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 33; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 33; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_CONSLISTBIND", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3462:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3463:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3463:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3463:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3463; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_conslistbind bind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BIND__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3463:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3463:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3463:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3464:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_LIST_BINDING */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3464:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3464:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check bind"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3464) ? (3464) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[4] = /*_.IFELSE___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3464:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3465:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-genobj.melt:3465:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3465:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3465) ? (3465) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3465:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3466:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.SYMB__V13*/ meltfptr[12] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3467:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 1, "NCONSB_LOC"); /*_.NLOC__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3468:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 2, "NCONSB_DISCR"); /*_.NDISCR__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3469:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 3, "NCONSB_NLETREC"); /*_.NLETREC__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3470:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 4, "NLISTB_FIRST"); /*_.NFIRST__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3471:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 5, "NLISTB_LAST"); /*_.NLAST__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3472:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NLETREC__V16*/ meltfptr[15]), 5, "NLETREC_LOCSYMS"); /*_.NLOCSYMS__V19*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.NLOCSYMS__V19*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3473:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.ODISCR__V20*/ meltfptr[19] = meltgc_send ((melt_ptr_t) ( /*_.NDISCR__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.NAMBUF__V21*/ meltfptr[20] = (melt_ptr_t) meltgc_new_strbuf ((meltobject_ptr_t) (( /*!DISCR_STRBUF */ meltfrout->tabval[5])), (const char *) 0);; /*^compute */ /*_#BINDNUM__L5*/ meltfnum[1] = (melt_get_int ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1])));; /*^compute */ /*_.LOCSYMOCC__V22*/ meltfptr[21] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NLOCSYMS__V19*/ meltfptr[18]), ( /*_#BINDNUM__L5*/ meltfnum[1])));; { MELT_LOCATION ("warmelt-genobj.melt:3478:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ("rlist_")); } ; { MELT_LOCATION ("warmelt-genobj.melt:3479:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ( /*_#BINDNUM__L5*/ meltfnum[1])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3480:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), ("__")); } ; MELT_LOCATION ("warmelt-genobj.melt:3481:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[12]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V23*/ meltfptr[22] = slot; }; ; { /*^locexp */ meltgc_add_strbuf_cident ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V23*/ meltfptr[22]))); } ; MELT_LOCATION ("warmelt-genobj.melt:3482:/ quasiblock"); MELT_LOCATION ("warmelt-genobj.melt:3483:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OLOC__V25*/ meltfptr[24] = meltgc_send ((melt_ptr_t) ( /*_.LOCSYMOCC__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3484:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.STRBUF2STRING__V26*/ meltfptr[25] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[8])), melt_strbuf_str ((melt_ptr_t) ( /*_.NAMBUF__V21*/ meltfptr[20]))));; MELT_LOCATION ("warmelt-genobj.melt:3484:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJINITLIST */ meltfrout->tabval[6])), (5), "CLASS_OBJINITLIST"); /*_.INST__V28*/ meltfptr[27] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBV_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (0), (( /*!CTYPE_VALUE */ meltfrout->tabval[7])), "OBV_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (3), ( /*_.ODISCR__V20*/ meltfptr[19]), "OIE_DISCR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_LOCVAR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (4), ( /*_.OLOC__V25*/ meltfptr[24]), "OIE_LOCVAR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_CNAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (1), ( /*_.STRBUF2STRING__V26*/ meltfptr[25]), "OIE_CNAME"); ; /*_.INILIST__V27*/ meltfptr[26] = /*_.INST__V28*/ meltfptr[27];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3491:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3491:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3491:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3491; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_conslistbind return inilist="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INILIST__V27*/ meltfptr[26]; /*_.MELT_DEBUG_FUN__V31*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V30*/ meltfptr[29] = /*_.MELT_DEBUG_FUN__V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3491:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V31*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*_.IF___V30*/ meltfptr[29] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3491:/ quasiblock"); /*_.PROGN___V32*/ meltfptr[30] = /*_.IF___V30*/ meltfptr[29];; /*^compute */ /*_.IFCPP___V29*/ meltfptr[28] = /*_.PROGN___V32*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3491:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PROGN___V32*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3492:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.INILIST__V27*/ meltfptr[26];; { MELT_LOCATION ("warmelt-genobj.melt:3492:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V24*/ meltfptr[23] = /*_.RETURN___V33*/ meltfptr[29];; MELT_LOCATION ("warmelt-genobj.melt:3482:/ clear"); /*clear *//*_.OLOC__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.STRBUF2STRING__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.INILIST__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.RETURN___V33*/ meltfptr[29] = 0; /*_.LET___V12*/ meltfptr[10] = /*_.LET___V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-genobj.melt:3466:/ clear"); /*clear *//*_.SYMB__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.NLOC__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NDISCR__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NLETREC__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NFIRST__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.NLAST__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.NLOCSYMS__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.ODISCR__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NAMBUF__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#BINDNUM__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.LOCSYMOCC__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.LET___V24*/ meltfptr[23] = 0; MELT_LOCATION ("warmelt-genobj.melt:3462:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[10];; { MELT_LOCATION ("warmelt-genobj.melt:3462:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[10] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_CONSLISTBIND", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_102_warmelt_genobj_COMPILOBJ_CONSLISTBIND_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_102_warmelt_genobj_COMPILOBJ_CONSLISTBIND */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_103_warmelt_genobj_COMPILOBJ_CONSINSTANCEBIND (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_103_warmelt_genobj_COMPILOBJ_CONSINSTANCEBIND_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_103_warmelt_genobj_COMPILOBJ_CONSINSTANCEBIND_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 45 melt_ptr_t mcfr_varptr[45]; #define MELTFRAM_NBVARNUM 12 long mcfr_varnum[12]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_103_warmelt_genobj_COMPILOBJ_CONSINSTANCEBIND_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 45; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 45; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_CONSINSTANCEBIND", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3498:/ getarg"); /*_.BIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3499:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3499:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3499:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3499; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_consinstancebind bind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BIND__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3499:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3499:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3499:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3500:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_INSTANCE_BINDING */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3500:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3500:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check bind"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3500) ? (3500) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[4] = /*_.IFELSE___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3500:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3501:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-genobj.melt:3501:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3501:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3501) ? (3501) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3501:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3502:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.SYMB__V13*/ meltfptr[12] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3503:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 1, "NCONSB_LOC"); /*_.NLOC__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3504:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 2, "NCONSB_DISCR"); /*_.NDISCR__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3505:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 3, "NCONSB_NLETREC"); /*_.NLETREC__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3506:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 4, "NINSTB_SLOTS"); /*_.NSLOTS__V17*/ meltfptr[16] = slot; }; ; /*_.NAMBUF__V18*/ meltfptr[17] = (melt_ptr_t) meltgc_new_strbuf ((meltobject_ptr_t) (( /*!DISCR_STRBUF */ meltfrout->tabval[3])), (const char *) 0);; MELT_LOCATION ("warmelt-genobj.melt:3508:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.ODISCR__V19*/ meltfptr[18] = meltgc_send ((melt_ptr_t) ( /*_.NDISCR__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3509:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NLETREC__V16*/ meltfptr[15]), 5, "NLETREC_LOCSYMS"); /*_.NLOCSYMS__V20*/ meltfptr[19] = slot; }; ; } else { /*^cond.else */ /*_.NLOCSYMS__V20*/ meltfptr[19] = NULL;; } ; /*^compute */ /*_#BINDNUM__L5*/ meltfnum[1] = (melt_get_int ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1])));; /*^compute */ /*_.LOCSYMOCC__V21*/ meltfptr[20] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NLOCSYMS__V20*/ meltfptr[19]), ( /*_#BINDNUM__L5*/ meltfnum[1])));; MELT_LOCATION ("warmelt-genobj.melt:3512:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_INSTANCE_BINDING */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BIND__V2*/ meltfptr[1]), 5, "NINSTB_CLABIND"); /*_.NCLABIND__V22*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.NCLABIND__V22*/ meltfptr[21] = NULL;; } ; { MELT_LOCATION ("warmelt-genobj.melt:3514:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V18*/ meltfptr[17]), ("rinst_")); } ; { MELT_LOCATION ("warmelt-genobj.melt:3515:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.NAMBUF__V18*/ meltfptr[17]), ( /*_#BINDNUM__L5*/ meltfnum[1])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3516:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V18*/ meltfptr[17]), ("__")); } ; MELT_LOCATION ("warmelt-genobj.melt:3517:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SYMB__V13*/ meltfptr[12]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V23*/ meltfptr[22] = slot; }; ; { /*^locexp */ meltgc_add_strbuf_cident ((melt_ptr_t) ( /*_.NAMBUF__V18*/ meltfptr[17]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V23*/ meltfptr[22]))); } ; MELT_LOCATION ("warmelt-genobj.melt:3518:/ quasiblock"); MELT_LOCATION ("warmelt-genobj.melt:3519:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OLOC__V25*/ meltfptr[24] = meltgc_send ((melt_ptr_t) ( /*_.LOCSYMOCC__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3520:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCLABIND__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_VALUE_BINDING */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-genobj.melt:3520:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3521:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NCLABIND__V22*/ meltfptr[21]), 1, "VBIND_VALUE"); /*_.VBIND_VALUE__V27*/ meltfptr[26] = slot; }; ; /*_.CLAS__V26*/ meltfptr[25] = /*_.VBIND_VALUE__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3520:/ clear"); /*clear *//*_.VBIND_VALUE__V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3522:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[6] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCLABIND__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_CLASS_BINDING */ meltfrout->tabval[7])));; MELT_LOCATION ("warmelt-genobj.melt:3522:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3523:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NCLABIND__V22*/ meltfptr[21]), 3, "CBIND_CLASS"); /*_.CBIND_CLASS__V29*/ meltfptr[28] = slot; }; ; /*_.IFELSE___V28*/ meltfptr[26] = /*_.CBIND_CLASS__V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3522:/ clear"); /*clear *//*_.CBIND_CLASS__V29*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3525:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3525:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3525:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3525; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_consinstancebind bad nclabind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCLABIND__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V31*/ meltfptr[30] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3525:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IF___V31*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3525:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[31] = /*_.IF___V31*/ meltfptr[30];; /*^compute */ /*_.IFCPP___V30*/ meltfptr[28] = /*_.PROGN___V33*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3525:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.PROGN___V33*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3526:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V35*/ meltfptr[31] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3526:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("unexpected class binding"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3526) ? (3526) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V35*/ meltfptr[31] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V34*/ meltfptr[30] = /*_.IFELSE___V35*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3526:/ clear"); /*clear *//*_.IFELSE___V35*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3524:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[31] = /*_.IFCPP___V34*/ meltfptr[30];; /*^compute */ /*_.IFELSE___V28*/ meltfptr[26] = /*_.PROGN___V36*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3522:/ clear"); /*clear *//*_.IFCPP___V30*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V34*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.PROGN___V36*/ meltfptr[31] = 0; } ; } ; /*_.CLAS__V26*/ meltfptr[25] = /*_.IFELSE___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3520:/ clear"); /*clear *//*_#IS_A__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V28*/ meltfptr[26] = 0; } ; } ; MELT_LOCATION ("warmelt-genobj.melt:3527:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.STRBUF2STRING__V37*/ meltfptr[28] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[10])), melt_strbuf_str ((melt_ptr_t) ( /*_.NAMBUF__V18*/ meltfptr[17]))));; MELT_LOCATION ("warmelt-genobj.melt:3527:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJINITOBJECT */ meltfrout->tabval[8])), (7), "CLASS_OBJINITOBJECT"); /*_.INST__V39*/ meltfptr[31] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBV_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V39*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V39*/ meltfptr[31]), (0), (( /*!CTYPE_VALUE */ meltfrout->tabval[9])), "OBV_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V39*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V39*/ meltfptr[31]), (3), ( /*_.ODISCR__V19*/ meltfptr[18]), "OIE_DISCR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_LOCVAR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V39*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V39*/ meltfptr[31]), (4), ( /*_.OLOC__V25*/ meltfptr[24]), "OIE_LOCVAR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIE_CNAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V39*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V39*/ meltfptr[31]), (1), ( /*_.STRBUF2STRING__V37*/ meltfptr[28]), "OIE_CNAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OIO_CLASS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V39*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V39*/ meltfptr[31]), (6), ( /*_.CLAS__V26*/ meltfptr[25]), "OIO_CLASS"); ; /*_.ININST__V38*/ meltfptr[30] = /*_.INST__V39*/ meltfptr[31];; MELT_LOCATION ("warmelt-genobj.melt:3536:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CLAS__V26*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_CLASS */ meltfrout-> tabval[11]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CLAS__V26*/ meltfptr[25]), 6, "CLASS_FIELDS"); /*_.CLASS_FIELDS__V40*/ meltfptr[26] = slot; }; ; } else { /*^cond.else */ /*_.CLASS_FIELDS__V40*/ meltfptr[26] = NULL;; } ; /*^compute */ /*_#MULTIPLE_LENGTH__L10*/ meltfnum[8] = (melt_multiple_length ((melt_ptr_t) ( /*_.CLASS_FIELDS__V40*/ meltfptr[26])));; { MELT_LOCATION ("warmelt-genobj.melt:3536:/ locexp"); melt_put_int ((melt_ptr_t) ( /*_.ININST__V38*/ meltfptr[30]), ( /*_#MULTIPLE_LENGTH__L10*/ meltfnum[8])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3537:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3537:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3537:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3537; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_consinstancebind return ininst="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.ININST__V38*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V42*/ meltfptr[41] = /*_.MELT_DEBUG_FUN__V43*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3537:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = 0; } ; } else { /*^cond.else */ /*_.IF___V42*/ meltfptr[41] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3537:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[42] = /*_.IF___V42*/ meltfptr[41];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[40] = /*_.PROGN___V44*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3537:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.PROGN___V44*/ meltfptr[42] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V41*/ meltfptr[40] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3538:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.ININST__V38*/ meltfptr[30];; { MELT_LOCATION ("warmelt-genobj.melt:3538:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V24*/ meltfptr[23] = /*_.RETURN___V45*/ meltfptr[41];; MELT_LOCATION ("warmelt-genobj.melt:3518:/ clear"); /*clear *//*_.OLOC__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_#IS_A__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.CLAS__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.STRBUF2STRING__V37*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.ININST__V38*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.CLASS_FIELDS__V40*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L10*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.RETURN___V45*/ meltfptr[41] = 0; /*_.LET___V12*/ meltfptr[10] = /*_.LET___V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-genobj.melt:3502:/ clear"); /*clear *//*_.SYMB__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.NLOC__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NDISCR__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NLETREC__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NSLOTS__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.NAMBUF__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.ODISCR__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.NLOCSYMS__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_#BINDNUM__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.LOCSYMOCC__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NCLABIND__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.LET___V24*/ meltfptr[23] = 0; MELT_LOCATION ("warmelt-genobj.melt:3498:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[10];; { MELT_LOCATION ("warmelt-genobj.melt:3498:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[10] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_CONSINSTANCEBIND", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_103_warmelt_genobj_COMPILOBJ_CONSINSTANCEBIND_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_103_warmelt_genobj_COMPILOBJ_CONSINSTANCEBIND */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_104_warmelt_genobj_PUTOBJDEST_OBJVALUE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_104_warmelt_genobj_PUTOBJDEST_OBJVALUE_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_104_warmelt_genobj_PUTOBJDEST_OBJVALUE_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 42 melt_ptr_t mcfr_varptr[42]; #define MELTFRAM_NBVARNUM 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_104_warmelt_genobj_PUTOBJDEST_OBJVALUE_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 42; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 42; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("PUTOBJDEST_OBJVALUE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3543:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.DESTO__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3544:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_OBJVALUE */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3544:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3544:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3544) ? (3544) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3544:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3545:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_OBJPUREVALUE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3545:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3545:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check desto"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3545) ? (3545) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3545:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3546:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 0, "OBV_TYPE"); /*_.TYPRECV__V9*/ meltfptr[8] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3547:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_OBJVALUE */ meltfrout->tabval[0]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), 0, "OBV_TYPE"); /*_.TYPDESTO__V10*/ meltfptr[9] = slot; }; ; } else { /*^cond.else */ /*_.TYPDESTO__V10*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3551:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L3*/ meltfnum[0] = (( /*_.TYPRECV__V9*/ meltfptr[8]) == (( /*!CTYPE_VOID */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-genobj.melt:3551:/ cond"); /*cond */ if ( /*_#__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3552:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L4*/ meltfnum[3] = (( /*_.TYPDESTO__V10*/ meltfptr[9]) == (( /*!CTYPE_VOID */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-genobj.melt:3552:/ cond"); /*cond */ if ( /*_#__L4*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3553:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.RECV__V2*/ meltfptr[1];; { MELT_LOCATION ("warmelt-genobj.melt:3553:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.IFELSE___V12*/ meltfptr[11] = /*_.RETURN___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3552:/ clear"); /*clear *//*_.RETURN___V13*/ meltfptr[12] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3556:/ quasiblock"); /*_.OBODL__V15*/ meltfptr[14] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[3]))));; MELT_LOCATION ("warmelt-genobj.melt:3558:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJPLAINBLOCK */ meltfrout->tabval[4])), (3), "CLASS_OBJPLAINBLOCK"); /*_.INST__V17*/ meltfptr[16] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBLO_BODYL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V17*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V17*/ meltfptr[16]), (1), ( /*_.OBODL__V15*/ meltfptr[14]), "OBLO_BODYL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBLO_EPIL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V17*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V17*/ meltfptr[16]), (2), (( /*nil */ NULL)), "OBLO_EPIL"); ; /*_.OBLK__V16*/ meltfptr[15] = /*_.INST__V17*/ meltfptr[16];; MELT_LOCATION ("warmelt-genobj.melt:3564:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJCLEAR */ meltfrout-> tabval[5])), (2), "CLASS_OBJCLEAR"); /*_.INST__V19*/ meltfptr[18] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OCLR_VLOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V19*/ meltfptr[18]), (1), ( /*_.DESTO__V3*/ meltfptr[2]), "OCLR_VLOC"); ; /*_.OCLR__V18*/ meltfptr[17] = /*_.INST__V19*/ meltfptr[18];; { MELT_LOCATION ("warmelt-genobj.melt:3569:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.OBODL__V15*/ meltfptr[14]), (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3570:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.OBODL__V15*/ meltfptr[14]), (melt_ptr_t) ( /*_.OCLR__V18*/ meltfptr[17])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3573:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.OBODL__V15*/ meltfptr[14]), (melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])); } ; MELT_LOCATION ("warmelt-genobj.melt:3574:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.OBLK__V16*/ meltfptr[15];; { MELT_LOCATION ("warmelt-genobj.melt:3574:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V14*/ meltfptr[12] = /*_.RETURN___V20*/ meltfptr[19];; MELT_LOCATION ("warmelt-genobj.melt:3556:/ clear"); /*clear *//*_.OBODL__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.OBLK__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.OCLR__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.RETURN___V20*/ meltfptr[19] = 0; /*_.IFELSE___V12*/ meltfptr[11] = /*_.LET___V14*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3552:/ clear"); /*clear *//*_.LET___V14*/ meltfptr[12] = 0; } ; } ; /*_.IFELSE___V11*/ meltfptr[10] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3551:/ clear"); /*clear *//*_#__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V12*/ meltfptr[11] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3577:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L5*/ meltfnum[3] = (( /*_.TYPRECV__V9*/ meltfptr[8]) == ( /*_.TYPDESTO__V10*/ meltfptr[9]));; MELT_LOCATION ("warmelt-genobj.melt:3577:/ cond"); /*cond */ if ( /*_#__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3578:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[5] = melt_is_instance_of ((melt_ptr_t) ( /*_.TYPRECV__V9*/ meltfptr[8]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[6])));; MELT_LOCATION ("warmelt-genobj.melt:3578:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[5]) /*then */ { /*^cond.then */ /*_.IFELSE___V23*/ meltfptr[17] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3578:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check same typrecv&rtpdesto"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3578) ? (3578) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V23*/ meltfptr[17] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V22*/ meltfptr[15] = /*_.IFELSE___V23*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3578:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.IFELSE___V23*/ meltfptr[17] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V22*/ meltfptr[15] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3579:/ quasiblock"); /*_.DESTLIS__V25*/ meltfptr[12] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[3]))));; /*^compute */ /*_.EXPLIS__V26*/ meltfptr[11] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[3]))));; MELT_LOCATION ("warmelt-genobj.melt:3581:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJCOMPUTE */ meltfrout->tabval[7])), (4), "CLASS_OBJCOMPUTE"); /*_.INST__V28*/ meltfptr[27] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBDI_DESTLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (1), ( /*_.DESTLIS__V25*/ meltfptr[12]), "OBDI_DESTLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCPT_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (2), ( /*_.EXPLIS__V26*/ meltfptr[11]), "OBCPT_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCPT_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (3), ( /*_.TYPRECV__V9*/ meltfptr[8]), "OBCPT_TYPE"); ; /*_.OBC__V27*/ meltfptr[17] = /*_.INST__V28*/ meltfptr[27];; { MELT_LOCATION ("warmelt-genobj.melt:3588:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.DESTLIS__V25*/ meltfptr[12]), (melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3589:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.EXPLIS__V26*/ meltfptr[11]), (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1])); } ; MELT_LOCATION ("warmelt-genobj.melt:3590:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.OBC__V27*/ meltfptr[17];; { MELT_LOCATION ("warmelt-genobj.melt:3590:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V24*/ meltfptr[19] = /*_.RETURN___V29*/ meltfptr[28];; MELT_LOCATION ("warmelt-genobj.melt:3579:/ clear"); /*clear *//*_.DESTLIS__V25*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.EXPLIS__V26*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.OBC__V27*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.RETURN___V29*/ meltfptr[28] = 0; MELT_LOCATION ("warmelt-genobj.melt:3577:/ quasiblock"); /*_.PROGN___V30*/ meltfptr[12] = /*_.LET___V24*/ meltfptr[19];; /*^compute */ /*_.IFELSE___V21*/ meltfptr[14] = /*_.PROGN___V30*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3577:/ clear"); /*clear *//*_.IFCPP___V22*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.LET___V24*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.PROGN___V30*/ meltfptr[12] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3593:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[5] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3593:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[5]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3593:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[11]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3593; /*^apply.arg */ argtab[3].meltbp_cstring = "putobjdest_objvalue mismatching recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " typrecv="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.TYPRECV__V9*/ meltfptr[8]; /*^apply.arg */ argtab[7].meltbp_cstring = " desto="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.DESTO__V3*/ meltfptr[2]; /*^apply.arg */ argtab[9].meltbp_cstring = " typdesto="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.TYPDESTO__V10*/ meltfptr[9]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[28] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[8])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3593:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3593:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[15] = /*_.IF___V32*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[11] = /*_.PROGN___V34*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3593:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[11] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-genobj.melt:3594:/ locexp"); melt_puts (stderr, ("putobjdest_objvalue type mismatch : recv <")); } ; MELT_LOCATION ("warmelt-genobj.melt:3595:/ quasiblock"); /*_.DISCR__V35*/ meltfptr[19] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]))));; MELT_LOCATION ("warmelt-genobj.melt:3595:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.DISCR__V35*/ meltfptr[19]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V36*/ meltfptr[12] = slot; }; ; { /*^locexp */ melt_putstr (stderr, (melt_ptr_t) ( /*_.NAMED_NAME__V36*/ meltfptr[12])); } ; /*^clear */ /*clear *//*_.DISCR__V35*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V36*/ meltfptr[12] = 0; { MELT_LOCATION ("warmelt-genobj.melt:3596:/ locexp"); melt_puts (stderr, ("> & desto<")); } ; MELT_LOCATION ("warmelt-genobj.melt:3597:/ quasiblock"); /*_.DISCR__V37*/ meltfptr[28] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]))));; MELT_LOCATION ("warmelt-genobj.melt:3597:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.DISCR__V37*/ meltfptr[28]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V38*/ meltfptr[17] = slot; }; ; { /*^locexp */ melt_putstr (stderr, (melt_ptr_t) ( /*_.NAMED_NAME__V38*/ meltfptr[17])); } ; /*^clear */ /*clear *//*_.DISCR__V37*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V38*/ meltfptr[17] = 0; { MELT_LOCATION ("warmelt-genobj.melt:3598:/ locexp"); melt_puts (stderr, (">")); } ; { MELT_LOCATION ("warmelt-genobj.melt:3599:/ locexp"); melt_newlineflush (stderr); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3600:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V40*/ meltfptr[19] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3600:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("putobjdest_objvalue type mismatch"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3600) ? (3600) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V40*/ meltfptr[19] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V39*/ meltfptr[15] = /*_.IFELSE___V40*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3600:/ clear"); /*clear *//*_.IFELSE___V40*/ meltfptr[19] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V39*/ meltfptr[15] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3601:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.RECV__V2*/ meltfptr[1];; { MELT_LOCATION ("warmelt-genobj.melt:3601:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-genobj.melt:3592:/ quasiblock"); /*_.PROGN___V42*/ meltfptr[28] = /*_.RETURN___V41*/ meltfptr[12];; /*^compute */ /*_.IFELSE___V21*/ meltfptr[14] = /*_.PROGN___V42*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3577:/ clear"); /*clear *//*_.IFCPP___V31*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.IFCPP___V39*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.RETURN___V41*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.PROGN___V42*/ meltfptr[28] = 0; } ; } ; /*_.IFELSE___V11*/ meltfptr[10] = /*_.IFELSE___V21*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3551:/ clear"); /*clear *//*_#__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V21*/ meltfptr[14] = 0; } ; } ; /*_.LET___V8*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[10];; MELT_LOCATION ("warmelt-genobj.melt:3546:/ clear"); /*clear *//*_.TYPRECV__V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.TYPDESTO__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_#__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; MELT_LOCATION ("warmelt-genobj.melt:3543:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V8*/ meltfptr[6];; { MELT_LOCATION ("warmelt-genobj.melt:3543:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[6] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PUTOBJDEST_OBJVALUE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_104_warmelt_genobj_PUTOBJDEST_OBJVALUE_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_104_warmelt_genobj_PUTOBJDEST_OBJVALUE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_105_warmelt_genobj_PUTOBJDEST_INTEGER (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_105_warmelt_genobj_PUTOBJDEST_INTEGER_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_105_warmelt_genobj_PUTOBJDEST_INTEGER_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 24 melt_ptr_t mcfr_varptr[24]; #define MELTFRAM_NBVARNUM 7 long mcfr_varnum[7]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_105_warmelt_genobj_PUTOBJDEST_INTEGER_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 24; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 24; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("PUTOBJDEST_INTEGER", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3608:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.DESTO__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3609:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3609:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; /*^compute */ /*_.DISCRIM__V6*/ meltfptr[5] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]))));; MELT_LOCATION ("warmelt-genobj.melt:3609:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[11]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3609; /*^apply.arg */ argtab[3].meltbp_cstring = "putobjdest_integer recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n* desto="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.DESTO__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = "\n* of discrim:"; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.DISCRIM__V6*/ meltfptr[5]; /*^apply.arg */ argtab[9].meltbp_cstring = "\n* class_objlocv="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & ( /*!CLASS_OBJLOCV */ meltfrout->tabval[1]); /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3609:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.DISCRIM__V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3609:/ quasiblock"); /*_.PROGN___V8*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V8*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3609:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V8*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3611:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_INTEGERBOX__L3*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1])) == MELTOBMAG_INT);; MELT_LOCATION ("warmelt-genobj.melt:3611:/ cond"); /*cond */ if ( /*_#IS_INTEGERBOX__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V10*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3611:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3611) ? (3611) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V10*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V9*/ meltfptr[6] = /*_.IFELSE___V10*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3611:/ clear"); /*clear *//*_#IS_INTEGERBOX__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V10*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3612:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_OBJPUREVALUE */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-genobj.melt:3612:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V12*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3612:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check desto"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3612) ? (3612) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V12*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V11*/ meltfptr[5] = /*_.IFELSE___V12*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3612:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V12*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V11*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3613:/ quasiblock"); /*_.DESTLIS__V14*/ meltfptr[13] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[3]))));; /*^compute */ /*_.EXPLIS__V15*/ meltfptr[14] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[3]))));; MELT_LOCATION ("warmelt-genobj.melt:3615:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_OBJVALUE */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), 0, "OBV_TYPE"); /*_.TYPDESTO__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.TYPDESTO__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3616:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJCOMPUTE */ meltfrout->tabval[5])), (4), "CLASS_OBJCOMPUTE"); /*_.INST__V18*/ meltfptr[17] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBDI_DESTLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V18*/ meltfptr[17])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V18*/ meltfptr[17]), (1), ( /*_.DESTLIS__V14*/ meltfptr[13]), "OBDI_DESTLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCPT_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V18*/ meltfptr[17])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V18*/ meltfptr[17]), (2), ( /*_.EXPLIS__V15*/ meltfptr[14]), "OBCPT_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCPT_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V18*/ meltfptr[17])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V18*/ meltfptr[17]), (3), (( /*!CTYPE_LONG */ meltfrout->tabval[6])), "OBCPT_TYPE"); ; /*_.OBC__V17*/ meltfptr[16] = /*_.INST__V18*/ meltfptr[17];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3623:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#__L5*/ meltfnum[1] = (( /*_.TYPDESTO__V16*/ meltfptr[15]) == (( /*!CTYPE_LONG */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-genobj.melt:3623:/ cond"); /*cond */ if ( /*_#__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V20*/ meltfptr[19] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3623:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check typdesto"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3623) ? (3623) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V20*/ meltfptr[19] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V19*/ meltfptr[18] = /*_.IFELSE___V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3623:/ clear"); /*clear *//*_#__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V20*/ meltfptr[19] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V19*/ meltfptr[18] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-genobj.melt:3624:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.DESTLIS__V14*/ meltfptr[13]), (melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3625:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.EXPLIS__V15*/ meltfptr[14]), (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3626:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3626:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3626:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3626; /*^apply.arg */ argtab[3].meltbp_cstring = "putobjdest_integer return obc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OBC__V17*/ meltfptr[16]; /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V22*/ meltfptr[21] = /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3626:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = 0; } ; } else { /*^cond.else */ /*_.IF___V22*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3626:/ quasiblock"); /*_.PROGN___V24*/ meltfptr[22] = /*_.IF___V22*/ meltfptr[21];; /*^compute */ /*_.IFCPP___V21*/ meltfptr[19] = /*_.PROGN___V24*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3626:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PROGN___V24*/ meltfptr[22] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V13*/ meltfptr[4] = /*_.OBC__V17*/ meltfptr[16];; MELT_LOCATION ("warmelt-genobj.melt:3613:/ clear"); /*clear *//*_.DESTLIS__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.EXPLIS__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.TYPDESTO__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.OBC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[19] = 0; MELT_LOCATION ("warmelt-genobj.melt:3608:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V13*/ meltfptr[4];; { MELT_LOCATION ("warmelt-genobj.melt:3608:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V11*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V13*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PUTOBJDEST_INTEGER", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_105_warmelt_genobj_PUTOBJDEST_INTEGER_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_105_warmelt_genobj_PUTOBJDEST_INTEGER */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_106_warmelt_genobj_PUTOBJDEST_STRING (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_106_warmelt_genobj_PUTOBJDEST_STRING_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_106_warmelt_genobj_PUTOBJDEST_STRING_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 23 melt_ptr_t mcfr_varptr[23]; #define MELTFRAM_NBVARNUM 7 long mcfr_varnum[7]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_106_warmelt_genobj_PUTOBJDEST_STRING_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 23; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 23; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("PUTOBJDEST_STRING", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3635:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.DESTO__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3636:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L1*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-genobj.melt:3636:/ cond"); /*cond */ if ( /*_#IS_STRING__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3636:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3636) ? (3636) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3636:/ clear"); /*clear *//*_#IS_STRING__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3637:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_OBJPUREVALUE */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3637:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3637:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check desto"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3637) ? (3637) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3637:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3638:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3638:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3638:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3638; /*^apply.arg */ argtab[3].meltbp_cstring = "putobjdest_string recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " desto="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.DESTO__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3638:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3638:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3638:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3639:/ quasiblock"); /*_.DESTLIS__V13*/ meltfptr[9] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[2]))));; /*^compute */ /*_.EXPLIS__V14*/ meltfptr[13] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[2]))));; MELT_LOCATION ("warmelt-genobj.melt:3641:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), 0, "OBV_TYPE"); /*_.TYPDESTO__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3642:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJCOMPUTE */ meltfrout->tabval[3])), (4), "CLASS_OBJCOMPUTE"); /*_.INST__V17*/ meltfptr[16] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBDI_DESTLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V17*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V17*/ meltfptr[16]), (1), ( /*_.DESTLIS__V13*/ meltfptr[9]), "OBDI_DESTLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCPT_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V17*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V17*/ meltfptr[16]), (2), ( /*_.EXPLIS__V14*/ meltfptr[13]), "OBCPT_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCPT_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V17*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V17*/ meltfptr[16]), (3), (( /*!CTYPE_CSTRING */ meltfrout->tabval[4])), "OBCPT_TYPE"); ; /*_.OBC__V16*/ meltfptr[15] = /*_.INST__V17*/ meltfptr[16];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3649:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#__L5*/ meltfnum[3] = (( /*_.TYPDESTO__V15*/ meltfptr[14]) == (( /*!CTYPE_CSTRING */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-genobj.melt:3649:/ cond"); /*cond */ if ( /*_#__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*_.IFELSE___V19*/ meltfptr[18] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3649:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check typdesto"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3649) ? (3649) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V19*/ meltfptr[18] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V18*/ meltfptr[17] = /*_.IFELSE___V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3649:/ clear"); /*clear *//*_#__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V19*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-genobj.melt:3650:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.DESTLIS__V13*/ meltfptr[9]), (melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])); } ; { MELT_LOCATION ("warmelt-genobj.melt:3651:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.EXPLIS__V14*/ meltfptr[13]), (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3652:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3652:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3652:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3652; /*^apply.arg */ argtab[3].meltbp_cstring = "putobjdest_string return obc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OBC__V16*/ meltfptr[15]; /*_.MELT_DEBUG_FUN__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V21*/ meltfptr[20] = /*_.MELT_DEBUG_FUN__V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3652:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V22*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*_.IF___V21*/ meltfptr[20] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3652:/ quasiblock"); /*_.PROGN___V23*/ meltfptr[21] = /*_.IF___V21*/ meltfptr[20];; /*^compute */ /*_.IFCPP___V20*/ meltfptr[18] = /*_.PROGN___V23*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3652:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.PROGN___V23*/ meltfptr[21] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[18] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V12*/ meltfptr[8] = /*_.OBC__V16*/ meltfptr[15];; MELT_LOCATION ("warmelt-genobj.melt:3639:/ clear"); /*clear *//*_.DESTLIS__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.EXPLIS__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.TYPDESTO__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.OBC__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[18] = 0; MELT_LOCATION ("warmelt-genobj.melt:3635:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[8];; { MELT_LOCATION ("warmelt-genobj.melt:3635:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PUTOBJDEST_STRING", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_106_warmelt_genobj_PUTOBJDEST_STRING_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_106_warmelt_genobj_PUTOBJDEST_STRING */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_107_warmelt_genobj_PUTOBJDEST_NULL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_107_warmelt_genobj_PUTOBJDEST_NULL_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_107_warmelt_genobj_PUTOBJDEST_NULL_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 22 melt_ptr_t mcfr_varptr[22]; #define MELTFRAM_NBVARNUM 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_107_warmelt_genobj_PUTOBJDEST_NULL_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 22; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 22; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("PUTOBJDEST_NULL", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3658:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.DESTO__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3659:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#NULL__L1*/ meltfnum[0] = (( /*_.RECV__V2*/ meltfptr[1]) == NULL);; MELT_LOCATION ("warmelt-genobj.melt:3659:/ cond"); /*cond */ if ( /*_#NULL__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3659:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3659) ? (3659) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3659:/ clear"); /*clear *//*_#NULL__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3660:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_OBJPUREVALUE */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3660:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3660:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check desto"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3660) ? (3660) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3660:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3661:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3661:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3661:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3661; /*^apply.arg */ argtab[3].meltbp_cstring = "putobjdest_null recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " desto="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.DESTO__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3661:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3661:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3661:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3662:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[3] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3662:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { /*^locexp */ #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("putobjdest_null"), (15)); #endif ; } ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-genobj.melt:3663:/ quasiblock"); /*_.DESTLIS__V13*/ meltfptr[9] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[2]))));; /*^compute */ /*_.EXPLIS__V14*/ meltfptr[13] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[2]))));; MELT_LOCATION ("warmelt-genobj.melt:3665:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), 0, "OBV_TYPE"); /*_.TYPDESTO__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3666:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJCOMPUTE */ meltfrout->tabval[3])), (4), "CLASS_OBJCOMPUTE"); /*_.INST__V17*/ meltfptr[16] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBDI_DESTLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V17*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V17*/ meltfptr[16]), (1), ( /*_.DESTLIS__V13*/ meltfptr[9]), "OBDI_DESTLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCPT_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V17*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V17*/ meltfptr[16]), (2), ( /*_.EXPLIS__V14*/ meltfptr[13]), "OBCPT_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCPT_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V17*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V17*/ meltfptr[16]), (3), ( /*_.TYPDESTO__V15*/ meltfptr[14]), "OBCPT_TYPE"); ; /*_.OBC__V16*/ meltfptr[15] = /*_.INST__V17*/ meltfptr[16];; { MELT_LOCATION ("warmelt-genobj.melt:3673:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.DESTLIS__V13*/ meltfptr[9]), (melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])); } ; MELT_LOCATION ("warmelt-genobj.melt:3674:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L6*/ meltfnum[0] = (( /*_.TYPDESTO__V15*/ meltfptr[14]) == (( /*!CTYPE_LONG */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-genobj.melt:3674:/ cond"); /*cond */ if ( /*_#__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_INTEGERBOX__V18*/ meltfptr[17] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_INTEGER */ meltfrout->tabval[5])), (0)));; { MELT_LOCATION ("warmelt-genobj.melt:3675:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.EXPLIS__V14*/ meltfptr[13]), (melt_ptr_t) ( /*_.MAKE_INTEGERBOX__V18*/ meltfptr[17])); } ; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3674:/ clear"); /*clear *//*_.MAKE_INTEGERBOX__V18*/ meltfptr[17] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-genobj.melt:3676:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.EXPLIS__V14*/ meltfptr[13]), (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1])); } ; /*epilog */ } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3677:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[6] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3677:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3677:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3677; /*^apply.arg */ argtab[3].meltbp_cstring = "putobjdest_null return obc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OBC__V16*/ meltfptr[15]; /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V20*/ meltfptr[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3677:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = 0; } ; } else { /*^cond.else */ /*_.IF___V20*/ meltfptr[19] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3677:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[20] = /*_.IF___V20*/ meltfptr[19];; /*^compute */ /*_.IFCPP___V19*/ meltfptr[17] = /*_.PROGN___V22*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3677:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.PROGN___V22*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V19*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V12*/ meltfptr[8] = /*_.OBC__V16*/ meltfptr[15];; MELT_LOCATION ("warmelt-genobj.melt:3663:/ clear"); /*clear *//*_.DESTLIS__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.EXPLIS__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.TYPDESTO__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.OBC__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_#__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V19*/ meltfptr[17] = 0; MELT_LOCATION ("warmelt-genobj.melt:3658:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[8];; { MELT_LOCATION ("warmelt-genobj.melt:3658:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PUTOBJDEST_NULL", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_107_warmelt_genobj_PUTOBJDEST_NULL_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_107_warmelt_genobj_PUTOBJDEST_NULL */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_108_warmelt_genobj_PUTOBJDEST_OBJANYBLOCK (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_108_warmelt_genobj_PUTOBJDEST_OBJANYBLOCK_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_108_warmelt_genobj_PUTOBJDEST_OBJANYBLOCK_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 17 melt_ptr_t mcfr_varptr[17]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_108_warmelt_genobj_PUTOBJDEST_OBJANYBLOCK_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 17; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 17; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("PUTOBJDEST_OBJANYBLOCK", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3683:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.DESTO__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3684:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_OBJANYBLOCK */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3684:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3684:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3684) ? (3684) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3684:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3685:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_OBJPUREVALUE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3685:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3685:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check desto"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3685) ? (3685) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3685:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3686:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 1, "OBLO_BODYL"); /*_.OBL__V9*/ meltfptr[8] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3687:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 2, "OBLO_EPIL"); /*_.OEP__V10*/ meltfptr[9] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3689:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L3*/ meltfnum[0] = (( /*_.OBL__V9*/ meltfptr[8]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.OBL__V9*/ meltfptr[8])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-genobj.melt:3689:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V12*/ meltfptr[11] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3689:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check obl"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3689) ? (3689) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V12*/ meltfptr[11] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V11*/ meltfptr[10] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3689:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V12*/ meltfptr[11] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V11*/ meltfptr[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3690:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L4*/ meltfnum[0] = (( /*_.OEP__V10*/ meltfptr[9]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.OEP__V10*/ meltfptr[9])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-genobj.melt:3690:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V14*/ meltfptr[13] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3690:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check oep"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3690) ? (3690) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V14*/ meltfptr[13] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V13*/ meltfptr[11] = /*_.IFELSE___V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3690:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V14*/ meltfptr[13] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[11] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3692:/ quasiblock"); /*_.LPBY__V15*/ meltfptr[13] = (melt_list_last ((melt_ptr_t) ( /*_.OBL__V9*/ meltfptr[8])));; /*^compute */ /*_.LASBP__V16*/ meltfptr[15] = (melt_pair_head ((melt_ptr_t) ( /*_.LPBY__V15*/ meltfptr[13])));; MELT_LOCATION ("warmelt-genobj.melt:3695:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.LASBP__V16*/ meltfptr[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3696:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.DESTO__V3*/ meltfptr[2]; /*_.UPLASB__V17*/ meltfptr[16] = meltgc_send ((melt_ptr_t) ( /*_.LASBP__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!PUT_OBJDEST */ meltfrout-> tabval[2])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-genobj.melt:3697:/ locexp"); meltgc_pair_set_head ((melt_ptr_t) ( /*_.LPBY__V15*/ meltfptr[13]), ( /*_.UPLASB__V17*/ meltfptr[16])); } ; MELT_LOCATION ("warmelt-genobj.melt:3696:/ clear"); /*clear *//*_.UPLASB__V17*/ meltfptr[16] = 0; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-genobj.melt:3692:/ clear"); /*clear *//*_.LPBY__V15*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.LASBP__V16*/ meltfptr[15] = 0; /*_.LET___V8*/ meltfptr[6] = /*_.RECV__V2*/ meltfptr[1];; MELT_LOCATION ("warmelt-genobj.melt:3686:/ clear"); /*clear *//*_.OBL__V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.OEP__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.IFCPP___V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[11] = 0; MELT_LOCATION ("warmelt-genobj.melt:3683:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V8*/ meltfptr[6];; { MELT_LOCATION ("warmelt-genobj.melt:3683:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[6] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PUTOBJDEST_OBJANYBLOCK", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_108_warmelt_genobj_PUTOBJDEST_OBJANYBLOCK_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_108_warmelt_genobj_PUTOBJDEST_OBJANYBLOCK */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_109_warmelt_genobj_PUTOBJDEST_OBJMULTIBLOCK (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_109_warmelt_genobj_PUTOBJDEST_OBJMULTIBLOCK_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_109_warmelt_genobj_PUTOBJDEST_OBJMULTIBLOCK_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 19 melt_ptr_t mcfr_varptr[19]; #define MELTFRAM_NBVARNUM 7 long mcfr_varnum[7]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_109_warmelt_genobj_PUTOBJDEST_OBJMULTIBLOCK_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 19; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 19; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("PUTOBJDEST_OBJMULTIBLOCK", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3708:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.DESTO__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3709:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_OBJMULTIBLOCK */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3709:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3709:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3709) ? (3709) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3709:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3710:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L2*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3710:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3710:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3710; /*^apply.arg */ argtab[3].meltbp_cstring = "putobjdest_objmultiblock recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " desto="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.DESTO__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3710:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3710:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3710:/ clear"); /*clear *//*_#MELT_NEED_DBG__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3711:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 3, "OMULBLO_SUBCOMP"); /*_.OSUBCOMP__V11*/ meltfptr[7] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3712:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE_OR_NULL__L4*/ meltfnum[2] = (( /*_.OSUBCOMP__V11*/ meltfptr[7]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.OSUBCOMP__V11*/ meltfptr[7])) == MELTOBMAG_MULTIPLE));; MELT_LOCATION ("warmelt-genobj.melt:3712:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE_OR_NULL__L4*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3712:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check osubcomp"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3712) ? (3712) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[11] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3712:/ clear"); /*clear *//*_#IS_MULTIPLE_OR_NULL__L4*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[11] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.OSUBCOMP__V11*/ meltfptr[7]); for ( /*_#CURIX__L5*/ meltfnum[0] = 0; ( /*_#CURIX__L5*/ meltfnum[0] >= 0) && ( /*_#CURIX__L5*/ meltfnum[0] < meltcit1__EACHTUP_ln); /*_#CURIX__L5*/ meltfnum[0]++) { /*_.CURSUBCOMP__V14*/ meltfptr[12] = melt_multiple_nth ((melt_ptr_t) ( /*_.OSUBCOMP__V11*/ meltfptr[7]), /*_#CURIX__L5*/ meltfnum[0]); MELT_LOCATION ("warmelt-genobj.melt:3716:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.DESTO__V3*/ meltfptr[2]; /*_.PUT_OBJDEST__V15*/ meltfptr[14] = meltgc_send ((melt_ptr_t) ( /*_.CURSUBCOMP__V14*/ meltfptr[12]), (melt_ptr_t) (( /*!PUT_OBJDEST */ meltfrout-> tabval[2])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; if ( /*_#CURIX__L5*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-genobj.melt:3713:/ clear"); /*clear *//*_.CURSUBCOMP__V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_#CURIX__L5*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.PUT_OBJDEST__V15*/ meltfptr[14] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3717:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[2] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3717:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3717:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3717; /*^apply.arg */ argtab[3].meltbp_cstring = "putobjdest_objmultiblock done recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V18*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V17*/ meltfptr[16] = /*_.MELT_DEBUG_FUN__V18*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3717:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V18*/ meltfptr[17] = 0; } ; } else { /*^cond.else */ /*_.IF___V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3717:/ quasiblock"); /*_.PROGN___V19*/ meltfptr[17] = /*_.IF___V17*/ meltfptr[16];; /*^compute */ /*_.IFCPP___V16*/ meltfptr[15] = /*_.PROGN___V19*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3717:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IF___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.PROGN___V19*/ meltfptr[17] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[15] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V10*/ meltfptr[6] = /*_.IFCPP___V16*/ meltfptr[15];; MELT_LOCATION ("warmelt-genobj.melt:3711:/ clear"); /*clear *//*_.OSUBCOMP__V11*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.IFCPP___V16*/ meltfptr[15] = 0; MELT_LOCATION ("warmelt-genobj.melt:3708:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V10*/ meltfptr[6];; { MELT_LOCATION ("warmelt-genobj.melt:3708:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.LET___V10*/ meltfptr[6] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PUTOBJDEST_OBJMULTIBLOCK", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_109_warmelt_genobj_PUTOBJDEST_OBJMULTIBLOCK_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_109_warmelt_genobj_PUTOBJDEST_OBJMULTIBLOCK */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_110_warmelt_genobj_PUTOBJDEST_OBJLOOP (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_110_warmelt_genobj_PUTOBJDEST_OBJLOOP_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_110_warmelt_genobj_PUTOBJDEST_OBJLOOP_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 20 melt_ptr_t mcfr_varptr[20]; #define MELTFRAM_NBVARNUM 6 long mcfr_varnum[6]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_110_warmelt_genobj_PUTOBJDEST_OBJLOOP_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 20; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 20; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("PUTOBJDEST_OBJLOOP", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3721:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.DESTO__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3722:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_OBJLOOP */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3722:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3722:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3722) ? (3722) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3722:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3723:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_OBJPUREVALUE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3723:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3723:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check desto"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3723) ? (3723) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3723:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3724:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 2, "OBLO_EPIL"); /*_.EPIL__V8*/ meltfptr[6] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3725:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 4, "OBLOOP_RESV"); /*_.RESV__V9*/ meltfptr[8] = slot; }; ; /*_.DESTLIST__V10*/ meltfptr[9] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[2]))));; MELT_LOCATION ("warmelt-genobj.melt:3727:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJCOMPUTE */ meltfrout->tabval[3])), (4), "CLASS_OBJCOMPUTE"); /*_.INST__V12*/ meltfptr[11] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBDI_DESTLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V12*/ meltfptr[11])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V12*/ meltfptr[11]), (1), ( /*_.DESTLIST__V10*/ meltfptr[9]), "OBDI_DESTLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCPT_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V12*/ meltfptr[11])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V12*/ meltfptr[11]), (2), ( /*_.RESV__V9*/ meltfptr[8]), "OBCPT_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCPT_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V12*/ meltfptr[11])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V12*/ meltfptr[11]), (3), (( /*!CTYPE_VALUE */ meltfrout->tabval[4])), "OBCPT_TYPE"); ; /*_.OBC__V11*/ meltfptr[10] = /*_.INST__V12*/ meltfptr[11];; { MELT_LOCATION ("warmelt-genobj.melt:3734:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.DESTLIST__V10*/ meltfptr[9]), (melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3735:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L3*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.EPIL__V8*/ meltfptr[6])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-genobj.melt:3735:/ cond"); /*cond */ if ( /*_#IS_LIST__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V14*/ meltfptr[13] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3735:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check epil"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3735) ? (3735) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V14*/ meltfptr[13] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V13*/ meltfptr[12] = /*_.IFELSE___V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3735:/ clear"); /*clear *//*_#IS_LIST__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V14*/ meltfptr[13] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3736:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RESV__V9*/ meltfptr[8]), (melt_ptr_t) (( /*!CLASS_OBJLOCV */ meltfrout-> tabval[5])));; MELT_LOCATION ("warmelt-genobj.melt:3736:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V16*/ meltfptr[15] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3736:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check resv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3736) ? (3736) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V16*/ meltfptr[15] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V15*/ meltfptr[13] = /*_.IFELSE___V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3736:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V16*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V15*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-genobj.melt:3737:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.EPIL__V8*/ meltfptr[6]), (melt_ptr_t) ( /*_.OBC__V11*/ meltfptr[10])); } ; MELT_LOCATION ("warmelt-genobj.melt:3724:/ clear"); /*clear *//*_.EPIL__V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.RESV__V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.DESTLIST__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.OBC__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V15*/ meltfptr[13] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3739:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3739:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3739:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3739; /*^apply.arg */ argtab[3].meltbp_cstring = "putobjdest loop updated recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V19*/ meltfptr[8] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[6])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V18*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V19*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3739:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V19*/ meltfptr[8] = 0; } ; } else { /*^cond.else */ /*_.IF___V18*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3739:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[9] = /*_.IF___V18*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[15] = /*_.PROGN___V20*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3739:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V18*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V20*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[15] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3721:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.RECV__V2*/ meltfptr[1];; { MELT_LOCATION ("warmelt-genobj.melt:3721:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[15] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PUTOBJDEST_OBJLOOP", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_110_warmelt_genobj_PUTOBJDEST_OBJLOOP_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_110_warmelt_genobj_PUTOBJDEST_OBJLOOP */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_111_warmelt_genobj_PUTOBJDEST_OBJEXIT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_111_warmelt_genobj_PUTOBJDEST_OBJEXIT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_111_warmelt_genobj_PUTOBJDEST_OBJEXIT_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 7 melt_ptr_t mcfr_varptr[7]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_111_warmelt_genobj_PUTOBJDEST_OBJEXIT_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 7; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 7; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("PUTOBJDEST_OBJEXIT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3746:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.DESTO__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3747:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_OBJEXIT */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3747:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3747:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3747) ? (3747) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3747:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3748:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.DESTO__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_OBJPUREVALUE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3748:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3748:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check desto"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3748) ? (3748) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3748:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3746:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.RECV__V2*/ meltfptr[1];; { MELT_LOCATION ("warmelt-genobj.melt:3746:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PUTOBJDEST_OBJEXIT", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_111_warmelt_genobj_PUTOBJDEST_OBJEXIT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_111_warmelt_genobj_PUTOBJDEST_OBJEXIT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_112_warmelt_genobj_COMPILOBJ_NREP_IF (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_112_warmelt_genobj_COMPILOBJ_NREP_IF_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_112_warmelt_genobj_COMPILOBJ_NREP_IF_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 44 melt_ptr_t mcfr_varptr[44]; #define MELTFRAM_NBVARNUM 15 long mcfr_varnum[15]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_112_warmelt_genobj_COMPILOBJ_NREP_IF_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 44; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 44; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_NREP_IF", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3756:/ getarg"); /*_.RIF__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3757:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_IF */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-genobj.melt:3757:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V5*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3757:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check rif"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3757) ? (3757) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3757:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3758:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3758:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3758:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3758) ? (3758) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3758:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3759:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3759:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3759:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3759; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_if rif="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RIF__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3759:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3759:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3759:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3760:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 0, "NREP_LOC"); /*_.LOC__V13*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3761:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 4, "NIF_TEST"); /*_.NTEST__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3762:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 2, "NIF_THEN"); /*_.NTHEN__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3763:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 3, "NIF_ELSE"); /*_.NELSE__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3764:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 1, "NEXPR_CTYP"); /*_.NCTYP__V17*/ meltfptr[16] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3766:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[3] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V17*/ meltfptr[16]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[3])));; MELT_LOCATION ("warmelt-genobj.melt:3766:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*_.IFELSE___V19*/ meltfptr[18] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3766:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctyp"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3766) ? (3766) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V19*/ meltfptr[18] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V18*/ meltfptr[17] = /*_.IFELSE___V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3766:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V19*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3767:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OTEST__V21*/ meltfptr[20] = meltgc_send ((melt_ptr_t) ( /*_.NTEST__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3768:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OTHEN__V22*/ meltfptr[21] = meltgc_send ((melt_ptr_t) ( /*_.NTHEN__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3769:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_NOT_A__L6*/ meltfnum[0] = !melt_is_instance_of ((melt_ptr_t) ( /*_.NELSE__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!CLASS_NREP_NIL */ meltfrout-> tabval[5])));; MELT_LOCATION ("warmelt-genobj.melt:3769:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3770:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.COMPILE_OBJ__V24*/ meltfptr[23] = meltgc_send ((melt_ptr_t) ( /*_.NELSE__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout-> tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.OELSE__V23*/ meltfptr[22] = /*_.COMPILE_OBJ__V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3769:/ clear"); /*clear *//*_.COMPILE_OBJ__V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*_.OELSE__V23*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3771:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJCOND */ meltfrout-> tabval[6])), (4), "CLASS_OBJCOND"); /*_.INST__V26*/ meltfptr[25] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBI_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V26*/ meltfptr[25]), (0), ( /*_.LOC__V13*/ meltfptr[9]), "OBI_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCOND_TEST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V26*/ meltfptr[25]), (1), ( /*_.OTEST__V21*/ meltfptr[20]), "OBCOND_TEST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCOND_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V26*/ meltfptr[25]), (2), ( /*_.OTHEN__V22*/ meltfptr[21]), "OBCOND_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCOND_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V26*/ meltfptr[25]), (3), ( /*_.OELSE__V23*/ meltfptr[22]), "OBCOND_ELSE"); ; /*_.OBIF__V25*/ meltfptr[23] = /*_.INST__V26*/ meltfptr[25];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3777:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[3] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3777:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3777:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3777; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_if ntest="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTEST__V14*/ meltfptr[13]; /*^apply.arg */ argtab[5].meltbp_cstring = " otest="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OTEST__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V29*/ meltfptr[28] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V28*/ meltfptr[27] = /*_.MELT_DEBUG_FUN__V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3777:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V29*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*_.IF___V28*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3777:/ quasiblock"); /*_.PROGN___V30*/ meltfptr[28] = /*_.IF___V28*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V27*/ meltfptr[26] = /*_.PROGN___V30*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3777:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V30*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V27*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3778:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3778:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3778:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3778; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_if nthen="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTHEN__V15*/ meltfptr[14]; /*^apply.arg */ argtab[5].meltbp_cstring = " otest="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OTHEN__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[28] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3778:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[28] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3778:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[28];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[27] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3778:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3779:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[3] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3779:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3779:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3779; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_if nthen="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NELSE__V16*/ meltfptr[15]; /*^apply.arg */ argtab[5].meltbp_cstring = " otest="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OELSE__V23*/ meltfptr[22]; /*_.MELT_DEBUG_FUN__V37*/ meltfptr[36] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V36*/ meltfptr[32] = /*_.MELT_DEBUG_FUN__V37*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3779:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V37*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*_.IF___V36*/ meltfptr[32] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3779:/ quasiblock"); /*_.PROGN___V38*/ meltfptr[36] = /*_.IF___V36*/ meltfptr[32];; /*^compute */ /*_.IFCPP___V35*/ meltfptr[28] = /*_.PROGN___V38*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3779:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V36*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.PROGN___V38*/ meltfptr[36] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V35*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3780:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3780:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3780:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3780; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_if obif="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OBIF__V25*/ meltfptr[23]; /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V40*/ meltfptr[36] = /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3780:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V41*/ meltfptr[40] = 0; } ; } else { /*^cond.else */ /*_.IF___V40*/ meltfptr[36] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3780:/ quasiblock"); /*_.PROGN___V42*/ meltfptr[40] = /*_.IF___V40*/ meltfptr[36];; /*^compute */ /*_.IFCPP___V39*/ meltfptr[32] = /*_.PROGN___V42*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3780:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V40*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.PROGN___V42*/ meltfptr[40] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V39*/ meltfptr[32] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3781:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#NOTNULL__L15*/ meltfnum[3] = (( /*_.OTEST__V21*/ meltfptr[20]) != NULL);; MELT_LOCATION ("warmelt-genobj.melt:3781:/ cond"); /*cond */ if ( /*_#NOTNULL__L15*/ meltfnum[3]) /*then */ { /*^cond.then */ /*_.IFELSE___V44*/ meltfptr[40] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3781:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check otest"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3781) ? (3781) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V44*/ meltfptr[40] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V43*/ meltfptr[36] = /*_.IFELSE___V44*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3781:/ clear"); /*clear *//*_#NOTNULL__L15*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V44*/ meltfptr[40] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V43*/ meltfptr[36] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V20*/ meltfptr[18] = /*_.OBIF__V25*/ meltfptr[23];; MELT_LOCATION ("warmelt-genobj.melt:3767:/ clear"); /*clear *//*_.OTEST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.OTHEN__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.OELSE__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.OBIF__V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.IFCPP___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V35*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V39*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.IFCPP___V43*/ meltfptr[36] = 0; /*_.LET___V12*/ meltfptr[8] = /*_.LET___V20*/ meltfptr[18];; MELT_LOCATION ("warmelt-genobj.melt:3760:/ clear"); /*clear *//*_.LOC__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.NTEST__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NTHEN__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NELSE__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NCTYP__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.LET___V20*/ meltfptr[18] = 0; MELT_LOCATION ("warmelt-genobj.melt:3756:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[8];; { MELT_LOCATION ("warmelt-genobj.melt:3756:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_NREP_IF", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_112_warmelt_genobj_COMPILOBJ_NREP_IF_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_112_warmelt_genobj_COMPILOBJ_NREP_IF */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_113_warmelt_genobj_COMPILOBJ_NREP_IFISA (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_113_warmelt_genobj_COMPILOBJ_NREP_IFISA_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_113_warmelt_genobj_COMPILOBJ_NREP_IFISA_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 33 melt_ptr_t mcfr_varptr[33]; #define MELTFRAM_NBVARNUM 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_113_warmelt_genobj_COMPILOBJ_NREP_IFISA_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 33; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 33; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_NREP_IFISA", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3788:/ getarg"); /*_.RIF__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3789:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3789:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3789:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3789; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_ifisa rif="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RIF__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3789:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3789:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3789:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3790:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_IFISA */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3790:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3790:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check rif"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3790) ? (3790) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[4] = /*_.IFELSE___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3790:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3791:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-genobj.melt:3791:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3791:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3791) ? (3791) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3791:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3792:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 0, "NREP_LOC"); /*_.LOC__V13*/ meltfptr[12] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3793:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 2, "NIF_THEN"); /*_.NTHEN__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3794:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 3, "NIF_ELSE"); /*_.NELSE__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3795:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 1, "NEXPR_CTYP"); /*_.NCTYP__V16*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3796:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_IFTESTVALUE */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 4, "NIF_TESTVAL"); /*_.NVAL__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.NVAL__V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3797:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 5, "NIFA_CLASS"); /*_.NCLA__V18*/ meltfptr[17] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3799:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-genobj.melt:3799:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V20*/ meltfptr[19] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3799:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctyp"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3799) ? (3799) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V20*/ meltfptr[19] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V19*/ meltfptr[18] = /*_.IFELSE___V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3799:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V20*/ meltfptr[19] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V19*/ meltfptr[18] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3800:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OTHEN__V22*/ meltfptr[21] = meltgc_send ((melt_ptr_t) ( /*_.NTHEN__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[5])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3801:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OVAL__V23*/ meltfptr[22] = meltgc_send ((melt_ptr_t) ( /*_.NVAL__V17*/ meltfptr[16]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[5])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3802:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OCLA__V24*/ meltfptr[23] = meltgc_send ((melt_ptr_t) ( /*_.NCLA__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[5])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3803:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_NOT_A__L6*/ meltfnum[0] = !melt_is_instance_of ((melt_ptr_t) ( /*_.NELSE__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NREP_NIL */ meltfrout-> tabval[6])));; MELT_LOCATION ("warmelt-genobj.melt:3803:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-genobj.melt:3804:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.COMPILE_OBJ__V26*/ meltfptr[25] = meltgc_send ((melt_ptr_t) ( /*_.NELSE__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout-> tabval[5])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.OELSE__V25*/ meltfptr[24] = /*_.COMPILE_OBJ__V26*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3803:/ clear"); /*clear *//*_.COMPILE_OBJ__V26*/ meltfptr[25] = 0; } ; } else { /*^cond.else */ /*_.OELSE__V25*/ meltfptr[24] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3805:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[6]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!CTYPE_LONG */ meltfrout->tabval[8]); /*^apply.arg */ argtab[1].meltbp_cstring = "/*ifisa*/ melt_is_instance_of((melt_ptr_t)("; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OVAL__V23*/ meltfptr[22]; /*^apply.arg */ argtab[3].meltbp_cstring = "), \n (melt_ptr_t)("; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OCLA__V24*/ meltfptr[23]; /*^apply.arg */ argtab[5].meltbp_cstring = "))\n\t\t\t\t "; /*_.OTEST__V27*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t) (( /*!MAKE_OBJLOCATEDEXP */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.LOC__V13*/ meltfptr[12]), (MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3809:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJCOND */ meltfrout-> tabval[9])), (4), "CLASS_OBJCOND"); /*_.INST__V29*/ meltfptr[28] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBI_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (0), ( /*_.LOC__V13*/ meltfptr[12]), "OBI_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCOND_TEST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (1), ( /*_.OTEST__V27*/ meltfptr[25]), "OBCOND_TEST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCOND_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (2), ( /*_.OTHEN__V22*/ meltfptr[21]), "OBCOND_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCOND_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (3), ( /*_.OELSE__V25*/ meltfptr[24]), "OBCOND_ELSE"); ; /*_.OBIF__V28*/ meltfptr[27] = /*_.INST__V29*/ meltfptr[28];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3815:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3815:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3815:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3815; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_ifisa obif="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OBIF__V28*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V31*/ meltfptr[30] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3815:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IF___V31*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3815:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[31] = /*_.IF___V31*/ meltfptr[30];; /*^compute */ /*_.IFCPP___V30*/ meltfptr[29] = /*_.PROGN___V33*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3815:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.PROGN___V33*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V21*/ meltfptr[19] = /*_.OBIF__V28*/ meltfptr[27];; MELT_LOCATION ("warmelt-genobj.melt:3800:/ clear"); /*clear *//*_.OTHEN__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.OVAL__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.OCLA__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.OELSE__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.OTEST__V27*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.OBIF__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[29] = 0; /*_.LET___V12*/ meltfptr[10] = /*_.LET___V21*/ meltfptr[19];; MELT_LOCATION ("warmelt-genobj.melt:3792:/ clear"); /*clear *//*_.LOC__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.NTHEN__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NELSE__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NCTYP__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NVAL__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.NCLA__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.LET___V21*/ meltfptr[19] = 0; MELT_LOCATION ("warmelt-genobj.melt:3788:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[10];; { MELT_LOCATION ("warmelt-genobj.melt:3788:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[10] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_NREP_IFISA", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_113_warmelt_genobj_COMPILOBJ_NREP_IFISA_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_113_warmelt_genobj_COMPILOBJ_NREP_IFISA */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_114_warmelt_genobj_COMPILOBJ_NREP_IFTUPLESIZED (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_114_warmelt_genobj_COMPILOBJ_NREP_IFTUPLESIZED_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_114_warmelt_genobj_COMPILOBJ_NREP_IFTUPLESIZED_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #define MELTFRAM_NBVARPTR 34 melt_ptr_t mcfr_varptr[34]; #define MELTFRAM_NBVARNUM 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; #define meltframe meltfram__ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_114_warmelt_genobj_COMPILOBJ_NREP_IFTUPLESIZED_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 34; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); meltfram__.mcfr_nbvar = 34; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("COMPILOBJ_NREP_IFTUPLESIZED", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-genobj.melt:3822:/ getarg"); /*_.RIF__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.GCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3823:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3823:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3823:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3823; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_ifisa rif="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RIF__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3823:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3823:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3823:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3824:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_IFTUPLESIZED */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-genobj.melt:3824:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3824:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check rif"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3824) ? (3824) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[4] = /*_.IFELSE___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3824:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3825:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.GCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_C_GENERATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-genobj.melt:3825:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-genobj.melt:3825:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check gcx"), ("warmelt-genobj.melt") ? ("warmelt-genobj.melt") : __FILE__, (3825) ? (3825) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3825:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3826:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 0, "NREP_LOC"); /*_.LOC__V13*/ meltfptr[12] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3827:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 2, "NIF_THEN"); /*_.NTHEN__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3828:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 3, "NIF_ELSE"); /*_.NELSE__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-genobj.melt:3829:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_IFTESTVALUE */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 4, "NIF_TESTVAL"); /*_.NVAL__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.NVAL__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3830:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_IFTUPLESIZED */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RIF__V2*/ meltfptr[1]), 5, "NIF_TUPSIZ"); /*_.NTSZ__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.NTSZ__V17*/ meltfptr[16] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3832:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3832:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3832:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3832; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_iftuplesized nval="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NVAL__V16*/ meltfptr[15]; /*^apply.arg */ argtab[5].meltbp_cstring = " ntsz="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NTSZ__V17*/ meltfptr[16]; /*_.MELT_DEBUG_FUN__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V19*/ meltfptr[18] = /*_.MELT_DEBUG_FUN__V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3832:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V20*/ meltfptr[19] = 0; } ; } else { /*^cond.else */ /*_.IF___V19*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3832:/ quasiblock"); /*_.PROGN___V21*/ meltfptr[19] = /*_.IF___V19*/ meltfptr[18];; /*^compute */ /*_.IFCPP___V18*/ meltfptr[17] = /*_.PROGN___V21*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3832:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.PROGN___V21*/ meltfptr[19] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-genobj.melt:3833:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OTHEN__V23*/ meltfptr[19] = meltgc_send ((melt_ptr_t) ( /*_.NTHEN__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3834:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OVAL__V24*/ meltfptr[23] = meltgc_send ((melt_ptr_t) ( /*_.NVAL__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3835:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OELSE__V25*/ meltfptr[24] = meltgc_send ((melt_ptr_t) ( /*_.NELSE__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3836:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OVAL__V26*/ meltfptr[25] = meltgc_send ((melt_ptr_t) ( /*_.NVAL__V16*/ meltfptr[15]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3837:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.GCX__V3*/ meltfptr[2]; /*_.OTSZ__V27*/ meltfptr[26] = meltgc_send ((melt_ptr_t) ( /*_.NTSZ__V17*/ meltfptr[16]), (melt_ptr_t) (( /*!COMPILE_OBJ */ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3839:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[8]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!CTYPE_LONG */ meltfrout->tabval[6]); /*^apply.arg */ argtab[1].meltbp_cstring = "/*iftuplesized*/ melt_magic_discr((melt_ptr_t)("; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OVAL__V26*/ meltfptr[25]; /*^apply.arg */ argtab[3].meltbp_cstring = ")) == MELTOBMAG_MULTIPLE\n\t\t\t\t && ((meltmultiple_ptr_t)("; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OVAL__V26*/ meltfptr[25]; /*^apply.arg */ argtab[5].meltbp_cstring = "))->nbval == (int)("; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OTSZ__V27*/ meltfptr[26]; /*^apply.arg */ argtab[7].meltbp_cstring = ")"; /*_.OTEST__V28*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t) (( /*!MAKE_OBJLOCATEDEXP */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.LOC__V13*/ meltfptr[12]), (MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-genobj.melt:3842:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_OBJCOND */ meltfrout-> tabval[7])), (4), "CLASS_OBJCOND"); /*_.INST__V30*/ meltfptr[29] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBI_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V30*/ meltfptr[29]), (0), ( /*_.LOC__V13*/ meltfptr[12]), "OBI_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCOND_TEST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V30*/ meltfptr[29]), (1), ( /*_.OTEST__V28*/ meltfptr[27]), "OBCOND_TEST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCOND_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V30*/ meltfptr[29]), (2), ( /*_.OTHEN__V23*/ meltfptr[19]), "OBCOND_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @OBCOND_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V30*/ meltfptr[29])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V30*/ meltfptr[29]), (3), ( /*_.OELSE__V25*/ meltfptr[24]), "OBCOND_ELSE"); ; /*_.OBIF__V29*/ meltfptr[28] = /*_.INST__V30*/ meltfptr[29];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-genobj.melt:3848:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-genobj.melt:3848:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-genobj.melt:3848:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-genobj.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3848; /*^apply.arg */ argtab[3].meltbp_cstring = "compilobj_nrep_iftuplesized obif="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OBIF__V29*/ meltfptr[28]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3848:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[31] = NULL;; } ; MELT_LOCATION ("warmelt-genobj.melt:3848:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[30] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-genobj.melt:3848:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V22*/ meltfptr[18] = /*_.OBIF__V29*/ meltfptr[28];; MELT_LOCATION ("warmelt-genobj.melt:3833:/ clear"); /*clear *//*_.OTHEN__V23*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.OVAL__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.OELSE__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.OVAL__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.OTSZ__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.OTEST__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.OBIF__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[30] = 0; /*_.LET___V12*/ meltfptr[10] = /*_.LET___V22*/ meltfptr[18];; MELT_LOCATION ("warmelt-genobj.melt:3826:/ clear"); /*clear *//*_.LOC__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.NTHEN__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NELSE__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NVAL__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NTSZ__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.LET___V22*/ meltfptr[18] = 0; MELT_LOCATION ("warmelt-genobj.melt:3822:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[10];; { MELT_LOCATION ("warmelt-genobj.melt:3822:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[10] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("COMPILOBJ_NREP_IFTUPLESIZED", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_114_warmelt_genobj_COMPILOBJ_NREP_IFTUPLESIZED_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_114_warmelt_genobj_COMPILOBJ_NREP_IFTUPLESIZED */ /**** end of warmelt-genobj+03.c ****/