/* GCC MELT GENERATED FILE warmelt-normal+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-normal+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_normal_ADD_NCTX_DATA (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_normal_FILL_INITIAL_PREDEFMAP (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_normal_CREATE_NORMCONTEXT (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_normal_NORMEXP_IDENTICAL (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_normal_NORMEXP_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_6_warmelt_normal_NORMEXP_SRC_CATCHALL (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_normal_NORMEXP_LAZYMACROEXP (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_normal_GECTYP_ANYRECV (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_normal_GECTYP_ROOT (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_normal_GECTYP_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_11_warmelt_normal_GECTYP_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_12_warmelt_normal_NORMALIZE_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_13_warmelt_normal_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_14_warmelt_normal_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_15_warmelt_normal_WRAP_NORMAL_LET1 (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_normal_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_17_warmelt_normal_WRAP_NORMAL_LETSEQ (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_normal_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_19_warmelt_normal_CHECK_CTYPE_NARGS (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_normal_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_21_warmelt_normal_NORMBIND_FAILANY (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_normal_NORMBIND_ANYBIND (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_normal_NORMBIND_FORMALBIND (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_normal_NORMBIND_LETBIND (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_normal_NORMBIND_FIXBIND (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_normal_NORMBIND_DEFINEDVALBIND (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_normal_NORMBIND_CONSTRUCTBIND (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_normal_NORMEXP_SYMBOL (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_normal_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_30_warmelt_normal_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_31_warmelt_normal_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_32_warmelt_normal_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_33_warmelt_normal_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_34_warmelt_normal_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_35_warmelt_normal_GECTYP_SYMOCC (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_normal_NORMEXP_CLASS (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_normal_NORMEXP_PRIMITIVE (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_normal_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_39_warmelt_normal_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_40_warmelt_normal_NORMEXP_CODE_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_41_warmelt_normal_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_42_warmelt_normal_NORMEXP_CMATCHEXPR (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_normal_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_44_warmelt_normal_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_45_warmelt_normal_NORMEXP_FUNMATCHEXPR (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_normal_NORMEXP_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_47_warmelt_normal_NORMEXP_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_48_warmelt_normal_NORMEXP_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_49_warmelt_normal_NORMEXP_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_50_warmelt_normal_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_51_warmelt_normal_NORMEXP_IFELSE (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_normal_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_53_warmelt_normal_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_54_warmelt_normal_NORMEXP_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_55_warmelt_normal_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_56_warmelt_normal_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_57_warmelt_normal_NORMEXP_OR (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_normal_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_59_warmelt_normal_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_60_warmelt_normal_NORMEXP_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_61_warmelt_normal_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_62_warmelt_normal_NORMEXP_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_63_warmelt_normal_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_64_warmelt_normal_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_65_warmelt_normal_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_66_warmelt_normal_NORMEXP_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_67_warmelt_normal_NORMEXP_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_68_warmelt_normal_NORMEXP_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_69_warmelt_normal_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_70_warmelt_normal_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_71_warmelt_normal_NORMEXP_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_72_warmelt_normal_NORMEXP_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_73_warmelt_normal_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_74_warmelt_normal_NORMEXP_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_75_warmelt_normal_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_76_warmelt_normal_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_77_warmelt_normal_NORMEXP_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_78_warmelt_normal_NORMEXP_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_79_warmelt_normal_NORMEXP_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_80_warmelt_normal_NORMEXP_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_81_warmelt_normal_NORMEXP_COMPILEWARNING (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_normal_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_83_warmelt_normal_REPLACE_LAST_BY_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_84_warmelt_normal_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_85_warmelt_normal_NORMEXP_DEFUN (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_normal_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_87_warmelt_normal_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_88_warmelt_normal_NORMALIZE_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_89_warmelt_normal_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_90_warmelt_normal_NORMEXP_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_91_warmelt_normal_NORMEXP_MULTICALL (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_normal_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_93_warmelt_normal_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_94_warmelt_normal_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_95_warmelt_normal_NORMEXP_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_96_warmelt_normal_NORMEXP_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_97_warmelt_normal_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_98_warmelt_normal_BADMETH_PREPARE_CONSTRUCTOR_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_normal_BADMETH_NORMAL_LETREC_CONSTRUCTIVE (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_normal_PREPCONS_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_101_warmelt_normal_NORMLETREC_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_102_warmelt_normal_PREPCONS_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_103_warmelt_normal_NORMLETREC_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_104_warmelt_normal_PREPCONS_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_105_warmelt_normal_NRECLIST_FIND_LOCSYM (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_normal_NORMLETREC_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_107_warmelt_normal_PREPCONS_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_108_warmelt_normal_NORMLETREC_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_109_warmelt_normal_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_110_warmelt_normal_NORMEXP_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_111_warmelt_normal_NORMAL_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_112_warmelt_normal_NORMAL_SYMBOL_DATA (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_normal_NORMAL_KEYWORD_DATA (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_normal_CREATE_DATA_SLOTS (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_normal_FILL_DATA_SLOT (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_normal_NORMEXP_QUOTE (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_normal_NORMEXP_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_118_warmelt_normal_NORMEXP_KEYWORD (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_normal_FILL_NORMAL_FORMALBIND (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_normal_FILL_NORMAL_FORMALS (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_normal_FILL_NORMAL_EXPANSION (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_normal_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_123_warmelt_normal_NORMEXP_DEFPRIMITIVE (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_normal_NORMEXP_DEFCITERATOR (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_normal_NORMEXP_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_126_warmelt_normal_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_127_warmelt_normal_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_128_warmelt_normal_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_129_warmelt_normal_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_130_warmelt_normal_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_131_warmelt_normal_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_132_warmelt_normal_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_133_warmelt_normal_NORMEXP_DEFCMATCHER (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_normal_NORMEXP_DEFUNMATCHER (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_normal_NORMEXP_DEFCLASS (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_normal_NORMEXP_DEFINSTANCE (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_normal_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_138_warmelt_normal_NORMEXP_DEFINE (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_normal_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_140_warmelt_normal_NORMEXP_DEFSELECTOR (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_normal_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_142_warmelt_normal_NORMAL_VALUE_EXPORTER (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_normal_NORMAL_EXPORTED_VALUE (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_normal_NORMEXP_EXPORT_VALUES (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_normal_NORMEXP_EXPORT_SYNONYM (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_normal_NORMEXP_EXPORT_CLASS (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_normal_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_148_warmelt_normal_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_149_warmelt_normal_NORMAL_MACRO_EXPORTER (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_normal_NORMAL_PATMACRO_EXPORTER (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_normal_NORMAL_EXPORTED_MACRO (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_normal_NORMEXP_EXPORT_MACRO (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_normal_NORMAL_EXPORTED_PATMACRO (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_normal_NORMEXP_EXPORT_PATMACRO (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_normal_NORMEXP_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_156_warmelt_normal_NORMEXP_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_157_warmelt_normal_NORMEXP_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_158_warmelt_normal_NORMEXP_FETCH_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_159_warmelt_normal_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_160_warmelt_normal_NORMEXP_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_161_warmelt_normal_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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_162_warmelt_normal_NORMEXP_CHEADER (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_normal_NORMEXP_USE_PACKAGE_FROM_PKG_CONFIG (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_normal__melt_have_debug_enabled[]; #define melt_have_debug_string meltmodule_warmelt_normal__melt_have_debug_enabled #else /*!MELT_HAVE_DEBUG */ extern #ifdef __cplusplus "C" #endif /*__cplusplus*/ const char meltmodule_warmelt_normal__melt_have_debug_disabled[]; #define melt_have_debug_string meltmodule_warmelt_normal__melt_have_debug_disabled #endif /*!MELT_HAVE_DEBUG */ struct frame_start_module_melt_st; void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_0 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_1 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_2 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_3 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_4 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_5 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_6 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_7 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_8 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_9 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_10 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_11 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_12 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_13 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_14 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_15 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_16 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_17 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_18 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_19 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_20 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_21 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_22 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_23 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_24 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_25 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_26 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_27 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_28 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_29 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_30 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_31 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_32 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_33 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_34 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_35 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_36 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_37 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_38 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_39 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_40 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_41 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_42 (struct frame_start_module_melt_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__forward_or_mark_module_start_frame (struct melt_callframe_st *fp, int marking); /**** warmelt-normal+03.c implementations ****/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_92_warmelt_normal_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_) { long current_blocklevel_signals_meltrout_92_warmelt_normal_LAMBDA___38___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_normal_LAMBDA___38___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 9 melt_ptr_t mcfr_varptr[9]; #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_92_warmelt_normal_LAMBDA___38___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 9; 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 = 9; 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-normal.melt:3909:/ getarg"); /*_.CBND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3910:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CBND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3910:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3910:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_multicall check cbnd"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3910) ? (3910) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3910:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 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-normal.melt:3911:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CBND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.BINDER__V5*/ meltfptr[3] = slot; }; ; /*_#__L2*/ meltfnum[0] = ((( /*~NCALLSYM */ meltfclos->tabval[0])) == ( /*_.BINDER__V5*/ meltfptr[3]));; MELT_LOCATION ("warmelt-normal.melt:3911:/ cond"); /*cond */ if ( /*_#__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3912:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CBND__V2*/ meltfptr[1]), 2, "LETBIND_EXPR"); /*_.NREALCALLEX__V8*/ meltfptr[7] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3913:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NCONTCALL */ meltfclos-> tabval[1])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*~NCONTCALL */ meltfclos->tabval[1]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~NCONTCALL */ meltfclos-> tabval[1])), (0), ( /*_.NREALCALLEX__V8*/ meltfptr[7]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*~NCONTCALL */ meltfclos->tabval[1])); ; /*epilog */ } ; } /*noelse */ ; /*_.LET___V7*/ meltfptr[6] = ( /*nil */ NULL);; MELT_LOCATION ("warmelt-normal.melt:3912:/ clear"); /*clear *//*_.NREALCALLEX__V8*/ meltfptr[7] = 0; /*_.IFELSE___V6*/ meltfptr[5] = /*_.LET___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3911:/ clear"); /*clear *//*_.LET___V7*/ meltfptr[6] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:3915:/ locexp"); meltgc_append_list ((melt_ptr_t) (( /*~NINCALLBINDINGS */ meltfclos-> tabval[2])), (melt_ptr_t) ( /*_.CBND__V2*/ meltfptr[1])); } ; /*^quasiblock */ /*_.PROGN___V9*/ meltfptr[7] = /*_.CBND__V2*/ meltfptr[1];; /*^compute */ /*_.IFELSE___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3911:/ clear"); /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } ; } ; MELT_LOCATION ("warmelt-normal.melt:3909:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFELSE___V6*/ meltfptr[5];; { MELT_LOCATION ("warmelt-normal.melt:3909:/ 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 *//*_.BINDER__V5*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_#__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V6*/ meltfptr[5] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_92_warmelt_normal_LAMBDA___38___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_normal_LAMBDA___38__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_93_warmelt_normal_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_) { long current_blocklevel_signals_meltrout_93_warmelt_normal_LAMBDA___39___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_normal_LAMBDA___39___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_93_warmelt_normal_LAMBDA___39___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-normal.melt:3920:/ getarg"); /*_.BND__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-normal.melt:3921:/ 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 *) & /*_.BND__V2*/ meltfptr[1]; /*_.PUT_ENV__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[0])), (melt_ptr_t) (( /*~NEWENV */ meltfclos->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3920:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.PUT_ENV__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normal.melt:3920:/ 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 *//*_.PUT_ENV__V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_93_warmelt_normal_LAMBDA___39___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_93_warmelt_normal_LAMBDA___39__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_94_warmelt_normal_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_) { long current_blocklevel_signals_meltrout_94_warmelt_normal_LAMBDA___40___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_normal_LAMBDA___40___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]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*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_normal_LAMBDA___40___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-normal.melt:3930:/ getarg"); /*_.BND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normal.melt:3931:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.BINDER__V3*/ meltfptr[2] = slot; }; ; { /*^locexp */ meltgc_remove_mapobjects ((meltmapobjects_ptr_t) (( /*~SYCMAP */ meltfclos->tabval[0])), (meltobject_ptr_t) ( /*_.BINDER__V3*/ meltfptr[2])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3930:/ clear"); /*clear *//*_.BINDER__V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_94_warmelt_normal_LAMBDA___40___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_94_warmelt_normal_LAMBDA___40__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_95_warmelt_normal_NORMEXP_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_) { long current_blocklevel_signals_meltrout_95_warmelt_normal_NORMEXP_TUPLE_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_normal_NORMEXP_TUPLE_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 67 melt_ptr_t mcfr_varptr[67]; #define MELTFRAM_NBVARNUM 18 long mcfr_varnum[18]; /*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_normal_NORMEXP_TUPLE_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 67; 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 = 67; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_TUPLE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4001:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4002:/ 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_SOURCE_TUPLE */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4002:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4002:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check tuple recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4002) ? (4002) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4002:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4003:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4003:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4003:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4003) ? (4003) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4003:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4004:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:4004:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4004:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4004) ? (4004) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4004:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4005:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ 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-normal.melt:4005:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4005:/ 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[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4005; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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-normal.melt:4005:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_.IF___V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4005:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4005:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ 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[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4006:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4007:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 2, "SARGOP_ARGS"); /*_.SARGS__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4008:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYMREC__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!konst_5_TUPLREC_ */ meltfrout-> tabval[5])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4009:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYMTUP__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!konst_6_TUPLE_ */ meltfrout-> tabval[6])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4010:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_multiple"; /*_.NORMDISCRMULT__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[7])), (melt_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout-> tabval[8])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4011:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NEWENV__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4013:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[4] = /*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-normal.melt:4013:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4013:/ 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[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4013; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple csymrec"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CSYMREC__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V24*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4013:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = 0; } ; } else { /*^cond.else */ /*_.IF___V24*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4013:/ quasiblock"); /*_.PROGN___V26*/ meltfptr[24] = /*_.IF___V24*/ meltfptr[23];; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.PROGN___V26*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4013:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.PROGN___V26*/ meltfptr[24] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4016:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4014:/ quasiblock"); /*^multiapply */ /*multiapply 4args, 1x.res */ { union meltparam_un argtab[3]; union meltparam_un restab[1]; memset (&restab, 0, sizeof (restab)); memset (&argtab, 0, sizeof (argtab)); /*^multiapply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V29*/ meltfptr[28]; /*^multiapply.appl */ /*_.NARGS__V28*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.SARGS__V18*/ meltfptr[17]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4017:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ 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-normal.melt:4017:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4017:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4017; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple nargs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NARGS__V28*/ meltfptr[24]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V29*/ meltfptr[28]; /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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___V31*/ meltfptr[30] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4017:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IF___V31*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4017:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[31] = /*_.IF___V31*/ meltfptr[30];; /*^compute */ /*_.IFCPP___V30*/ meltfptr[29] = /*_.PROGN___V33*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4017:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[0] = 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 */ ; MELT_LOCATION ("warmelt-normal.melt:4020:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct MELT_OBJECT_STRUCT (5) rinst_0__CONSTUPBIND; struct MELT_OBJECT_STRUCT (4) rinst_1__CLOCC; struct MELT_MULTIPLE_STRUCT (1) rtup_2__TUP1BIND; struct MELT_MULTIPLE_STRUCT (1) rtup_3__TUP1LOC; struct MELT_MULTIPLE_STRUCT (1) rtup_4__NBDY; struct MELT_OBJECT_STRUCT (6) rinst_5__NLETREC; struct MELT_OBJECT_STRUCT (4) rinst_6__CTUPBIND; struct MELT_OBJECT_STRUCT (4) rinst_7__CTUPLOCC; struct meltpair_st rpair_8__CTUPBIND_x1; struct meltlist_st rlist_9__CTUPBINDLIST; long meltletrec_1_endgap; } *meltletrec_1_ptr = 0; meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0); /*^blockmultialloc.initfill */ /*iniobj rinst_0__CONSTUPBIND */ /*_.CONSTUPBIND__V35*/ meltfptr[31] = (melt_ptr_t) & meltletrec_1_ptr->rinst_0__CONSTUPBIND; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_0__CONSTUPBIND", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_TUPLE_BINDING */ meltfrout->tabval[11]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_0__CONSTUPBIND", ((meltobject_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_TUPLE_BINDING */ meltfrout->tabval[11])))->meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_0__CONSTUPBIND.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_TUPLE_BINDING */ meltfrout->tabval[11])); meltletrec_1_ptr->rinst_0__CONSTUPBIND.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_0__CONSTUPBIND.obj_len = 5; /*iniobj rinst_1__CLOCC */ /*_.CLOCC__V36*/ meltfptr[35] = (melt_ptr_t) & meltletrec_1_ptr->rinst_1__CLOCC; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_1__CLOCC", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[12]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_1__CLOCC", ((meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[12])))->meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_1__CLOCC.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[12])); meltletrec_1_ptr->rinst_1__CLOCC.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_1__CLOCC.obj_len = 4; /*inimult rtup_2__TUP1BIND */ /*_.TUP1BIND__V37*/ meltfptr[36] = (melt_ptr_t) & meltletrec_1_ptr->rtup_2__TUP1BIND; meltletrec_1_ptr->rtup_2__TUP1BIND.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_1_ptr->rtup_2__TUP1BIND.nbval = 1; /*inimult rtup_3__TUP1LOC */ /*_.TUP1LOC__V38*/ meltfptr[37] = (melt_ptr_t) & meltletrec_1_ptr->rtup_3__TUP1LOC; meltletrec_1_ptr->rtup_3__TUP1LOC.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_1_ptr->rtup_3__TUP1LOC.nbval = 1; /*inimult rtup_4__NBDY */ /*_.NBDY__V39*/ meltfptr[38] = (melt_ptr_t) & meltletrec_1_ptr->rtup_4__NBDY; meltletrec_1_ptr->rtup_4__NBDY.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_1_ptr->rtup_4__NBDY.nbval = 1; /*iniobj rinst_5__NLETREC */ /*_.NLETREC__V40*/ meltfptr[39] = (melt_ptr_t) & meltletrec_1_ptr->rinst_5__NLETREC; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_5__NLETREC", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[13]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_5__NLETREC", ((meltobject_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[13])))-> meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_5__NLETREC.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[13])); meltletrec_1_ptr->rinst_5__NLETREC.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_5__NLETREC.obj_len = 6; /*iniobj rinst_6__CTUPBIND */ /*_.CTUPBIND__V41*/ meltfptr[40] = (melt_ptr_t) & meltletrec_1_ptr->rinst_6__CTUPBIND; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_6__CTUPBIND", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[14]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_6__CTUPBIND", ((meltobject_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout-> tabval[14])))->meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_6__CTUPBIND.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout-> tabval[14])); meltletrec_1_ptr->rinst_6__CTUPBIND.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_6__CTUPBIND.obj_len = 4; /*iniobj rinst_7__CTUPLOCC */ /*_.CTUPLOCC__V42*/ meltfptr[41] = (melt_ptr_t) & meltletrec_1_ptr->rinst_7__CTUPLOCC; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_7__CTUPLOCC", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[12]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_7__CTUPLOCC", ((meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[12])))->meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_7__CTUPLOCC.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[12])); meltletrec_1_ptr->rinst_7__CTUPLOCC.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_7__CTUPLOCC.obj_len = 4; /*inipair rpair_8__CTUPBIND_x1 */ /*_.CTUPBIND__V43*/ meltfptr[42] = (melt_ptr_t) & meltletrec_1_ptr->rpair_8__CTUPBIND_x1; meltletrec_1_ptr->rpair_8__CTUPBIND_x1.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_9__CTUPBINDLIST */ /*_.CTUPBINDLIST__V44*/ meltfptr[43] = (melt_ptr_t) & meltletrec_1_ptr->rlist_9__CTUPBINDLIST; meltletrec_1_ptr->rlist_9__CTUPBINDLIST.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); MELT_LOCATION ("warmelt-normal.melt:4021:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSTUPBIND__V35*/ meltfptr[31]), (0), ( /*_.CSYMREC__V19*/ meltfptr[18]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSTUPBIND__V35*/ meltfptr[31]), (1), ( /*_.SLOC__V17*/ meltfptr[13]), "NCONSB_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSTUPBIND__V35*/ meltfptr[31]), (2), ( /*_.NORMDISCRMULT__V21*/ meltfptr[20]), "NCONSB_DISCR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_NLETREC", melt_magic_discr ((melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSTUPBIND__V35*/ meltfptr[31]), (3), ( /*_.NLETREC__V40*/ meltfptr[39]), "NCONSB_NLETREC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTUPB_COMP", melt_magic_discr ((melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSTUPBIND__V35*/ meltfptr[31]), (4), ( /*_.NARGS__V28*/ meltfptr[24]), "NTUPB_COMP"); ; /*^touch */ meltgc_touch ( /*_.CONSTUPBIND__V35*/ meltfptr[31]); ; MELT_LOCATION ("warmelt-normal.melt:4028:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V36*/ meltfptr[35]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V36*/ meltfptr[35]), (1), ( /*_.CSYMREC__V19*/ meltfptr[18]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V36*/ meltfptr[35]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[15])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V36*/ meltfptr[35]), (3), ( /*_.CONSTUPBIND__V35*/ meltfptr[31]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.CLOCC__V36*/ meltfptr[35]); ; MELT_LOCATION ("warmelt-normal.melt:4033:/ putuple"); /*putupl#5 */ melt_assertmsg ("putupl [:4033] #5 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUP1BIND__V37*/ meltfptr[36])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:4033] #5 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUP1BIND__V37*/ meltfptr[36])))); ((meltmultiple_ptr_t) ( /*_.TUP1BIND__V37*/ meltfptr[36]))->tabval[0] = (melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31]); ; /*^touch */ meltgc_touch ( /*_.TUP1BIND__V37*/ meltfptr[36]); ; MELT_LOCATION ("warmelt-normal.melt:4034:/ putuple"); /*putupl#6 */ melt_assertmsg ("putupl [:4034] #6 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUP1LOC__V38*/ meltfptr[37])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:4034] #6 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUP1LOC__V38*/ meltfptr[37])))); ((meltmultiple_ptr_t) ( /*_.TUP1LOC__V38*/ meltfptr[37]))->tabval[0] = (melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35]); ; /*^touch */ meltgc_touch ( /*_.TUP1LOC__V38*/ meltfptr[37]); ; MELT_LOCATION ("warmelt-normal.melt:4035:/ putuple"); /*putupl#7 */ melt_assertmsg ("putupl [:4035] #7 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.NBDY__V39*/ meltfptr[38])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:4035] #7 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.NBDY__V39*/ meltfptr[38])))); ((meltmultiple_ptr_t) ( /*_.NBDY__V39*/ meltfptr[38]))->tabval[0] = (melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35]); ; /*^touch */ meltgc_touch ( /*_.NBDY__V39*/ meltfptr[38]); ; MELT_LOCATION ("warmelt-normal.melt:4036:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (1), ( /*_.TUP1BIND__V37*/ meltfptr[36]), "NLET_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (2), ( /*_.NBDY__V39*/ meltfptr[38]), "NLET_BODY"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_FILL_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (3), (( /*nil */ NULL)), "NLETREC_FILL_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_BODY_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (4), (( /*nil */ NULL)), "NLETREC_BODY_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_LOCSYMS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (5), ( /*_.TUP1LOC__V38*/ meltfptr[37]), "NLETREC_LOCSYMS"); ; /*^touch */ meltgc_touch ( /*_.NLETREC__V40*/ meltfptr[39]); ; MELT_LOCATION ("warmelt-normal.melt:4046:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPBIND__V41*/ meltfptr[40]), (0), ( /*_.CSYMTUP__V20*/ meltfptr[19]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPBIND__V41*/ meltfptr[40]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[15])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPBIND__V41*/ meltfptr[40]), (2), ( /*_.NLETREC__V40*/ meltfptr[39]), "LETBIND_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPBIND__V41*/ meltfptr[40]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^touch */ meltgc_touch ( /*_.CTUPBIND__V41*/ meltfptr[40]); ; MELT_LOCATION ("warmelt-normal.melt:4051:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPLOCC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPLOCC__V42*/ meltfptr[41]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPLOCC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPLOCC__V42*/ meltfptr[41]), (1), ( /*_.CSYMTUP__V20*/ meltfptr[19]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPLOCC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPLOCC__V42*/ meltfptr[41]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[15])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPLOCC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPLOCC__V42*/ meltfptr[41]), (3), ( /*_.CTUPBIND__V41*/ meltfptr[40]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.CTUPLOCC__V42*/ meltfptr[41]); ; MELT_LOCATION ("warmelt-normal.melt:4056:/ putpairhead"); /*putpairhead */ melt_assertmsg ("putpairhead /c checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBIND__V43*/ meltfptr[42])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CTUPBIND__V43*/ meltfptr[42]))->hd = (melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40]); ; /*^touch */ meltgc_touch ( /*_.CTUPBIND__V43*/ meltfptr[42]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBINDLIST__V44*/ meltfptr[43])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.CTUPBINDLIST__V44*/ meltfptr[43]))->first = (meltpair_ptr_t) ( /*_.CTUPBIND__V43*/ meltfptr[42]); ((meltlist_ptr_t) ( /*_.CTUPBINDLIST__V44*/ meltfptr[43]))->last = (meltpair_ptr_t) ( /*_.CTUPBIND__V43*/ meltfptr[42]); ; /*^touch */ meltgc_touch ( /*_.CTUPBINDLIST__V44*/ meltfptr[43]); ; MELT_LOCATION ("warmelt-normal.melt:4058:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L10*/ meltfnum[4] = (( /*_.NBINDINGS__V29*/ meltfptr[28]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:4058:/ cond"); /*cond */ if ( /*_#NULL__L10*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4059:/ compute"); /*_.NBINDINGS__V29*/ meltfptr[28] = /*_.SETQ___V46*/ meltfptr[45] = /*_.CTUPBINDLIST__V44*/ meltfptr[43];; /*_.IFELSE___V45*/ meltfptr[44] = /*_.SETQ___V46*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4058:/ clear"); /*clear *//*_.SETQ___V46*/ meltfptr[45] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:4060:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDINGS__V29*/ meltfptr[28]), (melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40])); } ; /*clear *//*_.IFELSE___V45*/ meltfptr[44] = 0; /*epilog */ } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4062:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ 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-normal.melt:4062:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4062:/ 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[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4062; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple ctupbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CTUPBIND__V41*/ meltfptr[40]; /*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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-normal.melt:4062:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = 0; } ; } else { /*^cond.else */ /*_.IF___V48*/ meltfptr[47] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4062:/ quasiblock"); /*_.PROGN___V50*/ meltfptr[48] = /*_.IF___V48*/ meltfptr[47];; /*^compute */ /*_.IFCPP___V47*/ meltfptr[45] = /*_.PROGN___V50*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4062:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.PROGN___V50*/ meltfptr[48] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V47*/ meltfptr[45] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit1__EACHLIST */ for ( /*_.CURPAIR__V51*/ meltfptr[47] = melt_list_first ((melt_ptr_t) /*_.NBINDINGS__V29*/ meltfptr[28]); melt_magic_discr ((melt_ptr_t) /*_.CURPAIR__V51*/ meltfptr[47]) == MELTOBMAG_PAIR; /*_.CURPAIR__V51*/ meltfptr[47] = melt_pair_tail ((melt_ptr_t) /*_.CURPAIR__V51*/ meltfptr[47])) { /*_.CURBIND__V52*/ meltfptr[48] = melt_pair_head ((melt_ptr_t) /*_.CURPAIR__V51*/ meltfptr[47]); MELT_LOCATION ("warmelt-normal.melt:4066:/ 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 *) & /*_.CURBIND__V52*/ meltfptr[48]; /*_.PUT_ENV__V53*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[16])), (melt_ptr_t) ( /*_.NEWENV__V22*/ meltfptr[21]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; } /* end foreach_in_list meltcit1__EACHLIST */ /*_.CURPAIR__V51*/ meltfptr[47] = NULL; /*_.CURBIND__V52*/ meltfptr[48] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4063:/ clear"); /*clear *//*_.CURPAIR__V51*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.CURBIND__V52*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V53*/ meltfptr[52] = 0; } /*endciterblock FOREACH_IN_LIST */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.NARGS__V28*/ meltfptr[24]); for ( /*_#NIX__L13*/ meltfnum[11] = 0; ( /*_#NIX__L13*/ meltfnum[11] >= 0) && ( /*_#NIX__L13*/ meltfnum[11] < meltcit2__EACHTUP_ln); /*_#NIX__L13*/ meltfnum[11]++) { /*_.CURNARG__V54*/ meltfptr[53] = melt_multiple_nth ((melt_ptr_t) ( /*_.NARGS__V28*/ meltfptr[24]), /*_#NIX__L13*/ meltfnum[11]); MELT_LOCATION ("warmelt-normal.melt:4071:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^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 *) & /*_.NEWENV__V22*/ meltfptr[21]; /*_.GET_CTYPE__V55*/ meltfptr[54] = meltgc_send ((melt_ptr_t) ( /*_.CURNARG__V54*/ meltfptr[53]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[17])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_#__L14*/ meltfnum[0] = (( /*_.GET_CTYPE__V55*/ meltfptr[54]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[15])));; MELT_LOCATION ("warmelt-normal.melt:4071:/ cond"); /*cond */ if ( /*_#__L14*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4073:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L15*/ meltfnum[14] = /*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-normal.melt:4073:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L15*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L16*/ meltfnum[15] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4073:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L16*/ meltfnum[15]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4073; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple bad curnarg"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURNARG__V54*/ meltfptr[53]; /*_.MELT_DEBUG_FUN__V59*/ meltfptr[58] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V58*/ meltfptr[57] = /*_.MELT_DEBUG_FUN__V59*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4073:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V59*/ meltfptr[58] = 0; } ; } else { /*^cond.else */ /*_.IF___V58*/ meltfptr[57] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4073:/ quasiblock"); /*_.PROGN___V60*/ meltfptr[58] = /*_.IF___V58*/ meltfptr[57];; /*^compute */ /*_.IFCPP___V57*/ meltfptr[56] = /*_.PROGN___V60*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4073:/ clear"); /*clear *//*_#MELT_NEED_DBG__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IF___V58*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.PROGN___V60*/ meltfptr[58] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V57*/ meltfptr[56] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4074:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("(TUPLE ...) arguments should be values"), (melt_ptr_t) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4075:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:4075:/ 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-normal.melt:4072:/ quasiblock"); /*_.PROGN___V62*/ meltfptr[58] = /*_.RETURN___V61*/ meltfptr[57];; /*^compute */ /*_.IF___V56*/ meltfptr[55] = /*_.PROGN___V62*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4071:/ clear"); /*clear *//*_.IFCPP___V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.RETURN___V61*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.PROGN___V62*/ meltfptr[58] = 0; } ; } else { /*^cond.else */ /*_.IF___V56*/ meltfptr[55] = NULL;; } ; if ( /*_#NIX__L13*/ meltfnum[11] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4068:/ clear"); /*clear *//*_.CURNARG__V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_#NIX__L13*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_#__L14*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V56*/ meltfptr[55] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4077:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ meltfnum[15] = /*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-normal.melt:4077:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[14] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4077:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4077; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple return ctuplocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CTUPLOCC__V42*/ meltfptr[41]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V29*/ meltfptr[28]; /*_.MELT_DEBUG_FUN__V65*/ meltfptr[58] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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___V64*/ meltfptr[57] = /*_.MELT_DEBUG_FUN__V65*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4077:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V65*/ meltfptr[58] = 0; } ; } else { /*^cond.else */ /*_.IF___V64*/ meltfptr[57] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4077:/ quasiblock"); /*_.PROGN___V66*/ meltfptr[58] = /*_.IF___V64*/ meltfptr[57];; /*^compute */ /*_.IFCPP___V63*/ meltfptr[56] = /*_.PROGN___V66*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4077:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IF___V64*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.PROGN___V66*/ meltfptr[58] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V63*/ meltfptr[56] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4078:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.CTUPLOCC__V42*/ meltfptr[41];; MELT_LOCATION ("warmelt-normal.melt:4078:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto labend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto labend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBINDINGS__V29*/ meltfptr[28]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LETREC___V34*/ meltfptr[30] = /*_.RETURN___V67*/ meltfptr[57];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4020:/ clear"); /*clear *//*_.CONSTUPBIND__V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CLOCC__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.TUP1BIND__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.TUP1LOC__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.NBDY__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.NLETREC__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.CTUPBIND__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.CTUPLOCC__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.CTUPBIND__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.CTUPBINDLIST__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.CONSTUPBIND__V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CLOCC__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.TUP1BIND__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.TUP1LOC__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.NBDY__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.NLETREC__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.CTUPBIND__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.CTUPLOCC__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.CTUPBIND__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.CTUPBINDLIST__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_#NULL__L10*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.IFCPP___V47*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.IFCPP___V63*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.RETURN___V67*/ meltfptr[57] = 0; } /*end multiallocblock */ ; MELT_LOCATION ("warmelt-normal.melt:4014:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MULTI___V27*/ meltfptr[23] = /*_.LETREC___V34*/ meltfptr[30];; MELT_LOCATION ("warmelt-normal.melt:4014:/ clear"); /*clear *//*_.IFCPP___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.LETREC___V34*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.NBINDINGS__V29*/ meltfptr[28] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V27*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:4006:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SARGS__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.CSYMREC__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CSYMTUP__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NORMDISCRMULT__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NEWENV__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.MULTI___V27*/ meltfptr[23] = 0; MELT_LOCATION ("warmelt-normal.melt:4001:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4001:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_TUPLE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_95_warmelt_normal_NORMEXP_TUPLE_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_normal_NORMEXP_TUPLE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_96_warmelt_normal_NORMEXP_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_) { long current_blocklevel_signals_meltrout_96_warmelt_normal_NORMEXP_LIST_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_normal_NORMEXP_LIST_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 115 melt_ptr_t mcfr_varptr[115]; #define MELTFRAM_NBVARNUM 36 long mcfr_varnum[36]; /*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_normal_NORMEXP_LIST_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 115; 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 = 115; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_LIST", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4087:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4088:/ 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_SOURCE_LIST */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4088:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4088:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check list recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4088) ? (4088) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4088:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4089:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4089:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4089:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4089) ? (4089) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4089:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4090:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:4090:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4090:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4090) ? (4090) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4090:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4091:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ 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-normal.melt:4091:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4091:/ 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[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4091; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_list recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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-normal.melt:4091:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_.IF___V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4091:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4091:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ 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[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4092:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V17*/ meltfptr[13] = slot; }; ; /*^cond */ /*cond */ if ( /*_.LOCA_LOCATION__V17*/ meltfptr[13]) /*then */ { /*^cond.then */ /*_.SLOC__V18*/ meltfptr[17] = /*_.LOCA_LOCATION__V17*/ meltfptr[13];; } else { MELT_LOCATION ("warmelt-normal.melt:4092:/ cond.else"); /*_.SLOC__V18*/ meltfptr[17] = /*_.PSLOC__V5*/ meltfptr[4];; } ; MELT_LOCATION ("warmelt-normal.melt:4093:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 2, "SARGOP_ARGS"); /*_.SARGS__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4094:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYMREC__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!konst_5_LISTREC_ */ meltfrout-> tabval[5])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4095:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYMLIST__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!konst_6_LIST_ */ meltfrout-> tabval[6])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4096:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V18*/ meltfptr[17]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_pair"; /*_.NORMDISCRPAIR__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[7])), (melt_ptr_t) (( /*!DISCR_PAIR */ meltfrout->tabval[8])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4097:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V18*/ meltfptr[17]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_list"; /*_.NORMDISCRLIST__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[7])), (melt_ptr_t) (( /*!DISCR_PAIR */ meltfrout->tabval[8])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4098:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NEWENV__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; /*_#NBARGS__L6*/ meltfnum[4] = (melt_multiple_length ((melt_ptr_t) ( /*_.SARGS__V19*/ meltfptr[18])));; MELT_LOCATION ("warmelt-normal.melt:4100:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CSYMLIST__V21*/ meltfptr[20]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V18*/ meltfptr[17]; /*_.PREPARE_CONSTRUCTOR_BINDING__V25*/ meltfptr[24] = meltgc_send ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!PREPARE_CONSTRUCTOR_BINDING */ meltfrout->tabval[11])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CONSBINDTUP__V26*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.PREPARE_CONSTRUCTOR_BINDING__V25*/ meltfptr[24]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; /*_.RESBINDINGS__V27*/ meltfptr[26] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[12]))));; /*^compute */ /*_.CONSLISTBIND__V28*/ meltfptr[27] = (melt_multiple_nth ((melt_ptr_t) ( /*_.CONSBINDTUP__V26*/ meltfptr[25]), (-1)));; MELT_LOCATION ("warmelt-normal.melt:4105:/ 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_19 */ meltfrout-> tabval[19])), (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) ( /*_.SLOC__V18*/ meltfptr[17]); ; /*_.LAMBDA___V29*/ meltfptr[28] = /*_.LAMBDA___V30*/ meltfptr[29];; MELT_LOCATION ("warmelt-normal.melt:4103:/ 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]; /*_.TUPRECLOC__V31*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[13])), (melt_ptr_t) ( /*_.CONSBINDTUP__V26*/ meltfptr[25]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4116:/ 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-normal.melt:4116:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4116:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4116; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_list csymrec="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CSYMREC__V20*/ meltfptr[19]; /*^apply.arg */ argtab[5].meltbp_cstring = " consbindtup="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CONSBINDTUP__V26*/ meltfptr[25]; /*^apply.arg */ argtab[7].meltbp_cstring = " conslistbind="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CONSLISTBIND__V28*/ meltfptr[27]; /*^apply.arg */ argtab[9].meltbp_cstring = " tuprecloc="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.TUPRECLOC__V31*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V34*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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___V33*/ meltfptr[32] = /*_.MELT_DEBUG_FUN__V34*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4116:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V34*/ meltfptr[33] = 0; } ; } else { /*^cond.else */ /*_.IF___V33*/ meltfptr[32] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4116:/ quasiblock"); /*_.PROGN___V35*/ meltfptr[33] = /*_.IF___V33*/ meltfptr[32];; /*^compute */ /*_.IFCPP___V32*/ meltfptr[31] = /*_.PROGN___V35*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4116:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4119:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[7] = melt_is_instance_of ((melt_ptr_t) ( /*_.CONSLISTBIND__V28*/ meltfptr[27]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_LIST_BINDING */ meltfrout->tabval[20])));; MELT_LOCATION ("warmelt-normal.melt:4119:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_.IFELSE___V37*/ meltfptr[33] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4119:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check conslistbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4119) ? (4119) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V37*/ meltfptr[33] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V36*/ meltfptr[32] = /*_.IFELSE___V37*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4119:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V37*/ meltfptr[33] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V36*/ meltfptr[32] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4122:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4120:/ quasiblock"); /*^multiapply */ /*multiapply 4args, 1x.res */ { union meltparam_un argtab[3]; union meltparam_un restab[1]; memset (&restab, 0, sizeof (restab)); memset (&argtab, 0, sizeof (argtab)); /*^multiapply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V18*/ meltfptr[17]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V40*/ meltfptr[39]; /*^multiapply.appl */ /*_.NARGS__V39*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[21])), (melt_ptr_t) ( /*_.SARGS__V19*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4123:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ 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-normal.melt:4123:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4123:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4123; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_list nargs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NARGS__V39*/ meltfptr[38]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V40*/ meltfptr[39]; /*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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___V42*/ meltfptr[41] = /*_.MELT_DEBUG_FUN__V43*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4123:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = 0; } ; } else { /*^cond.else */ /*_.IF___V42*/ meltfptr[41] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4123:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[42] = /*_.IF___V42*/ meltfptr[41];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[40] = /*_.PROGN___V44*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4123:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[0] = 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4124:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L12*/ meltfnum[7] = (( /*_.NBINDINGS__V40*/ meltfptr[39]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDINGS__V40*/ meltfptr[39])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:4124:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L12*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_.IFELSE___V46*/ meltfptr[42] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4124:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindings"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4124) ? (4124) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V46*/ meltfptr[42] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V45*/ meltfptr[41] = /*_.IFELSE___V46*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4124:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L12*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V46*/ meltfptr[42] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V45*/ meltfptr[41] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4125:/ 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 *) & /*_.NBINDINGS__V40*/ meltfptr[39]; /*_.LIST_APPEND2LIST__V47*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[22])), (melt_ptr_t) ( /*_.RESBINDINGS__V27*/ meltfptr[26]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit1__EACHLIST */ for ( /*_.CURPAIRBIND__V48*/ meltfptr[47] = melt_list_first ((melt_ptr_t) /*_.RESBINDINGS__V27*/ meltfptr[26]); melt_magic_discr ((melt_ptr_t) /*_.CURPAIRBIND__V48*/ meltfptr[47]) == MELTOBMAG_PAIR; /*_.CURPAIRBIND__V48*/ meltfptr[47] = melt_pair_tail ((melt_ptr_t) /*_.CURPAIRBIND__V48*/ meltfptr[47])) { /*_.CURBIND__V49*/ meltfptr[48] = melt_pair_head ((melt_ptr_t) /*_.CURPAIRBIND__V48*/ meltfptr[47]); MELT_LOCATION ("warmelt-normal.melt:4129:/ 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 *) & /*_.CURBIND__V49*/ meltfptr[48]; /*_.PUT_ENV__V50*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[23])), (melt_ptr_t) ( /*_.NEWENV__V24*/ meltfptr[23]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; } /* end foreach_in_list meltcit1__EACHLIST */ /*_.CURPAIRBIND__V48*/ meltfptr[47] = NULL; /*_.CURBIND__V49*/ meltfptr[48] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4126:/ clear"); /*clear *//*_.CURPAIRBIND__V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.CURBIND__V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V50*/ meltfptr[49] = 0; } /*endciterblock FOREACH_IN_LIST */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.NARGS__V39*/ meltfptr[38]); for ( /*_#NIX__L13*/ meltfnum[0] = 0; ( /*_#NIX__L13*/ meltfnum[0] >= 0) && ( /*_#NIX__L13*/ meltfnum[0] < meltcit2__EACHTUP_ln); /*_#NIX__L13*/ meltfnum[0]++) { /*_.CURNARG__V51*/ meltfptr[50] = melt_multiple_nth ((melt_ptr_t) ( /*_.NARGS__V39*/ meltfptr[38]), /*_#NIX__L13*/ meltfnum[0]); MELT_LOCATION ("warmelt-normal.melt:4134:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^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 *) & /*_.NEWENV__V24*/ meltfptr[23]; /*_.GET_CTYPE__V52*/ meltfptr[51] = meltgc_send ((melt_ptr_t) ( /*_.CURNARG__V51*/ meltfptr[50]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[24])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_#__L14*/ meltfnum[7] = (( /*_.GET_CTYPE__V52*/ meltfptr[51]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[25])));; MELT_LOCATION ("warmelt-normal.melt:4134:/ cond"); /*cond */ if ( /*_#__L14*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4136:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L15*/ meltfnum[14] = /*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-normal.melt:4136:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L15*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L16*/ meltfnum[15] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4136:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L16*/ meltfnum[15]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4136; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_list bad curnarg"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURNARG__V51*/ meltfptr[50]; /*_.MELT_DEBUG_FUN__V56*/ meltfptr[55] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V55*/ meltfptr[54] = /*_.MELT_DEBUG_FUN__V56*/ meltfptr[55];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4136:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V56*/ meltfptr[55] = 0; } ; } else { /*^cond.else */ /*_.IF___V55*/ meltfptr[54] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4136:/ quasiblock"); /*_.PROGN___V57*/ meltfptr[55] = /*_.IF___V55*/ meltfptr[54];; /*^compute */ /*_.IFCPP___V54*/ meltfptr[53] = /*_.PROGN___V57*/ meltfptr[55];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4136:/ clear"); /*clear *//*_#MELT_NEED_DBG__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IF___V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.PROGN___V57*/ meltfptr[55] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V54*/ meltfptr[53] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4137:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V18*/ meltfptr[17]), ("(LIST ...) arguments should be values"), (melt_ptr_t) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4138:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:4138:/ 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-normal.melt:4135:/ quasiblock"); /*_.PROGN___V59*/ meltfptr[55] = /*_.RETURN___V58*/ meltfptr[54];; /*^compute */ /*_.IF___V53*/ meltfptr[52] = /*_.PROGN___V59*/ meltfptr[55];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4134:/ clear"); /*clear *//*_.IFCPP___V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.RETURN___V58*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.PROGN___V59*/ meltfptr[55] = 0; } ; } else { /*^cond.else */ /*_.IF___V53*/ meltfptr[52] = NULL;; } ; if ( /*_#NIX__L13*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4131:/ clear"); /*clear *//*_.CURNARG__V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_#NIX__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_#__L14*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V53*/ meltfptr[52] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normal.melt:4139:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct MELT_OBJECT_STRUCT (4) rinst_0__CRECLOCC; struct MELT_MULTIPLE_STRUCT (1) rtup_1__NBDY; struct MELT_OBJECT_STRUCT (6) rinst_2__NLETREC; struct MELT_OBJECT_STRUCT (4) rinst_3__CLISTBIND; struct MELT_OBJECT_STRUCT (4) rinst_4__CLISTLOCC; struct meltpair_st rpair_5__CLISTBIND_x1; struct meltlist_st rlist_6__CLISTBINDLIST; long meltletrec_1_endgap; } *meltletrec_1_ptr = 0; meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0); /*^blockmultialloc.initfill */ /*iniobj rinst_0__CRECLOCC */ /*_.CRECLOCC__V61*/ meltfptr[54] = (melt_ptr_t) & meltletrec_1_ptr->rinst_0__CRECLOCC; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_0__CRECLOCC", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[26]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_0__CRECLOCC", ((meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[26])))->meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_0__CRECLOCC.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[26])); meltletrec_1_ptr->rinst_0__CRECLOCC.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_0__CRECLOCC.obj_len = 4; /*inimult rtup_1__NBDY */ /*_.NBDY__V62*/ meltfptr[55] = (melt_ptr_t) & meltletrec_1_ptr->rtup_1__NBDY; meltletrec_1_ptr->rtup_1__NBDY.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_1_ptr->rtup_1__NBDY.nbval = 1; /*iniobj rinst_2__NLETREC */ /*_.NLETREC__V63*/ meltfptr[62] = (melt_ptr_t) & meltletrec_1_ptr->rinst_2__NLETREC; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_2__NLETREC", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[27]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_2__NLETREC", ((meltobject_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[27])))-> meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_2__NLETREC.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[27])); meltletrec_1_ptr->rinst_2__NLETREC.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_2__NLETREC.obj_len = 6; /*iniobj rinst_3__CLISTBIND */ /*_.CLISTBIND__V64*/ meltfptr[63] = (melt_ptr_t) & meltletrec_1_ptr->rinst_3__CLISTBIND; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_3__CLISTBIND", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[28]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_3__CLISTBIND", ((meltobject_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout-> tabval[28])))->meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_3__CLISTBIND.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout-> tabval[28])); meltletrec_1_ptr->rinst_3__CLISTBIND.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_3__CLISTBIND.obj_len = 4; /*iniobj rinst_4__CLISTLOCC */ /*_.CLISTLOCC__V65*/ meltfptr[64] = (melt_ptr_t) & meltletrec_1_ptr->rinst_4__CLISTLOCC; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_4__CLISTLOCC", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[26]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_4__CLISTLOCC", ((meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[26])))->meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_4__CLISTLOCC.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[26])); meltletrec_1_ptr->rinst_4__CLISTLOCC.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_4__CLISTLOCC.obj_len = 4; /*inipair rpair_5__CLISTBIND_x1 */ /*_.CLISTBIND__V66*/ meltfptr[65] = (melt_ptr_t) & meltletrec_1_ptr->rpair_5__CLISTBIND_x1; meltletrec_1_ptr->rpair_5__CLISTBIND_x1.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_6__CLISTBINDLIST */ /*_.CLISTBINDLIST__V67*/ meltfptr[66] = (melt_ptr_t) & meltletrec_1_ptr->rlist_6__CLISTBINDLIST; meltletrec_1_ptr->rlist_6__CLISTBINDLIST.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); MELT_LOCATION ("warmelt-normal.melt:4140:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.CRECLOCC__V61*/ meltfptr[54])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CRECLOCC__V61*/ meltfptr[54]), (0), ( /*_.SLOC__V18*/ meltfptr[17]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.CRECLOCC__V61*/ meltfptr[54])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CRECLOCC__V61*/ meltfptr[54]), (1), ( /*_.CSYMREC__V20*/ meltfptr[19]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.CRECLOCC__V61*/ meltfptr[54])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CRECLOCC__V61*/ meltfptr[54]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[25])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.CRECLOCC__V61*/ meltfptr[54])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CRECLOCC__V61*/ meltfptr[54]), (3), ( /*_.CONSLISTBIND__V28*/ meltfptr[27]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.CRECLOCC__V61*/ meltfptr[54]); ; MELT_LOCATION ("warmelt-normal.melt:4145:/ putuple"); /*putupl#8 */ melt_assertmsg ("putupl [:4145] #8 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.NBDY__V62*/ meltfptr[55])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:4145] #8 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.NBDY__V62*/ meltfptr[55])))); ((meltmultiple_ptr_t) ( /*_.NBDY__V62*/ meltfptr[55]))->tabval[0] = (melt_ptr_t) ( /*_.CRECLOCC__V61*/ meltfptr[54]); ; /*^touch */ meltgc_touch ( /*_.NBDY__V62*/ meltfptr[55]); ; MELT_LOCATION ("warmelt-normal.melt:4146:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V63*/ meltfptr[62]), (0), ( /*_.SLOC__V18*/ meltfptr[17]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V63*/ meltfptr[62]), (1), ( /*_.CONSBINDTUP__V26*/ meltfptr[25]), "NLET_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V63*/ meltfptr[62]), (2), ( /*_.NBDY__V62*/ meltfptr[55]), "NLET_BODY"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_FILL_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V63*/ meltfptr[62]), (3), (( /*nil */ NULL)), "NLETREC_FILL_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_BODY_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V63*/ meltfptr[62]), (4), (( /*nil */ NULL)), "NLETREC_BODY_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_LOCSYMS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V63*/ meltfptr[62]), (5), ( /*_.TUPRECLOC__V31*/ meltfptr[30]), "NLETREC_LOCSYMS"); ; /*^touch */ meltgc_touch ( /*_.NLETREC__V63*/ meltfptr[62]); ; MELT_LOCATION ("warmelt-normal.melt:4154:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.CLISTBIND__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLISTBIND__V64*/ meltfptr[63]), (0), ( /*_.CSYMLIST__V21*/ meltfptr[20]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.CLISTBIND__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLISTBIND__V64*/ meltfptr[63]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[25])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.CLISTBIND__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLISTBIND__V64*/ meltfptr[63]), (2), ( /*_.NLETREC__V63*/ meltfptr[62]), "LETBIND_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.CLISTBIND__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLISTBIND__V64*/ meltfptr[63]), (3), ( /*_.SLOC__V18*/ meltfptr[17]), "LETBIND_LOC"); ; /*^touch */ meltgc_touch ( /*_.CLISTBIND__V64*/ meltfptr[63]); ; MELT_LOCATION ("warmelt-normal.melt:4159:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.CLISTLOCC__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLISTLOCC__V65*/ meltfptr[64]), (0), ( /*_.SLOC__V18*/ meltfptr[17]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.CLISTLOCC__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLISTLOCC__V65*/ meltfptr[64]), (1), ( /*_.CSYMLIST__V21*/ meltfptr[20]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.CLISTLOCC__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLISTLOCC__V65*/ meltfptr[64]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[25])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.CLISTLOCC__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLISTLOCC__V65*/ meltfptr[64]), (3), ( /*_.CLISTBIND__V64*/ meltfptr[63]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.CLISTLOCC__V65*/ meltfptr[64]); ; MELT_LOCATION ("warmelt-normal.melt:4164:/ putpairhead"); /*putpairhead */ melt_assertmsg ("putpairhead /d checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CLISTBIND__V66*/ meltfptr[65])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CLISTBIND__V66*/ meltfptr[65]))->hd = (melt_ptr_t) ( /*_.CLISTBIND__V64*/ meltfptr[63]); ; /*^touch */ meltgc_touch ( /*_.CLISTBIND__V66*/ meltfptr[65]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.CLISTBINDLIST__V67*/ meltfptr[66])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.CLISTBINDLIST__V67*/ meltfptr[66]))->first = (meltpair_ptr_t) ( /*_.CLISTBIND__V66*/ meltfptr[65]); ((meltlist_ptr_t) ( /*_.CLISTBINDLIST__V67*/ meltfptr[66]))->last = (meltpair_ptr_t) ( /*_.CLISTBIND__V66*/ meltfptr[65]); ; /*^touch */ meltgc_touch ( /*_.CLISTBINDLIST__V67*/ meltfptr[66]); ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit3__EACHTUP */ long meltcit3__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.NARGS__V39*/ meltfptr[38]); for ( /*_#NIX__L17*/ meltfnum[15] = 0; ( /*_#NIX__L17*/ meltfnum[15] >= 0) && ( /*_#NIX__L17*/ meltfnum[15] < meltcit3__EACHTUP_ln); /*_#NIX__L17*/ meltfnum[15]++) { /*_.CURNARG__V68*/ meltfptr[67] = melt_multiple_nth ((melt_ptr_t) ( /*_.NARGS__V39*/ meltfptr[38]), /*_#NIX__L17*/ meltfnum[15]); MELT_LOCATION ("warmelt-normal.melt:4169:/ quasiblock"); /*_.CURPAIRB__V70*/ meltfptr[69] = (melt_multiple_nth ((melt_ptr_t) ( /*_.CONSBINDTUP__V26*/ meltfptr[25]), ( /*_#NIX__L17*/ meltfnum[15])));; /*^compute */ /*_#I__L18*/ meltfnum[14] = (( /*_#NIX__L17*/ meltfnum[15]) + (1));; /*^compute */ /*_.NEXTB__V71*/ meltfptr[70] = (melt_multiple_nth ((melt_ptr_t) ( /*_.CONSBINDTUP__V26*/ meltfptr[25]), ( /*_#I__L18*/ meltfnum[14])));; { MELT_LOCATION ("warmelt-normal.melt:4172:/ locexp"); melt_put_int ((melt_ptr_t) ( /*_.CURPAIRB__V70*/ meltfptr[69]), ( /*_#NIX__L17*/ meltfnum[15])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4173:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ meltfnum[18] = /*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-normal.melt:4173:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[19] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4173:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[19]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4173; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_list curpairb"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURPAIRB__V70*/ meltfptr[69]; /*_.MELT_DEBUG_FUN__V74*/ meltfptr[73] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V73*/ meltfptr[72] = /*_.MELT_DEBUG_FUN__V74*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4173:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V74*/ meltfptr[73] = 0; } ; } else { /*^cond.else */ /*_.IF___V73*/ meltfptr[72] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4173:/ quasiblock"); /*_.PROGN___V75*/ meltfptr[73] = /*_.IF___V73*/ meltfptr[72];; /*^compute */ /*_.IFCPP___V72*/ meltfptr[71] = /*_.PROGN___V75*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4173:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.IF___V73*/ meltfptr[72] = 0; /*^clear */ /*clear *//*_.PROGN___V75*/ meltfptr[73] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V72*/ meltfptr[71] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4174:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L21*/ meltfnum[19] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURPAIRB__V70*/ meltfptr[69]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[29])));; MELT_LOCATION ("warmelt-normal.melt:4174:/ cond"); /*cond */ if ( /*_#IS_A__L21*/ meltfnum[19]) /*then */ { /*^cond.then */ /*_.IFELSE___V77*/ meltfptr[73] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4174:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curpairb"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4174) ? (4174) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V77*/ meltfptr[73] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V76*/ meltfptr[72] = /*_.IFELSE___V77*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4174:/ clear"); /*clear *//*_#IS_A__L21*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.IFELSE___V77*/ meltfptr[73] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V76*/ meltfptr[72] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4175:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#GET_INT__L22*/ meltfnum[18] = (melt_get_int ((melt_ptr_t) ( /*_.CURPAIRB__V70*/ meltfptr[69])));; /*^compute */ /*_#I__L23*/ meltfnum[19] = (( /*_#GET_INT__L22*/ meltfnum[18]) == ( /*_#NIX__L17*/ meltfnum[15]));; MELT_LOCATION ("warmelt-normal.melt:4175:/ cond"); /*cond */ if ( /*_#I__L23*/ meltfnum[19]) /*then */ { /*^cond.then */ /*_.IFELSE___V79*/ meltfptr[78] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4175:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curpairb objnum"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4175) ? (4175) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V79*/ meltfptr[78] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V78*/ meltfptr[73] = /*_.IFELSE___V79*/ meltfptr[78];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4175:/ clear"); /*clear *//*_#GET_INT__L22*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_#I__L23*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.IFELSE___V79*/ meltfptr[78] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V78*/ meltfptr[73] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4176:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L24*/ meltfnum[18] = /*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-normal.melt:4176:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L24*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[19] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4176:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[19]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4176; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_list curnarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURNARG__V68*/ meltfptr[67]; /*^apply.arg */ argtab[5].meltbp_cstring = " nextb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NEXTB__V71*/ meltfptr[70]; /*_.MELT_DEBUG_FUN__V82*/ meltfptr[81] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (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___V81*/ meltfptr[80] = /*_.MELT_DEBUG_FUN__V82*/ meltfptr[81];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4176:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L25*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V82*/ meltfptr[81] = 0; } ; } else { /*^cond.else */ /*_.IF___V81*/ meltfptr[80] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4176:/ quasiblock"); /*_.PROGN___V83*/ meltfptr[81] = /*_.IF___V81*/ meltfptr[80];; /*^compute */ /*_.IFCPP___V80*/ meltfptr[78] = /*_.PROGN___V83*/ meltfptr[81];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4176:/ clear"); /*clear *//*_#MELT_NEED_DBG__L24*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.IF___V81*/ meltfptr[80] = 0; /*^clear */ /*clear *//*_.PROGN___V83*/ meltfptr[81] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V80*/ meltfptr[78] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4177:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L26*/ meltfnum[19] = melt_is_instance_of ((melt_ptr_t) ( /*_.NEXTB__V71*/ meltfptr[70]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[30])));; MELT_LOCATION ("warmelt-normal.melt:4177:/ cond"); /*cond */ if ( /*_#IS_A__L26*/ meltfnum[19]) /*then */ { /*^cond.then */ /*_.IFELSE___V85*/ meltfptr[81] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4177:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nextb"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4177) ? (4177) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V85*/ meltfptr[81] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V84*/ meltfptr[80] = /*_.IFELSE___V85*/ meltfptr[81];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4177:/ clear"); /*clear *//*_#IS_A__L26*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.IFELSE___V85*/ meltfptr[81] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V84*/ meltfptr[80] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4178:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NEXTB__V71*/ meltfptr[70]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[31]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NEXTB__V71*/ meltfptr[70]), 0, "BINDER"); /*_.NEXTSYM__V87*/ meltfptr[86] = slot; }; ; } else { /*^cond.else */ /*_.NEXTSYM__V87*/ meltfptr[86] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4179:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L27*/ meltfnum[18] = melt_is_instance_of ((melt_ptr_t) ( /*_.NEXTB__V71*/ meltfptr[70]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[29])));; MELT_LOCATION ("warmelt-normal.melt:4179:/ cond"); /*cond */ if ( /*_#IS_A__L27*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4180:/ 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 *) & /*_.NLETREC__V63*/ meltfptr[62]; /*_.NRECLIST_FIND_LOCSYM__V89*/ meltfptr[88] = melt_apply ((meltclosure_ptr_t) (( /*!NRECLIST_FIND_LOCSYM */ meltfrout-> tabval[32])), (melt_ptr_t) ( /*_.NEXTSYM__V87*/ meltfptr[86]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.NEXTLOC__V88*/ meltfptr[87] = /*_.NRECLIST_FIND_LOCSYM__V89*/ meltfptr[88];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4179:/ clear"); /*clear *//*_.NRECLIST_FIND_LOCSYM__V89*/ meltfptr[88] = 0; } ; } else { /*^cond.else */ /*_.NEXTLOC__V88*/ meltfptr[87] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4182:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURPAIRB__V70*/ meltfptr[69]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[29]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPAIRB_HEAD", melt_magic_discr ((melt_ptr_t) ( /*_.CURPAIRB__V70*/ meltfptr[69])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CURPAIRB__V70*/ meltfptr[69]), (4), ( /*_.CURNARG__V68*/ meltfptr[67]), "NPAIRB_HEAD"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPAIRB_TAIL", melt_magic_discr ((melt_ptr_t) ( /*_.CURPAIRB__V70*/ meltfptr[69])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CURPAIRB__V70*/ meltfptr[69]), (5), ( /*_.NEXTLOC__V88*/ meltfptr[87]), "NPAIRB_TAIL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_NLETREC", melt_magic_discr ((melt_ptr_t) ( /*_.CURPAIRB__V70*/ meltfptr[69])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CURPAIRB__V70*/ meltfptr[69]), (3), ( /*_.NLETREC__V63*/ meltfptr[62]), "NCONSB_NLETREC"); ; /*^touch */ meltgc_touch ( /*_.CURPAIRB__V70*/ meltfptr[69]); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4185:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L28*/ meltfnum[19] = /*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-normal.melt:4185:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L28*/ meltfnum[19]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L29*/ meltfnum[28] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4185:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L29*/ meltfnum[28]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4185; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_list updated curpairb"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURPAIRB__V70*/ meltfptr[69]; /*_.MELT_DEBUG_FUN__V92*/ meltfptr[91] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V91*/ meltfptr[90] = /*_.MELT_DEBUG_FUN__V92*/ meltfptr[91];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4185:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L29*/ meltfnum[28] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V92*/ meltfptr[91] = 0; } ; } else { /*^cond.else */ /*_.IF___V91*/ meltfptr[90] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4185:/ quasiblock"); /*_.PROGN___V93*/ meltfptr[91] = /*_.IF___V91*/ meltfptr[90];; /*^compute */ /*_.IFCPP___V90*/ meltfptr[88] = /*_.PROGN___V93*/ meltfptr[91];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4185:/ clear"); /*clear *//*_#MELT_NEED_DBG__L28*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.IF___V91*/ meltfptr[90] = 0; /*^clear */ /*clear *//*_.PROGN___V93*/ meltfptr[91] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V90*/ meltfptr[88] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V86*/ meltfptr[81] = /*_.IFCPP___V90*/ meltfptr[88];; MELT_LOCATION ("warmelt-normal.melt:4178:/ clear"); /*clear *//*_.NEXTSYM__V87*/ meltfptr[86] = 0; /*^clear */ /*clear *//*_#IS_A__L27*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.NEXTLOC__V88*/ meltfptr[87] = 0; /*^clear */ /*clear *//*_.IFCPP___V90*/ meltfptr[88] = 0; /*_.LET___V69*/ meltfptr[68] = /*_.LET___V86*/ meltfptr[81];; MELT_LOCATION ("warmelt-normal.melt:4169:/ clear"); /*clear *//*_.CURPAIRB__V70*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_#I__L18*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.NEXTB__V71*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.IFCPP___V72*/ meltfptr[71] = 0; /*^clear */ /*clear *//*_.IFCPP___V76*/ meltfptr[72] = 0; /*^clear */ /*clear *//*_.IFCPP___V78*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.IFCPP___V80*/ meltfptr[78] = 0; /*^clear */ /*clear *//*_.IFCPP___V84*/ meltfptr[80] = 0; /*^clear */ /*clear *//*_.LET___V86*/ meltfptr[81] = 0; if ( /*_#NIX__L17*/ meltfnum[15] < 0) break; } /* end foreach_in_multiple meltcit3__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4166:/ clear"); /*clear *//*_.CURNARG__V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_#NIX__L17*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.LET___V69*/ meltfptr[68] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normal.melt:4190:/ quasiblock"); /*_.FIRSTPAIRB__V95*/ meltfptr[91] = (melt_multiple_nth ((melt_ptr_t) ( /*_.CONSBINDTUP__V26*/ meltfptr[25]), (0)));; /*^compute */ /*_.LASTPAIRB__V96*/ meltfptr[86] = (melt_multiple_nth ((melt_ptr_t) ( /*_.CONSBINDTUP__V26*/ meltfptr[25]), (-2)));; MELT_LOCATION ("warmelt-normal.melt:4193:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L30*/ meltfnum[28] = melt_is_instance_of ((melt_ptr_t) ( /*_.FIRSTPAIRB__V95*/ meltfptr[91]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[29])));; MELT_LOCATION ("warmelt-normal.melt:4193:/ cond"); /*cond */ if ( /*_#IS_A__L30*/ meltfnum[28]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4195:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.FIRSTPAIRB__V95*/ meltfptr[91]), 0, "BINDER"); /*_.BINDER__V98*/ meltfptr[88] = slot; }; ; /*_.FIRSTPAIRSYMB__V97*/ meltfptr[87] = /*_.BINDER__V98*/ meltfptr[88];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4193:/ clear"); /*clear *//*_.BINDER__V98*/ meltfptr[88] = 0; } ; } else { /*^cond.else */ /*_.FIRSTPAIRSYMB__V97*/ meltfptr[87] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4197:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L31*/ meltfnum[19] = melt_is_instance_of ((melt_ptr_t) ( /*_.LASTPAIRB__V96*/ meltfptr[86]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[29])));; MELT_LOCATION ("warmelt-normal.melt:4197:/ cond"); /*cond */ if ( /*_#IS_A__L31*/ meltfnum[19]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4199:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.LASTPAIRB__V96*/ meltfptr[86]), 0, "BINDER"); /*_.BINDER__V100*/ meltfptr[70] = slot; }; ; /*_.LASTPAIRSYMB__V99*/ meltfptr[69] = /*_.BINDER__V100*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4197:/ clear"); /*clear *//*_.BINDER__V100*/ meltfptr[70] = 0; } ; } else { /*^cond.else */ /*_.LASTPAIRSYMB__V99*/ meltfptr[69] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4201:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.FIRSTPAIRSYMB__V97*/ meltfptr[87]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4202:/ 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 *) & /*_.NLETREC__V63*/ meltfptr[62]; /*_.NRECLIST_FIND_LOCSYM__V102*/ meltfptr[72] = melt_apply ((meltclosure_ptr_t) (( /*!NRECLIST_FIND_LOCSYM */ meltfrout-> tabval[32])), (melt_ptr_t) ( /*_.FIRSTPAIRSYMB__V97*/ meltfptr[87]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.FIRSTPAIRLOC__V101*/ meltfptr[71] = /*_.NRECLIST_FIND_LOCSYM__V102*/ meltfptr[72];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4201:/ clear"); /*clear *//*_.NRECLIST_FIND_LOCSYM__V102*/ meltfptr[72] = 0; } ; } else { /*^cond.else */ /*_.FIRSTPAIRLOC__V101*/ meltfptr[71] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4204:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.LASTPAIRSYMB__V99*/ meltfptr[69]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4205:/ 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 *) & /*_.NLETREC__V63*/ meltfptr[62]; /*_.NRECLIST_FIND_LOCSYM__V104*/ meltfptr[78] = melt_apply ((meltclosure_ptr_t) (( /*!NRECLIST_FIND_LOCSYM */ meltfrout-> tabval[32])), (melt_ptr_t) ( /*_.LASTPAIRSYMB__V99*/ meltfptr[69]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LASTPAIRLOC__V103*/ meltfptr[73] = /*_.NRECLIST_FIND_LOCSYM__V104*/ meltfptr[78];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4204:/ clear"); /*clear *//*_.NRECLIST_FIND_LOCSYM__V104*/ meltfptr[78] = 0; } ; } else { /*^cond.else */ /*_.LASTPAIRLOC__V103*/ meltfptr[73] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4207:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CONSLISTBIND__V28*/ meltfptr[27]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_LIST_BINDING */ meltfrout->tabval[20]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLISTB_FIRST", melt_magic_discr ((melt_ptr_t) ( /*_.CONSLISTBIND__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSLISTBIND__V28*/ meltfptr[27]), (4), ( /*_.FIRSTPAIRLOC__V101*/ meltfptr[71]), "NLISTB_FIRST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLISTB_LAST", melt_magic_discr ((melt_ptr_t) ( /*_.CONSLISTBIND__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSLISTBIND__V28*/ meltfptr[27]), (5), ( /*_.LASTPAIRLOC__V103*/ meltfptr[73]), "NLISTB_LAST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_NLETREC", melt_magic_discr ((melt_ptr_t) ( /*_.CONSLISTBIND__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSLISTBIND__V28*/ meltfptr[27]), (3), ( /*_.NLETREC__V63*/ meltfptr[62]), "NCONSB_NLETREC"); ; /*^touch */ meltgc_touch ( /*_.CONSLISTBIND__V28*/ meltfptr[27]); ; /*epilog */ } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-normal.melt:4211:/ locexp"); melt_put_int ((melt_ptr_t) ( /*_.CONSLISTBIND__V28*/ meltfptr[27]), ( /*_#NBARGS__L6*/ meltfnum[4])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4212:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L32*/ meltfnum[18] = /*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-normal.melt:4212:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L32*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L33*/ meltfnum[14] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4212:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L33*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4212; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_list updated conslistbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CONSLISTBIND__V28*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V107*/ meltfptr[88] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V106*/ meltfptr[81] = /*_.MELT_DEBUG_FUN__V107*/ meltfptr[88];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4212:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L33*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V107*/ meltfptr[88] = 0; } ; } else { /*^cond.else */ /*_.IF___V106*/ meltfptr[81] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4212:/ quasiblock"); /*_.PROGN___V108*/ meltfptr[70] = /*_.IF___V106*/ meltfptr[81];; /*^compute */ /*_.IFCPP___V105*/ meltfptr[80] = /*_.PROGN___V108*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4212:/ clear"); /*clear *//*_#MELT_NEED_DBG__L32*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.IF___V106*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.PROGN___V108*/ meltfptr[70] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V105*/ meltfptr[80] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V94*/ meltfptr[90] = /*_.IFCPP___V105*/ meltfptr[80];; MELT_LOCATION ("warmelt-normal.melt:4190:/ clear"); /*clear *//*_.FIRSTPAIRB__V95*/ meltfptr[91] = 0; /*^clear */ /*clear *//*_.LASTPAIRB__V96*/ meltfptr[86] = 0; /*^clear */ /*clear *//*_#IS_A__L30*/ meltfnum[28] = 0; /*^clear */ /*clear *//*_.FIRSTPAIRSYMB__V97*/ meltfptr[87] = 0; /*^clear */ /*clear *//*_#IS_A__L31*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.LASTPAIRSYMB__V99*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.FIRSTPAIRLOC__V101*/ meltfptr[71] = 0; /*^clear */ /*clear *//*_.LASTPAIRLOC__V103*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.IFCPP___V105*/ meltfptr[80] = 0; MELT_LOCATION ("warmelt-normal.melt:4215:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L34*/ meltfnum[14] = (( /*_.NBINDINGS__V40*/ meltfptr[39]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:4215:/ cond"); /*cond */ if ( /*_#NULL__L34*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4216:/ compute"); /*_.NBINDINGS__V40*/ meltfptr[39] = /*_.SETQ___V110*/ meltfptr[78] = /*_.CLISTBINDLIST__V67*/ meltfptr[66];; /*_.IFELSE___V109*/ meltfptr[72] = /*_.SETQ___V110*/ meltfptr[78];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4215:/ clear"); /*clear *//*_.SETQ___V110*/ meltfptr[78] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:4217:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDINGS__V40*/ meltfptr[39]), (melt_ptr_t) ( /*_.CLISTBIND__V64*/ meltfptr[63])); } ; /*clear *//*_.IFELSE___V109*/ meltfptr[72] = 0; /*epilog */ } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4219:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L35*/ meltfnum[18] = /*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-normal.melt:4219:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L35*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L36*/ meltfnum[28] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4219:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L36*/ meltfnum[28]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4219; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_list final nletrec="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NLETREC__V63*/ meltfptr[62]; /*^apply.arg */ argtab[5].meltbp_cstring = " clistlocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLISTLOCC__V65*/ meltfptr[64]; /*^apply.arg */ argtab[7].meltbp_cstring = " nbindings="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V40*/ meltfptr[39]; /*_.MELT_DEBUG_FUN__V113*/ meltfptr[70] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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___V112*/ meltfptr[81] = /*_.MELT_DEBUG_FUN__V113*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4219:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L36*/ meltfnum[28] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V113*/ meltfptr[70] = 0; } ; } else { /*^cond.else */ /*_.IF___V112*/ meltfptr[81] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4219:/ quasiblock"); /*_.PROGN___V114*/ meltfptr[91] = /*_.IF___V112*/ meltfptr[81];; /*^compute */ /*_.IFCPP___V111*/ meltfptr[88] = /*_.PROGN___V114*/ meltfptr[91];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4219:/ clear"); /*clear *//*_#MELT_NEED_DBG__L35*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.IF___V112*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.PROGN___V114*/ meltfptr[91] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V111*/ meltfptr[88] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4221:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLISTLOCC__V65*/ meltfptr[64];; MELT_LOCATION ("warmelt-normal.melt:4221:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto labend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto labend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBINDINGS__V40*/ meltfptr[39]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LETREC___V60*/ meltfptr[53] = /*_.RETURN___V115*/ meltfptr[86];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4139:/ clear"); /*clear *//*_.CRECLOCC__V61*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.NBDY__V62*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.NLETREC__V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.CLISTBIND__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.CLISTLOCC__V65*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.CLISTBIND__V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.CLISTBINDLIST__V67*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.CRECLOCC__V61*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.NBDY__V62*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.NLETREC__V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.CLISTBIND__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.CLISTLOCC__V65*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.CLISTBIND__V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.CLISTBINDLIST__V67*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.LET___V94*/ meltfptr[90] = 0; /*^clear */ /*clear *//*_#NULL__L34*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IFELSE___V109*/ meltfptr[72] = 0; /*^clear */ /*clear *//*_.IFCPP___V111*/ meltfptr[88] = 0; /*^clear */ /*clear *//*_.RETURN___V115*/ meltfptr[86] = 0; } /*end multiallocblock */ ; MELT_LOCATION ("warmelt-normal.melt:4120:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MULTI___V38*/ meltfptr[33] = /*_.LETREC___V60*/ meltfptr[53];; MELT_LOCATION ("warmelt-normal.melt:4120:/ clear"); /*clear *//*_.IFCPP___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.IFCPP___V45*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V47*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.LETREC___V60*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.NBINDINGS__V40*/ meltfptr[39] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V38*/ meltfptr[33];; MELT_LOCATION ("warmelt-normal.melt:4092:/ clear"); /*clear *//*_.LOCA_LOCATION__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SLOC__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SARGS__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CSYMREC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.CSYMLIST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NORMDISCRPAIR__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NORMDISCRLIST__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.NEWENV__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#NBARGS__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.PREPARE_CONSTRUCTOR_BINDING__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.CONSBINDTUP__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.RESBINDINGS__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.CONSLISTBIND__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.LAMBDA___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.TUPRECLOC__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.IFCPP___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.IFCPP___V36*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.MULTI___V38*/ meltfptr[33] = 0; MELT_LOCATION ("warmelt-normal.melt:4087:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4087:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_LIST", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_96_warmelt_normal_NORMEXP_LIST_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_normal_NORMEXP_LIST */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_97_warmelt_normal_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_) { long current_blocklevel_signals_meltrout_97_warmelt_normal_LAMBDA___41___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_normal_LAMBDA___41___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 13 melt_ptr_t mcfr_varptr[13]; #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_97_warmelt_normal_LAMBDA___41___st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 13; 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 = 13; 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-normal.melt:4105:/ getarg"); /*_.CURBIND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#BINDIX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4106:/ 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-normal.melt:4106:/ 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-normal.melt:4106:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4106; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_list curbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURBIND__V2*/ meltfptr[1]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4106:/ 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-normal.melt:4106:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4106:/ 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4107:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[2] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURBIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4107:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V8*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4107:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4107) ? (4107) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V8*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[3] = /*_.IFELSE___V8*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4107:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V8*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4108:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4109:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURBIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURBIND__V2*/ meltfptr[1]), 1, "NCONSB_LOC"); /*_.NCONSB_LOC__V9*/ meltfptr[4] = slot; }; ; } else { /*^cond.else */ /*_.NCONSB_LOC__V9*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4109:/ cond"); /*cond */ if ( /*_.NCONSB_LOC__V9*/ meltfptr[4]) /*then */ { /*^cond.then */ /*_.OR___V10*/ meltfptr[9] = /*_.NCONSB_LOC__V9*/ meltfptr[4];; } else { MELT_LOCATION ("warmelt-normal.melt:4109:/ cond.else"); /*_.OR___V10*/ meltfptr[9] = ( /*~SLOC */ meltfclos->tabval[0]);; } ; MELT_LOCATION ("warmelt-normal.melt:4111:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURBIND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURBIND__V2*/ meltfptr[1]), 0, "BINDER"); /*_.BINDER__V11*/ meltfptr[10] = slot; }; ; } else { /*^cond.else */ /*_.BINDER__V11*/ meltfptr[10] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4108:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[2])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V13*/ meltfptr[12] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V13*/ meltfptr[12])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V13*/ meltfptr[12]), (0), ( /*_.OR___V10*/ meltfptr[9]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V13*/ meltfptr[12])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V13*/ meltfptr[12]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[3])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V13*/ meltfptr[12])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V13*/ meltfptr[12]), (1), ( /*_.BINDER__V11*/ meltfptr[10]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V13*/ meltfptr[12])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V13*/ meltfptr[12]), (3), ( /*_.CURBIND__V2*/ meltfptr[1]), "NOCC_BIND"); ; /*_.INST___V12*/ meltfptr[11] = /*_.INST__V13*/ meltfptr[12];; MELT_LOCATION ("warmelt-normal.melt:4105:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.INST___V12*/ meltfptr[11];; { MELT_LOCATION ("warmelt-normal.melt:4105:/ 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 *//*_.IFCPP___V7*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.NCONSB_LOC__V9*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.OR___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.BINDER__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.INST___V12*/ meltfptr[11] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_97_warmelt_normal_LAMBDA___41___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_normal_LAMBDA___41__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_98_warmelt_normal_BADMETH_PREPARE_CONSTRUCTOR_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_normal_BADMETH_PREPARE_CONSTRUCTOR_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_normal_BADMETH_PREPARE_CONSTRUCTOR_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 14 melt_ptr_t mcfr_varptr[14]; #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_98_warmelt_normal_BADMETH_PREPARE_CONSTRUCTOR_BINDING_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 ("BADMETH_PREPARE_CONSTRUCTOR_BINDING", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4234:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SYMB__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4235:/ 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-normal.melt:4235:/ 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-normal.melt:4235:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4235; /*^apply.arg */ argtab[3].meltbp_cstring = "bad_prepare_constructor_binding recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " symb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 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___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4235:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4235:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4235:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ 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[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4236:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V10*/ meltfptr[6] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V10*/ meltfptr[6] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:4236:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V5*/ meltfptr[4]), ("invalid constructor binding"), (melt_ptr_t) ( /*_.NAMED_NAME__V10*/ meltfptr[6])); } ; /*_.DISCRIM__V11*/ meltfptr[7] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]))));; MELT_LOCATION ("warmelt-normal.melt:4238:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.DISCRIM__V11*/ meltfptr[7]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.DISCRIM__V11*/ meltfptr[7]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V12*/ meltfptr[11] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V12*/ meltfptr[11] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:4237:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V5*/ meltfptr[4]), ("receiver unprepared to constructor binding"), (melt_ptr_t) ( /*_.NAMED_NAME__V12*/ meltfptr[11])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4239:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V14*/ meltfptr[13] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4239:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("@$@badmeth_prepare_constructor_binding"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4239) ? (4239) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V14*/ meltfptr[13] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V13*/ meltfptr[12] = /*_.IFELSE___V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4239:/ clear"); /*clear *//*_.IFELSE___V14*/ meltfptr[13] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4234:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V13*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4234:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.DISCRIM__V11*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("BADMETH_PREPARE_CONSTRUCTOR_BINDING", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_98_warmelt_normal_BADMETH_PREPARE_CONSTRUCTOR_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_normal_BADMETH_PREPARE_CONSTRUCTOR_BINDING */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_99_warmelt_normal_BADMETH_NORMAL_LETREC_CONSTRUCTIVE (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_normal_BADMETH_NORMAL_LETREC_CONSTRUCTIVE_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_normal_BADMETH_NORMAL_LETREC_CONSTRUCTIVE_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 16 melt_ptr_t mcfr_varptr[16]; #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_99_warmelt_normal_BADMETH_NORMAL_LETREC_CONSTRUCTIVE_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 16; 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 = 16; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("BADMETH_NORMAL_LETREC_CONSTRUCTIVE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4252:/ getarg"); /*_.CEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SYMB__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CBIND__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V5*/ meltfptr[4])) != NULL); /*getarg#4 */ /*^getarg */ if (meltxargdescr_[3] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V6*/ meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V6*/ meltfptr[5])) != NULL); /*getarg#5 */ /*^getarg */ if (meltxargdescr_[4] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V7*/ meltfptr[6] = (meltxargtab_[4].meltbp_aptr) ? (*(meltxargtab_[4].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V7*/ meltfptr[6])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4253:/ 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-normal.melt:4253:/ 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-normal.melt:4253:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4253; /*^apply.arg */ argtab[3].meltbp_cstring = "badmeth_normal_letrec_constructive cexpr="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CEXPR__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " symb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " cbind="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CBIND__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4253:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4253:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[7] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4253:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ 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[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4255:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V12*/ meltfptr[8] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V12*/ meltfptr[8] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:4255:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V7*/ meltfptr[6]), ("invalid letrec constructive symbol"), (melt_ptr_t) ( /*_.NAMED_NAME__V12*/ meltfptr[8])); } ; /*_.DISCRIM__V13*/ meltfptr[9] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]))));; MELT_LOCATION ("warmelt-normal.melt:4257:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.DISCRIM__V13*/ meltfptr[9]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.DISCRIM__V13*/ meltfptr[9]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V14*/ meltfptr[13] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V14*/ meltfptr[13] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:4256:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V7*/ meltfptr[6]), ("receiver unprepared to normal_letrec_constructive"), (melt_ptr_t) ( /*_.NAMED_NAME__V14*/ meltfptr[13])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4258:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V16*/ meltfptr[15] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4258:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("@$@badmeth_normal_letrec_constructive"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4258) ? (4258) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V16*/ meltfptr[15] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V15*/ meltfptr[14] = /*_.IFELSE___V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4258:/ clear"); /*clear *//*_.IFELSE___V16*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V15*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4252:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V15*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:4252:/ 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___V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V12*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.DISCRIM__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.IFCPP___V15*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("BADMETH_NORMAL_LETREC_CONSTRUCTIVE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_99_warmelt_normal_BADMETH_NORMAL_LETREC_CONSTRUCTIVE_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_normal_BADMETH_NORMAL_LETREC_CONSTRUCTIVE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_100_warmelt_normal_PREPCONS_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_) { long current_blocklevel_signals_meltrout_100_warmelt_normal_PREPCONS_LAMBDA_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_normal_PREPCONS_LAMBDA_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 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_100_warmelt_normal_PREPCONS_LAMBDA_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 ("PREPCONS_LAMBDA", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4263:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SYMB__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4264:/ 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-normal.melt:4264:/ 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-normal.melt:4264:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4264; /*^apply.arg */ argtab[3].meltbp_cstring = "prepcons_lambda recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " symb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 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___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4264:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4264:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4264:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ 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[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4265:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_LAMBDA */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4265:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4265:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4265) ? (4265) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4265:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4266:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4269:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V5*/ meltfptr[4]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_closure"; /*_.NORMAL_PREDEF__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[3])), (melt_ptr_t) (( /*!DISCR_CLOSURE */ meltfrout-> tabval[4])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4266:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_LAMBDA_BINDING */ meltfrout->tabval[2])), (7), "CLASS_NORMAL_CONSTRUCTED_LAMBDA_BINDING"); /*_.INST__V15*/ meltfptr[14] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V15*/ meltfptr[14])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V15*/ meltfptr[14]), (0), ( /*_.SYMB__V3*/ meltfptr[2]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V15*/ meltfptr[14])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V15*/ meltfptr[14]), (1), ( /*_.SLOC__V5*/ meltfptr[4]), "NCONSB_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V15*/ meltfptr[14])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V15*/ meltfptr[14]), (2), ( /*_.NORMAL_PREDEF__V13*/ meltfptr[12]), "NCONSB_DISCR"); ; /*_.CONSLAM__V14*/ meltfptr[13] = /*_.INST__V15*/ meltfptr[14];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4272:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ 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-normal.melt:4272:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4272:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4272; /*^apply.arg */ argtab[3].meltbp_cstring = "prepcons_lambda gives conslam"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CONSLAM__V14*/ meltfptr[13]; /*_.MELT_DEBUG_FUN__V18*/ meltfptr[17] = 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___V17*/ meltfptr[16] = /*_.MELT_DEBUG_FUN__V18*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4272:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V18*/ meltfptr[17] = 0; } ; } else { /*^cond.else */ /*_.IF___V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4272:/ quasiblock"); /*_.PROGN___V19*/ meltfptr[17] = /*_.IF___V17*/ meltfptr[16];; /*^compute */ /*_.IFCPP___V16*/ meltfptr[15] = /*_.PROGN___V19*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4272:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ meltfnum[0] = 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 */ ; MELT_LOCATION ("warmelt-normal.melt:4273:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.CONSLAM__V14*/ meltfptr[13];; { MELT_LOCATION ("warmelt-normal.melt:4273:/ 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[7] = /*_.RETURN___V20*/ meltfptr[16];; MELT_LOCATION ("warmelt-normal.melt:4266:/ clear"); /*clear *//*_.NORMAL_PREDEF__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.CONSLAM__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.IFCPP___V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.RETURN___V20*/ meltfptr[16] = 0; MELT_LOCATION ("warmelt-normal.melt:4263:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[7];; { MELT_LOCATION ("warmelt-normal.melt:4263:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[7] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PREPCONS_LAMBDA", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_100_warmelt_normal_PREPCONS_LAMBDA_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_normal_PREPCONS_LAMBDA */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_101_warmelt_normal_NORMLETREC_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_) { long current_blocklevel_signals_meltrout_101_warmelt_normal_NORMLETREC_LAMBDA_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_normal_NORMLETREC_LAMBDA_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 37 melt_ptr_t mcfr_varptr[37]; #define MELTFRAM_NBVARNUM 11 long mcfr_varnum[11]; /*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_normal_NORMLETREC_LAMBDA_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 37; 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 = 37; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMLETREC_LAMBDA", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4280:/ getarg"); /*_.CEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SYMB__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CBIND__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V5*/ meltfptr[4])) != NULL); /*getarg#4 */ /*^getarg */ if (meltxargdescr_[3] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V6*/ meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V6*/ meltfptr[5])) != NULL); /*getarg#5 */ /*^getarg */ if (meltxargdescr_[4] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V7*/ meltfptr[6] = (meltxargtab_[4].meltbp_aptr) ? (*(meltxargtab_[4].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V7*/ meltfptr[6])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4281:/ 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-normal.melt:4281:/ 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-normal.melt:4281:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4281; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_lambda cexpr="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CEXPR__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " symb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " cbind="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CBIND__V4*/ meltfptr[3]; /*^apply.arg */ argtab[9].meltbp_cstring = " env="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V5*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 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___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4281:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4281:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[7] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4281:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ 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[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4283:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_LAMBDA_BINDING */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4283:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[9] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4283:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4283) ? (4283) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[9] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[8] = /*_.IFELSE___V13*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4283:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4284:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NEWENV__V14*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[2])), (melt_ptr_t) ( /*_.ENV__V5*/ meltfptr[4]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4286:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ 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-normal.melt:4286:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4286:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4286; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_lambda newenv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V14*/ meltfptr[9]; /*_.MELT_DEBUG_FUN__V17*/ meltfptr[16] = 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___V16*/ meltfptr[15] = /*_.MELT_DEBUG_FUN__V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4286:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V17*/ meltfptr[16] = 0; } ; } else { /*^cond.else */ /*_.IF___V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4286:/ quasiblock"); /*_.PROGN___V18*/ meltfptr[16] = /*_.IF___V16*/ meltfptr[15];; /*^compute */ /*_.IFCPP___V15*/ meltfptr[14] = /*_.PROGN___V18*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4286:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ meltfnum[0] = 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4287:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NEWENV__V14*/ meltfptr[9]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:4287:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V20*/ meltfptr[16] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4287:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check newenv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4287) ? (4287) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V20*/ meltfptr[16] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V19*/ meltfptr[15] = /*_.IFELSE___V20*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4287:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V20*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V19*/ meltfptr[15] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4291:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4288:/ quasiblock"); /*^multiapply */ /*multiapply 5args, 8x.res */ { union meltparam_un argtab[4]; union meltparam_un restab[8]; memset (&restab, 0, sizeof (restab)); memset (&argtab, 0, sizeof (argtab)); /*^multiapply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V5*/ meltfptr[4]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V14*/ meltfptr[9]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V6*/ meltfptr[5]; /*^multiapply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.PSLOC__V7*/ meltfptr[6]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CSYM__V22*/ meltfptr[21]; /*^multiapply.xres */ restab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V23*/ meltfptr[22]; /*^multiapply.xres */ restab[2].meltbp_aptr = (melt_ptr_t *) & /*_.CONSTROUT__V24*/ meltfptr[23]; /*^multiapply.xres */ restab[3].meltbp_aptr = (melt_ptr_t *) & /*_.CLOVTUP__V25*/ meltfptr[24]; /*^multiapply.xres */ restab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V26*/ meltfptr[25]; /*^multiapply.xres */ restab[5].meltbp_aptr = (melt_ptr_t *) & /*_.OLDPROC__V27*/ meltfptr[26]; /*^multiapply.xres */ restab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAROUT__V28*/ meltfptr[27]; /*^multiapply.xres */ restab[7].meltbp_longptr = & /*_#INSIDEFLAG__L7*/ meltfnum[0]; /*^multiapply.appl */ /*_.NPROC__V21*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_LAMBDA */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_LONG ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4292:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ 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-normal.melt:4292:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4292:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[15]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4292; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_lambda after normalize_lambda csym="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CSYM__V22*/ meltfptr[21]; /*^apply.arg */ argtab[5].meltbp_cstring = " clocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V23*/ meltfptr[22]; /*^apply.arg */ argtab[7].meltbp_cstring = " constrout="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CONSTROUT__V24*/ meltfptr[23]; /*^apply.arg */ argtab[9].meltbp_cstring = " clovtup="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.CLOVTUP__V25*/ meltfptr[24]; /*^apply.arg */ argtab[11].meltbp_cstring = " oldproc="; /*^apply.arg */ argtab[12].meltbp_aptr = (melt_ptr_t *) & /*_.OLDPROC__V27*/ meltfptr[26]; /*^apply.arg */ argtab[13].meltbp_cstring = " ndatarout="; /*^apply.arg */ argtab[14].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAROUT__V28*/ meltfptr[27]; /*_.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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V30*/ meltfptr[29] = /*_.MELT_DEBUG_FUN__V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4292:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V31*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*_.IF___V30*/ meltfptr[29] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4292:/ quasiblock"); /*_.PROGN___V32*/ meltfptr[30] = /*_.IF___V30*/ meltfptr[29];; /*^compute */ /*_.IFCPP___V29*/ meltfptr[28] = /*_.PROGN___V32*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4292:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[1] = 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-normal.melt:4298:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_#INSIDEFLAG__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4299:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.OLDPROC__V27*/ meltfptr[26]), 5, "NRPRO_CONST"); /*_.NRPRO_CONST__V33*/ meltfptr[29] = slot; }; ; { /*^locexp */ meltgc_append_list ((melt_ptr_t) ( /*_.NRPRO_CONST__V33*/ meltfptr[29]), (melt_ptr_t) ( /*_.NDATAROUT__V28*/ meltfptr[27])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4298:/ clear"); /*clear *//*_.NRPRO_CONST__V33*/ meltfptr[29] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:4300:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_LAMBDA_BINDING */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLAMBDAB_NCLOSED", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CBIND__V4*/ meltfptr[3]), (4), ( /*_.CLOVTUP__V25*/ meltfptr[24]), "NLAMBDAB_NCLOSED"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLAMBDAB_CONSTROUT", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CBIND__V4*/ meltfptr[3]), (5), ( /*_.CONSTROUT__V24*/ meltfptr[23]), "NLAMBDAB_CONSTROUT"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLAMBDAB_DATAROUT", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CBIND__V4*/ meltfptr[3]), (6), ( /*_.NDATAROUT__V28*/ meltfptr[27]), "NLAMBDAB_DATAROUT"); ; /*^touch */ meltgc_touch ( /*_.CBIND__V4*/ meltfptr[3]); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4304:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ meltfnum[8] = /*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-normal.melt:4304:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4304:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4304; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_lambda updated cbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CBIND__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V36*/ meltfptr[35] = 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___V35*/ meltfptr[29] = /*_.MELT_DEBUG_FUN__V36*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4304:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V36*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*_.IF___V35*/ meltfptr[29] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4304:/ quasiblock"); /*_.PROGN___V37*/ meltfptr[35] = /*_.IF___V35*/ meltfptr[29];; /*^compute */ /*_.IFCPP___V34*/ meltfptr[30] = /*_.PROGN___V37*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4304:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V35*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PROGN___V37*/ meltfptr[35] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4306:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normletrec_lambda ended"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normal.melt:4288:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V34*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.CSYM__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.CLOCC__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.CONSTROUT__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.CLOVTUP__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.SLOC__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.OLDPROC__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.NDATAROUT__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_#INSIDEFLAG__L7*/ meltfnum[0] = 0; MELT_LOCATION ("warmelt-normal.melt:4284:/ clear"); /*clear *//*_.NEWENV__V14*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.IFCPP___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.IFCPP___V19*/ meltfptr[15] = 0; MELT_LOCATION ("warmelt-normal.melt:4280:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMLETREC_LAMBDA", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_101_warmelt_normal_NORMLETREC_LAMBDA_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_101_warmelt_normal_NORMLETREC_LAMBDA */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_102_warmelt_normal_PREPCONS_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_) { long current_blocklevel_signals_meltrout_102_warmelt_normal_PREPCONS_TUPLE_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_normal_PREPCONS_TUPLE_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 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_102_warmelt_normal_PREPCONS_TUPLE_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 ("PREPCONS_TUPLE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4312:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SYMB__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4313:/ 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-normal.melt:4313:/ 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-normal.melt:4313:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4313; /*^apply.arg */ argtab[3].meltbp_cstring = "prepcons_tuple recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " symb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 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___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4313:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4313:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4313:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ 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[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4314:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_TUPLE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4314:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4314:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4314) ? (4314) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4314:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4315:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4316:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.LOC__V13*/ meltfptr[12] = slot; }; ; } else { /*^cond.else */ /*_.LOC__V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4317:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_ARGUMENTED_OPERATOR */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 2, "SARGOP_ARGS"); /*_.TUPARG__V14*/ meltfptr[13] = slot; }; ; } else { /*^cond.else */ /*_.TUPARG__V14*/ meltfptr[13] = NULL;; } ; /*^compute */ /*_#NBTUPARG__L4*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.TUPARG__V14*/ meltfptr[13])));; /*^compute */ /*_.NTUP__V15*/ meltfptr[14] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[4])), ( /*_#NBTUPARG__L4*/ meltfnum[0])));; MELT_LOCATION ("warmelt-normal.melt:4320:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4322:/ cond"); /*cond */ if ( /*_.LOC__V13*/ meltfptr[12]) /*then */ { /*^cond.then */ /*_.OR___V16*/ meltfptr[15] = /*_.LOC__V13*/ meltfptr[12];; } else { MELT_LOCATION ("warmelt-normal.melt:4322:/ cond.else"); /*_.OR___V16*/ meltfptr[15] = /*_.SLOC__V5*/ meltfptr[4];; } ; MELT_LOCATION ("warmelt-normal.melt:4323:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V5*/ meltfptr[4]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_multiple"; /*_.NORMAL_PREDEF__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[6])), (melt_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout-> tabval[4])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4320:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_TUPLE_BINDING */ meltfrout->tabval[5])), (5), "CLASS_NORMAL_CONSTRUCTED_TUPLE_BINDING"); /*_.INST__V19*/ meltfptr[18] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V19*/ meltfptr[18]), (0), ( /*_.SYMB__V3*/ meltfptr[2]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V19*/ meltfptr[18]), (1), ( /*_.OR___V16*/ meltfptr[15]), "NCONSB_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V19*/ meltfptr[18]), (2), ( /*_.NORMAL_PREDEF__V17*/ meltfptr[16]), "NCONSB_DISCR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTUPB_COMP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V19*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V19*/ meltfptr[18]), (4), ( /*_.NTUP__V15*/ meltfptr[14]), "NTUPB_COMP"); ; /*_.CONSTUP__V18*/ meltfptr[17] = /*_.INST__V19*/ meltfptr[18];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4327:/ 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-normal.melt:4327:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4327:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4327; /*^apply.arg */ argtab[3].meltbp_cstring = "prepcons_tuple gives constup"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CONSTUP__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V22*/ meltfptr[21] = 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___V21*/ meltfptr[20] = /*_.MELT_DEBUG_FUN__V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4327:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V22*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*_.IF___V21*/ meltfptr[20] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4327:/ quasiblock"); /*_.PROGN___V23*/ meltfptr[21] = /*_.IF___V21*/ meltfptr[20];; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_.PROGN___V23*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4327:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.PROGN___V23*/ meltfptr[21] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4328:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.CONSTUP__V18*/ meltfptr[17];; { MELT_LOCATION ("warmelt-normal.melt:4328:/ 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[7] = /*_.RETURN___V24*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:4315:/ clear"); /*clear *//*_.LOC__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.TUPARG__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_#NBTUPARG__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.NTUP__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.OR___V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.CONSTUP__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.RETURN___V24*/ meltfptr[20] = 0; MELT_LOCATION ("warmelt-normal.melt:4312:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[7];; { MELT_LOCATION ("warmelt-normal.melt:4312:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[7] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PREPCONS_TUPLE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_102_warmelt_normal_PREPCONS_TUPLE_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_normal_PREPCONS_TUPLE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_103_warmelt_normal_NORMLETREC_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_) { long current_blocklevel_signals_meltrout_103_warmelt_normal_NORMLETREC_TUPLE_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_normal_NORMLETREC_TUPLE_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 20 long mcfr_varnum[20]; /*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_normal_NORMLETREC_TUPLE_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 ("NORMLETREC_TUPLE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4333:/ getarg"); /*_.CEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SYMB__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CBIND__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V5*/ meltfptr[4])) != NULL); /*getarg#4 */ /*^getarg */ if (meltxargdescr_[3] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V6*/ meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V6*/ meltfptr[5])) != NULL); /*getarg#5 */ /*^getarg */ if (meltxargdescr_[4] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V7*/ meltfptr[6] = (meltxargtab_[4].meltbp_aptr) ? (*(meltxargtab_[4].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V7*/ meltfptr[6])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4334:/ 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-normal.melt:4334:/ 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-normal.melt:4334:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4334; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_tuple cexpr="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CEXPR__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " symb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " cbind="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CBIND__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4334:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4334:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[7] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4334:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ 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[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4335:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_TUPLE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4335:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[9] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4335:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cexpr"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4335) ? (4335) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[9] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[8] = /*_.IFELSE___V13*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4335:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4336:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:4336:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4336:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4336) ? (4336) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[9] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4336:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4337:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_TUPLE_BINDING */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:4337:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V17*/ meltfptr[16] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4337:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4337) ? (4337) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V16*/ meltfptr[14] = /*_.IFELSE___V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4337:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4338:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4339:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V18*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.LOCA_LOCATION__V18*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4339:/ cond"); /*cond */ if ( /*_.LOCA_LOCATION__V18*/ meltfptr[16]) /*then */ { /*^cond.then */ /*_.LOC__V19*/ meltfptr[18] = /*_.LOCA_LOCATION__V18*/ meltfptr[16];; } else { MELT_LOCATION ("warmelt-normal.melt:4339:/ cond.else"); /*_.LOC__V19*/ meltfptr[18] = /*_.SLOC__V7*/ meltfptr[6];; } ; MELT_LOCATION ("warmelt-normal.melt:4340:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), 2, "SARGOP_ARGS"); /*_.SARGS__V20*/ meltfptr[19] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4341:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_TUPLE_BINDING */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), 4, "NTUPB_COMP"); /*_.BCOMP__V21*/ meltfptr[20] = slot; }; ; } else { /*^cond.else */ /*_.BCOMP__V21*/ meltfptr[20] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4342:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), 3, "NCONSB_NLETREC"); /*_.NLETREC__V22*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.NLETREC__V22*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4343:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NLETREC__V22*/ meltfptr[21]), 3, "NLETREC_FILL_BINDINGS"); /*_.NRECBINDS__V23*/ meltfptr[22] = slot; }; ; } else { /*^cond.else */ /*_.NRECBINDS__V23*/ meltfptr[22] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4345:/ 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-normal.melt:4345:/ 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-normal.melt:4345:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[11]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4345; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_tuple sargs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SARGS__V20*/ meltfptr[19]; /*^apply.arg */ argtab[5].meltbp_cstring = " bcomp="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.BCOMP__V21*/ meltfptr[20]; /*^apply.arg */ argtab[7].meltbp_cstring = " nletrec="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NLETREC__V22*/ meltfptr[21]; /*^apply.arg */ argtab[9].meltbp_cstring = " nrecbinds="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.NRECBINDS__V23*/ meltfptr[22]; /*_.MELT_DEBUG_FUN__V26*/ meltfptr[25] = 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___V25*/ meltfptr[24] = /*_.MELT_DEBUG_FUN__V26*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4345:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V26*/ meltfptr[25] = 0; } ; } else { /*^cond.else */ /*_.IF___V25*/ meltfptr[24] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4345:/ quasiblock"); /*_.PROGN___V27*/ meltfptr[25] = /*_.IF___V25*/ meltfptr[24];; /*^compute */ /*_.IFCPP___V24*/ meltfptr[23] = /*_.PROGN___V27*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4345:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4347:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L8*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:4347:/ cond"); /*cond */ if ( /*_#IS_A__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V29*/ meltfptr[25] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4347:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nletrec"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4347) ? (4347) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V29*/ meltfptr[25] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V28*/ meltfptr[24] = /*_.IFELSE___V29*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4347:/ clear"); /*clear *//*_#IS_A__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V29*/ meltfptr[25] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V28*/ meltfptr[24] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4348:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L9*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.NRECBINDS__V23*/ meltfptr[22])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normal.melt:4348:/ cond"); /*cond */ if ( /*_#IS_LIST__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V31*/ meltfptr[30] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4348:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nrecbinds"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4348) ? (4348) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V31*/ meltfptr[30] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V30*/ meltfptr[25] = /*_.IFELSE___V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4348:/ clear"); /*clear *//*_#IS_LIST__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V31*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4351:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4349:/ quasiblock"); /*^multiapply */ /*multiapply 4args, 1x.res */ { union meltparam_un argtab[3]; union meltparam_un restab[1]; memset (&restab, 0, sizeof (restab)); memset (&argtab, 0, sizeof (argtab)); /*^multiapply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V5*/ meltfptr[4]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V6*/ meltfptr[5]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.LOC__V19*/ meltfptr[18]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDS__V33*/ meltfptr[32]; /*^multiapply.appl */ /*_.NARGS__V32*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.SARGS__V20*/ meltfptr[19]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4352:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ 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-normal.melt:4352:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4352:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4352; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_tuple nargs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NARGS__V32*/ meltfptr[30]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbinds="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDS__V33*/ meltfptr[32]; /*_.MELT_DEBUG_FUN__V36*/ meltfptr[35] = 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___V35*/ meltfptr[34] = /*_.MELT_DEBUG_FUN__V36*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4352:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V36*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*_.IF___V35*/ meltfptr[34] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4352:/ quasiblock"); /*_.PROGN___V37*/ meltfptr[35] = /*_.IF___V35*/ meltfptr[34];; /*^compute */ /*_.IFCPP___V34*/ meltfptr[33] = /*_.PROGN___V37*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4352:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.PROGN___V37*/ meltfptr[35] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4353:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MULTIPLE_LENGTH__L12*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.BCOMP__V21*/ meltfptr[20])));; /*^compute */ /*_#MULTIPLE_LENGTH__L13*/ meltfnum[1] = (melt_multiple_length ((melt_ptr_t) ( /*_.NARGS__V32*/ meltfptr[30])));; /*^compute */ /*_#I__L14*/ meltfnum[13] = (( /*_#MULTIPLE_LENGTH__L12*/ meltfnum[0]) == ( /*_#MULTIPLE_LENGTH__L13*/ meltfnum[1]));; MELT_LOCATION ("warmelt-normal.melt:4353:/ cond"); /*cond */ if ( /*_#I__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*_.IFELSE___V39*/ meltfptr[35] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4353:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nargs & bcomp samelength"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4353) ? (4353) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V39*/ meltfptr[35] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V38*/ meltfptr[34] = /*_.IFELSE___V39*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4353:/ clear"); /*clear *//*_#MULTIPLE_LENGTH__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L13*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#I__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IFELSE___V39*/ meltfptr[35] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[34] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4354:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L15*/ meltfnum[0] = (( /*_.NBINDS__V33*/ meltfptr[32]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDS__V33*/ meltfptr[32])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:4354:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L15*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V41*/ meltfptr[40] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4354:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbinds"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4354) ? (4354) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V41*/ meltfptr[40] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V40*/ meltfptr[35] = /*_.IFELSE___V41*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4354:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L15*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V41*/ meltfptr[40] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V40*/ meltfptr[35] = ( /*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) /*_.NARGS__V32*/ meltfptr[30]); for ( /*_#NIX__L16*/ meltfnum[1] = 0; ( /*_#NIX__L16*/ meltfnum[1] >= 0) && ( /*_#NIX__L16*/ meltfnum[1] < meltcit1__EACHTUP_ln); /*_#NIX__L16*/ meltfnum[1]++) { /*_.CURNARG__V42*/ meltfptr[40] = melt_multiple_nth ((melt_ptr_t) ( /*_.NARGS__V32*/ meltfptr[30]), /*_#NIX__L16*/ meltfnum[1]); { MELT_LOCATION ("warmelt-normal.melt:4358:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.BCOMP__V21*/ meltfptr[20]), ( /*_#NIX__L16*/ meltfnum[1]), (melt_ptr_t) ( /*_.CURNARG__V42*/ meltfptr[40])); } ; if ( /*_#NIX__L16*/ meltfnum[1] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4355:/ clear"); /*clear *//*_.CURNARG__V42*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_#NIX__L16*/ meltfnum[1] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4359:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ meltfnum[13] = /*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-normal.melt:4359:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4359:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4359; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_tuple updated bcomp"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BCOMP__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 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___V44*/ meltfptr[43] = /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4359:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 0; } ; } else { /*^cond.else */ /*_.IF___V44*/ meltfptr[43] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4359:/ quasiblock"); /*_.PROGN___V46*/ meltfptr[44] = /*_.IF___V44*/ meltfptr[43];; /*^compute */ /*_.IFCPP___V43*/ meltfptr[42] = /*_.PROGN___V46*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4359:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.PROGN___V46*/ meltfptr[44] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V43*/ meltfptr[42] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4360:/ 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 *) & /*_.NBINDS__V33*/ meltfptr[32]; /*_.LIST_APPEND2LIST__V47*/ meltfptr[43] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[8])), (melt_ptr_t) ( /*_.NRECBINDS__V23*/ meltfptr[22]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4361:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ 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-normal.melt:4361:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[13] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4361:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[13]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4361; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_tuple updated nrecbinds"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NRECBINDS__V23*/ meltfptr[22]; /*_.MELT_DEBUG_FUN__V50*/ meltfptr[49] = 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___V49*/ meltfptr[48] = /*_.MELT_DEBUG_FUN__V50*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4361:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V50*/ meltfptr[49] = 0; } ; } else { /*^cond.else */ /*_.IF___V49*/ meltfptr[48] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4361:/ quasiblock"); /*_.PROGN___V51*/ meltfptr[49] = /*_.IF___V49*/ meltfptr[48];; /*^compute */ /*_.IFCPP___V48*/ meltfptr[44] = /*_.PROGN___V51*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4361:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.PROGN___V51*/ meltfptr[49] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V48*/ meltfptr[44] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4362:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normletrec_tuple ended"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normal.melt:4349:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^clear */ /*clear *//*_.IFCPP___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.IFCPP___V40*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.IFCPP___V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V47*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.IFCPP___V48*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.NBINDS__V33*/ meltfptr[32] = 0; MELT_LOCATION ("warmelt-normal.melt:4338:/ clear"); /*clear *//*_.LOCA_LOCATION__V18*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.LOC__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.SARGS__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.BCOMP__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NLETREC__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NRECBINDS__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.IFCPP___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.IFCPP___V28*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[25] = 0; MELT_LOCATION ("warmelt-normal.melt:4333:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.IFCPP___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMLETREC_TUPLE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_103_warmelt_normal_NORMLETREC_TUPLE_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_103_warmelt_normal_NORMLETREC_TUPLE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_104_warmelt_normal_PREPCONS_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_) { long current_blocklevel_signals_meltrout_104_warmelt_normal_PREPCONS_LIST_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_normal_PREPCONS_LIST_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 38 melt_ptr_t mcfr_varptr[38]; #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_104_warmelt_normal_PREPCONS_LIST_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 38; 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 = 38; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("PREPCONS_LIST", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4368:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SYMB__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4369:/ 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-normal.melt:4369:/ 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-normal.melt:4369:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4369; /*^apply.arg */ argtab[3].meltbp_cstring = "prepcons_list recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " symb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 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___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4369:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4369:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4369:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ 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[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4370:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_LIST */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4370:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4370:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4370) ? (4370) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4370:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4371:/ quasiblock"); /*_.RESLIST__V13*/ meltfptr[12] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[2]))));; MELT_LOCATION ("warmelt-normal.melt:4373:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.LOC__V14*/ meltfptr[13] = slot; }; ; } else { /*^cond.else */ /*_.LOC__V14*/ meltfptr[13] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4374:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_ARGUMENTED_OPERATOR */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 2, "SARGOP_ARGS"); /*_.LISTARG__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.LISTARG__V15*/ meltfptr[14] = NULL;; } ; /*^compute */ /*_#NBLISTARG__L4*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.LISTARG__V15*/ meltfptr[14])));; /*^compute */ /*_.PAIRSB__V16*/ meltfptr[15] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[5])), ( /*_#NBLISTARG__L4*/ meltfnum[0])));; MELT_LOCATION ("warmelt-normal.melt:4377:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4379:/ cond"); /*cond */ if ( /*_.LOC__V14*/ meltfptr[13]) /*then */ { /*^cond.then */ /*_.OR___V17*/ meltfptr[16] = /*_.LOC__V14*/ meltfptr[13];; } else { MELT_LOCATION ("warmelt-normal.melt:4379:/ cond.else"); /*_.OR___V17*/ meltfptr[16] = /*_.SLOC__V5*/ meltfptr[4];; } ; MELT_LOCATION ("warmelt-normal.melt:4380:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V5*/ meltfptr[4]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_list"; /*_.NORMAL_PREDEF__V18*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[7])), (melt_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[2])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4377:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_LIST_BINDING */ meltfrout->tabval[6])), (7), "CLASS_NORMAL_CONSTRUCTED_LIST_BINDING"); /*_.INST__V20*/ meltfptr[19] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V20*/ meltfptr[19]), (0), ( /*_.SYMB__V3*/ meltfptr[2]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V20*/ meltfptr[19]), (1), ( /*_.OR___V17*/ meltfptr[16]), "NCONSB_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V20*/ meltfptr[19]), (2), ( /*_.NORMAL_PREDEF__V18*/ meltfptr[17]), "NCONSB_DISCR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLISTB_FIRST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V20*/ meltfptr[19]), (4), (( /*nil */ NULL)), "NLISTB_FIRST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLISTB_LAST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V20*/ meltfptr[19]), (5), (( /*nil */ NULL)), "NLISTB_LAST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLISTB_PAIRSB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V20*/ meltfptr[19]), (6), ( /*_.PAIRSB__V16*/ meltfptr[15]), "NLISTB_PAIRSB"); ; /*_.CONSLIST__V19*/ meltfptr[18] = /*_.INST__V20*/ meltfptr[19];; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.LISTARG__V15*/ meltfptr[14]); for ( /*_#CURIX__L5*/ meltfnum[1] = 0; ( /*_#CURIX__L5*/ meltfnum[1] >= 0) && ( /*_#CURIX__L5*/ meltfnum[1] < meltcit1__EACHTUP_ln); /*_#CURIX__L5*/ meltfnum[1]++) { /*_.CURARG__V21*/ meltfptr[20] = melt_multiple_nth ((melt_ptr_t) ( /*_.LISTARG__V15*/ meltfptr[14]), /*_#CURIX__L5*/ meltfnum[1]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4389:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ 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-normal.melt:4389:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[5]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4389:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4389; /*^apply.arg */ argtab[3].meltbp_cstring = "prepcons_list curarg"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURARG__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V24*/ meltfptr[23] = 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___V23*/ meltfptr[22] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4389:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*_.IF___V23*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4389:/ quasiblock"); /*_.PROGN___V25*/ meltfptr[23] = /*_.IF___V23*/ meltfptr[22];; /*^compute */ /*_.IFCPP___V22*/ meltfptr[21] = /*_.PROGN___V25*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4389:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.IF___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.PROGN___V25*/ meltfptr[23] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V22*/ meltfptr[21] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4390:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L8*/ meltfnum[6] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURARG__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout-> tabval[9])));; MELT_LOCATION ("warmelt-normal.melt:4390:/ cond"); /*cond */ if ( /*_#IS_A__L8*/ meltfnum[6]) /*then */ { /*^cond.then */ /*_.IFELSE___V26*/ meltfptr[22] = /*_.CURARG__V21*/ meltfptr[20];; } else { MELT_LOCATION ("warmelt-normal.melt:4390:/ cond.else"); /*_.IFELSE___V26*/ meltfptr[22] = ( /*!konst_10_PAIROFLIST */ meltfrout->tabval[10]);; } ; MELT_LOCATION ("warmelt-normal.melt:4390:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.PAIRSYMB__V27*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[8])), (melt_ptr_t) ( /*_.IFELSE___V26*/ meltfptr[22]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4391:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4393:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURARG__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURARG__V21*/ meltfptr[20]), 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V28*/ meltfptr[27] = slot; }; ; } else { /*^cond.else */ /*_.LOCA_LOCATION__V28*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4393:/ cond"); /*cond */ if ( /*_.LOCA_LOCATION__V28*/ meltfptr[27]) /*then */ { /*^cond.then */ /*_.OR___V29*/ meltfptr[28] = /*_.LOCA_LOCATION__V28*/ meltfptr[27];; } else { MELT_LOCATION ("warmelt-normal.melt:4393:/ cond.else"); /*^block */ /*anyblock */ { /*^cond */ /*cond */ if ( /*_.LOC__V14*/ meltfptr[13]) /*then */ { /*^cond.then */ /*_.OR___V30*/ meltfptr[29] = /*_.LOC__V14*/ meltfptr[13];; } else { MELT_LOCATION ("warmelt-normal.melt:4393:/ cond.else"); /*_.OR___V30*/ meltfptr[29] = /*_.SLOC__V5*/ meltfptr[4];; } ; /*^compute */ /*_.OR___V29*/ meltfptr[28] = /*_.OR___V30*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4393:/ clear"); /*clear *//*_.OR___V30*/ meltfptr[29] = 0; } ; } ; MELT_LOCATION ("warmelt-normal.melt:4394:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V5*/ meltfptr[4]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_pair"; /*_.NORMAL_PREDEF__V31*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[7])), (melt_ptr_t) (( /*!DISCR_PAIR */ meltfrout-> tabval[12])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4391:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[11])), (6), "CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING"); /*_.INST__V33*/ meltfptr[32] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (0), ( /*_.PAIRSYMB__V27*/ meltfptr[23]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (1), ( /*_.OR___V29*/ meltfptr[28]), "NCONSB_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (2), ( /*_.NORMAL_PREDEF__V31*/ meltfptr[29]), "NCONSB_DISCR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPAIRB_HEAD", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (4), (( /*nil */ NULL)), "NPAIRB_HEAD"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPAIRB_TAIL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (5), (( /*nil */ NULL)), "NPAIRB_TAIL"); ; /*_.CONSPAIR__V32*/ meltfptr[31] = /*_.INST__V33*/ meltfptr[32];; { MELT_LOCATION ("warmelt-normal.melt:4399:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.PAIRSB__V16*/ meltfptr[15]), ( /*_#CURIX__L5*/ meltfnum[1]), (melt_ptr_t) ( /*_.CONSPAIR__V32*/ meltfptr[31])); } ; { MELT_LOCATION ("warmelt-normal.melt:4400:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.RESLIST__V13*/ meltfptr[12]), (melt_ptr_t) ( /*_.CONSPAIR__V32*/ meltfptr[31])); } ; MELT_LOCATION ("warmelt-normal.melt:4390:/ clear"); /*clear *//*_#IS_A__L8*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V26*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.PAIRSYMB__V27*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.LOCA_LOCATION__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.OR___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V31*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.CONSPAIR__V32*/ meltfptr[31] = 0; if ( /*_#CURIX__L5*/ meltfnum[1] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4386:/ clear"); /*clear *//*_.CURARG__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#CURIX__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFCPP___V22*/ meltfptr[21] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-normal.melt:4402:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.RESLIST__V13*/ meltfptr[12]), (melt_ptr_t) ( /*_.CONSLIST__V19*/ meltfptr[18])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4403:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ 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-normal.melt:4403:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[5]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4403:/ 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[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4403; /*^apply.arg */ argtab[3].meltbp_cstring = "prepcons_list gives reslist"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RESLIST__V13*/ meltfptr[12]; /*_.MELT_DEBUG_FUN__V36*/ meltfptr[27] = 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___V35*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V36*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4403:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V36*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V35*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4403:/ quasiblock"); /*_.PROGN___V37*/ meltfptr[28] = /*_.IF___V35*/ meltfptr[23];; /*^compute */ /*_.IFCPP___V34*/ meltfptr[22] = /*_.PROGN___V37*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4403:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.IF___V35*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.PROGN___V37*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4404:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.RESLIST__V13*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4404:/ 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[7] = /*_.RETURN___V38*/ meltfptr[29];; MELT_LOCATION ("warmelt-normal.melt:4371:/ clear"); /*clear *//*_.RESLIST__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LOC__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.LISTARG__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#NBLISTARG__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.PAIRSB__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.OR___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.CONSLIST__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V34*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.RETURN___V38*/ meltfptr[29] = 0; MELT_LOCATION ("warmelt-normal.melt:4368:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[7];; { MELT_LOCATION ("warmelt-normal.melt:4368:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[7] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PREPCONS_LIST", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_104_warmelt_normal_PREPCONS_LIST_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_normal_PREPCONS_LIST */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_105_warmelt_normal_NRECLIST_FIND_LOCSYM (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_normal_NRECLIST_FIND_LOCSYM_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_normal_NRECLIST_FIND_LOCSYM_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 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_105_warmelt_normal_NRECLIST_FIND_LOCSYM_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 ("NRECLIST_FIND_LOCSYM", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4411:/ getarg"); /*_.SYMB__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NLETREC__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NLETREC__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4412:/ 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-normal.melt:4412:/ 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-normal.melt:4412:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4412; /*^apply.arg */ argtab[3].meltbp_cstring = "nreclist_find_locsym symb"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__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-normal.melt:4412:/ 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-normal.melt:4412:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4412:/ 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-normal.melt:4413:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4413:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4413:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check symb"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4413) ? (4413) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[4] = /*_.IFELSE___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4413:/ 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-normal.melt:4414:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:4414:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4414:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nletrec"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4414) ? (4414) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4414:/ 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-normal.melt:4415:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NLETREC__V3*/ meltfptr[2]), 5, "NLETREC_LOCSYMS"); /*_.NLOCSYMS__V13*/ meltfptr[12] = slot; }; ; } else { /*^cond.else */ /*_.NLOCSYMS__V13*/ meltfptr[12] = NULL;; } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.NLOCSYMS__V13*/ meltfptr[12]); for ( /*_#LOCSYMIX__L5*/ meltfnum[1] = 0; ( /*_#LOCSYMIX__L5*/ meltfnum[1] >= 0) && ( /*_#LOCSYMIX__L5*/ meltfnum[1] < meltcit1__EACHTUP_ln); /*_#LOCSYMIX__L5*/ meltfnum[1]++) { /*_.CURLOCSYM__V14*/ meltfptr[13] = melt_multiple_nth ((melt_ptr_t) ( /*_.NLOCSYMS__V13*/ meltfptr[12]), /*_#LOCSYMIX__L5*/ meltfnum[1]); MELT_LOCATION ("warmelt-normal.melt:4420:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURLOCSYM__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!CLASS_NREP_SYMOCC */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURLOCSYM__V14*/ meltfptr[13]), 1, "NOCC_SYMB"); /*_.NOCC_SYMB__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.NOCC_SYMB__V15*/ meltfptr[14] = NULL;; } ; /*^compute */ /*_#__L6*/ meltfnum[0] = (( /*_.NOCC_SYMB__V15*/ meltfptr[14]) == ( /*_.SYMB__V2*/ meltfptr[1]));; MELT_LOCATION ("warmelt-normal.melt:4420:/ cond"); /*cond */ if ( /*_#__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4422:/ 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-normal.melt:4422:/ 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-normal.melt:4422:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4422; /*^apply.arg */ argtab[3].meltbp_cstring = "nreclist_find_locsym found curlocsym"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURLOCSYM__V14*/ meltfptr[13]; /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = 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___V18*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4422:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4422:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[18] = /*_.IF___V18*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.PROGN___V20*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4422:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[6] = 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 */ ; MELT_LOCATION ("warmelt-normal.melt:4423:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.CURLOCSYM__V14*/ meltfptr[13];; { MELT_LOCATION ("warmelt-normal.melt:4423:/ 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-normal.melt:4421:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[18] = /*_.RETURN___V21*/ meltfptr[17];; /*^compute */ /*_.IF___V16*/ meltfptr[15] = /*_.PROGN___V22*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4420:/ clear"); /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.RETURN___V21*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V22*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V16*/ meltfptr[15] = NULL;; } ; if ( /*_#LOCSYMIX__L5*/ meltfnum[1] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4417:/ clear"); /*clear *//*_.CURLOCSYM__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_#LOCSYMIX__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.NOCC_SYMB__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V16*/ meltfptr[15] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4424:/ 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-normal.melt:4424:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4424:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[4]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4424; /*^apply.arg */ argtab[3].meltbp_cstring = "nreclist_find_locsym not found"; /*_.MELT_DEBUG_FUN__V25*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V24*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4424:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V25*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V24*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4424:/ quasiblock"); /*_.PROGN___V26*/ meltfptr[18] = /*_.IF___V24*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V23*/ meltfptr[16] = /*_.PROGN___V26*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4424:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V24*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V26*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4425:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:4425:/ 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[10] = /*_.RETURN___V27*/ meltfptr[17];; MELT_LOCATION ("warmelt-normal.melt:4415:/ clear"); /*clear *//*_.NLOCSYMS__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.RETURN___V27*/ meltfptr[17] = 0; MELT_LOCATION ("warmelt-normal.melt:4411:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[10];; { MELT_LOCATION ("warmelt-normal.melt:4411:/ 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 ("NRECLIST_FIND_LOCSYM", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_105_warmelt_normal_NRECLIST_FIND_LOCSYM_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_normal_NRECLIST_FIND_LOCSYM */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_106_warmelt_normal_NORMLETREC_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_) { long current_blocklevel_signals_meltrout_106_warmelt_normal_NORMLETREC_LIST_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_normal_NORMLETREC_LIST_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 104 melt_ptr_t mcfr_varptr[104]; #define MELTFRAM_NBVARNUM 43 long mcfr_varnum[43]; /*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_normal_NORMLETREC_LIST_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 104; 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 = 104; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMLETREC_LIST", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4429:/ getarg"); /*_.CEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SYMB__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CBIND__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V5*/ meltfptr[4])) != NULL); /*getarg#4 */ /*^getarg */ if (meltxargdescr_[3] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V6*/ meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V6*/ meltfptr[5])) != NULL); /*getarg#5 */ /*^getarg */ if (meltxargdescr_[4] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V7*/ meltfptr[6] = (meltxargtab_[4].meltbp_aptr) ? (*(meltxargtab_[4].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V7*/ meltfptr[6])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4430:/ 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-normal.melt:4430:/ 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-normal.melt:4430:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4430; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list cexpr="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CEXPR__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " symb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " cbind="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CBIND__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4430:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4430:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[7] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4430:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ 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[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4431:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_LIST */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4431:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[9] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4431:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cexpr"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4431) ? (4431) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[9] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[8] = /*_.IFELSE___V13*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4431:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4434:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L4*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-normal.melt:4434:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4434:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cbind is tuple"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4434) ? (4434) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[9] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4434:/ clear"); /*clear *//*_#IS_MULTIPLE__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4435:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.LOCA_LOCATION__V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4435:/ cond"); /*cond */ if ( /*_.LOCA_LOCATION__V17*/ meltfptr[16]) /*then */ { /*^cond.then */ /*_.LOC__V18*/ meltfptr[17] = /*_.LOCA_LOCATION__V17*/ meltfptr[16];; } else { MELT_LOCATION ("warmelt-normal.melt:4435:/ cond.else"); /*_.LOC__V18*/ meltfptr[17] = /*_.SLOC__V7*/ meltfptr[6];; } ; MELT_LOCATION ("warmelt-normal.melt:4436:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_ARGUMENTED_OPERATOR */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), 2, "SARGOP_ARGS"); /*_.SARGS__V19*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.SARGS__V19*/ meltfptr[18] = NULL;; } ; /*^compute */ /*_.CONSLIBIND__V20*/ meltfptr[19] = (melt_multiple_nth ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), (-1)));; MELT_LOCATION ("warmelt-normal.melt:4438:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CONSLIBIND__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CONSLIBIND__V20*/ meltfptr[19]), 3, "NCONSB_NLETREC"); /*_.NLETREC__V21*/ meltfptr[20] = slot; }; ; } else { /*^cond.else */ /*_.NLETREC__V21*/ meltfptr[20] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4439:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V21*/ meltfptr[20]), (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__V21*/ meltfptr[20]), 3, "NLETREC_FILL_BINDINGS"); /*_.NRECBINDS__V22*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.NRECBINDS__V22*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4440:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V21*/ meltfptr[20]), (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__V21*/ meltfptr[20]), 5, "NLETREC_LOCSYMS"); /*_.NLOCSYMS__V23*/ meltfptr[22] = slot; }; ; } else { /*^cond.else */ /*_.NLOCSYMS__V23*/ meltfptr[22] = NULL;; } ; /*^compute */ /*_.FIRSTPAIRBIND__V24*/ meltfptr[23] = (melt_multiple_nth ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), (0)));; /*^compute */ /*_.LASTPAIRBIND__V25*/ meltfptr[24] = (melt_multiple_nth ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), (-2)));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4444:/ 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-normal.melt:4444:/ 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-normal.melt:4444:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4444; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list conslibind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CONSLIBIND__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = 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___V27*/ meltfptr[26] = /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4444:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4444:/ quasiblock"); /*_.PROGN___V29*/ meltfptr[27] = /*_.IF___V27*/ meltfptr[26];; /*^compute */ /*_.IFCPP___V26*/ meltfptr[25] = /*_.PROGN___V29*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4444:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.PROGN___V29*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4445:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CONSLIBIND__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_LIST_BINDING */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:4445:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V31*/ meltfptr[27] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4445:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check conslibind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4445) ? (4445) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V31*/ meltfptr[27] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V30*/ meltfptr[26] = /*_.IFELSE___V31*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4445:/ clear"); /*clear *//*_#IS_A__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V31*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4447:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ 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-normal.melt:4447:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4447:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4447; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list sargs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SARGS__V19*/ meltfptr[18]; /*^apply.arg */ argtab[5].meltbp_cstring = " nletrec="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NLETREC__V21*/ meltfptr[20]; /*^apply.arg */ argtab[7].meltbp_cstring = " nrecbinds="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NRECBINDS__V22*/ meltfptr[21]; /*_.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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V33*/ meltfptr[32] = /*_.MELT_DEBUG_FUN__V34*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4447:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V34*/ meltfptr[33] = 0; } ; } else { /*^cond.else */ /*_.IF___V33*/ meltfptr[32] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4447:/ quasiblock"); /*_.PROGN___V35*/ meltfptr[33] = /*_.IF___V33*/ meltfptr[32];; /*^compute */ /*_.IFCPP___V32*/ meltfptr[27] = /*_.PROGN___V35*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4447:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.PROGN___V35*/ meltfptr[33] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V32*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4449:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[5])));; MELT_LOCATION ("warmelt-normal.melt:4449:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V37*/ meltfptr[33] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4449:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nletrec"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4449) ? (4449) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V37*/ meltfptr[33] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V36*/ meltfptr[32] = /*_.IFELSE___V37*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4449:/ clear"); /*clear *//*_#IS_A__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V37*/ meltfptr[33] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V36*/ meltfptr[32] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4450:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L11*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.NRECBINDS__V22*/ meltfptr[21])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normal.melt:4450:/ cond"); /*cond */ if ( /*_#IS_LIST__L11*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V39*/ meltfptr[38] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4450:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nrecbinds"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4450) ? (4450) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V39*/ meltfptr[38] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V38*/ meltfptr[33] = /*_.IFELSE___V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4450:/ clear"); /*clear *//*_#IS_LIST__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V39*/ meltfptr[38] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4453:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4451:/ quasiblock"); /*^multiapply */ /*multiapply 4args, 1x.res */ { union meltparam_un argtab[3]; union meltparam_un restab[1]; memset (&restab, 0, sizeof (restab)); memset (&argtab, 0, sizeof (argtab)); /*^multiapply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V5*/ meltfptr[4]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V6*/ meltfptr[5]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.LOC__V18*/ meltfptr[17]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDS__V42*/ meltfptr[41]; /*^multiapply.appl */ /*_.NARGS__V41*/ meltfptr[40] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.SARGS__V19*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4454:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ 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-normal.melt:4454:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4454:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4454; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list nargs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NARGS__V41*/ meltfptr[40]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbinds="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDS__V42*/ meltfptr[41]; /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 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___V44*/ meltfptr[43] = /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4454:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 0; } ; } else { /*^cond.else */ /*_.IF___V44*/ meltfptr[43] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4454:/ quasiblock"); /*_.PROGN___V46*/ meltfptr[44] = /*_.IF___V44*/ meltfptr[43];; /*^compute */ /*_.IFCPP___V43*/ meltfptr[42] = /*_.PROGN___V46*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4454:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.PROGN___V46*/ meltfptr[44] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V43*/ meltfptr[42] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4455:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L14*/ meltfnum[1] = (( /*_.NBINDS__V42*/ meltfptr[41]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDS__V42*/ meltfptr[41])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:4455:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L14*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V48*/ meltfptr[44] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4455:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbinds"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4455) ? (4455) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V48*/ meltfptr[44] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V47*/ meltfptr[43] = /*_.IFELSE___V48*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4455:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L14*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V48*/ meltfptr[44] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V47*/ meltfptr[43] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4456:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MULTIPLE_LENGTH__L15*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.NARGS__V41*/ meltfptr[40])));; /*^compute */ /*_#MULTIPLE_LENGTH__L16*/ meltfnum[1] = (melt_multiple_length ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3])));; /*^compute */ /*_#I__L17*/ meltfnum[16] = (( /*_#MULTIPLE_LENGTH__L16*/ meltfnum[1]) - (1));; /*^compute */ /*_#I__L18*/ meltfnum[17] = (( /*_#MULTIPLE_LENGTH__L15*/ meltfnum[0]) == ( /*_#I__L17*/ meltfnum[16]));; MELT_LOCATION ("warmelt-normal.melt:4456:/ cond"); /*cond */ if ( /*_#I__L18*/ meltfnum[17]) /*then */ { /*^cond.then */ /*_.IFELSE___V50*/ meltfptr[49] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4456:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nargs\'s length vs cbind\'s length"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4456) ? (4456) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V50*/ meltfptr[49] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V49*/ meltfptr[44] = /*_.IFELSE___V50*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4456:/ clear"); /*clear *//*_#MULTIPLE_LENGTH__L15*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L16*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#I__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_#I__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IFELSE___V50*/ meltfptr[49] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V49*/ meltfptr[44] = ( /*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) /*_.NARGS__V41*/ meltfptr[40]); for ( /*_#NIX__L19*/ meltfnum[0] = 0; ( /*_#NIX__L19*/ meltfnum[0] >= 0) && ( /*_#NIX__L19*/ meltfnum[0] < meltcit1__EACHTUP_ln); /*_#NIX__L19*/ meltfnum[0]++) { /*_.CURNARG__V51*/ meltfptr[49] = melt_multiple_nth ((melt_ptr_t) ( /*_.NARGS__V41*/ meltfptr[40]), /*_#NIX__L19*/ meltfnum[0]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4461:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L20*/ 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-normal.melt:4461:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L20*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4461:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4461; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list curnarg"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURNARG__V51*/ meltfptr[49]; /*_.MELT_DEBUG_FUN__V54*/ meltfptr[53] = 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___V53*/ meltfptr[52] = /*_.MELT_DEBUG_FUN__V54*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4461:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L21*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V54*/ meltfptr[53] = 0; } ; } else { /*^cond.else */ /*_.IF___V53*/ meltfptr[52] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4461:/ quasiblock"); /*_.PROGN___V55*/ meltfptr[53] = /*_.IF___V53*/ meltfptr[52];; /*^compute */ /*_.IFCPP___V52*/ meltfptr[51] = /*_.PROGN___V55*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4461:/ clear"); /*clear *//*_#MELT_NEED_DBG__L20*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.PROGN___V55*/ meltfptr[53] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V52*/ meltfptr[51] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4462:/ quasiblock"); /*_.CURCBIND__V57*/ meltfptr[53] = (melt_multiple_nth ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), ( /*_#NIX__L19*/ meltfnum[0])));; /*^compute */ /*_#I__L22*/ meltfnum[17] = ((1) + ( /*_#NIX__L19*/ meltfnum[0]));; /*^compute */ /*_.NEXTCBIND__V58*/ meltfptr[57] = (melt_multiple_nth ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), ( /*_#I__L22*/ meltfnum[17])));; MELT_LOCATION ("warmelt-normal.melt:4464:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L23*/ meltfnum[16] = melt_is_instance_of ((melt_ptr_t) ( /*_.NEXTCBIND__V58*/ meltfptr[57]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:4464:/ cond"); /*cond */ if ( /*_#IS_A__L23*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4465:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NEXTCBIND__V58*/ meltfptr[57]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NEXTCBIND__V58*/ meltfptr[57]), 0, "BINDER"); /*_.BINDER__V60*/ meltfptr[59] = slot; }; ; } else { /*^cond.else */ /*_.BINDER__V60*/ meltfptr[59] = NULL;; } ; /*^compute */ /*_.NEXTPAIRSYMB__V59*/ meltfptr[58] = /*_.BINDER__V60*/ meltfptr[59];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4464:/ clear"); /*clear *//*_.BINDER__V60*/ meltfptr[59] = 0; } ; } else { /*^cond.else */ /*_.NEXTPAIRSYMB__V59*/ meltfptr[58] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4467:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L24*/ 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-normal.melt:4467:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L24*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[24] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4467:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[24]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4467; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list curcbind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCBIND__V57*/ meltfptr[53]; /*^apply.arg */ argtab[5].meltbp_cstring = " nextcbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NEXTCBIND__V58*/ meltfptr[57]; /*^apply.arg */ argtab[7].meltbp_cstring = " nextpairsymb="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NEXTPAIRSYMB__V59*/ meltfptr[58]; /*_.MELT_DEBUG_FUN__V63*/ meltfptr[62] = 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V62*/ meltfptr[61] = /*_.MELT_DEBUG_FUN__V63*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4467:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L25*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V63*/ meltfptr[62] = 0; } ; } else { /*^cond.else */ /*_.IF___V62*/ meltfptr[61] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4467:/ quasiblock"); /*_.PROGN___V64*/ meltfptr[62] = /*_.IF___V62*/ meltfptr[61];; /*^compute */ /*_.IFCPP___V61*/ meltfptr[59] = /*_.PROGN___V64*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4467:/ clear"); /*clear *//*_#MELT_NEED_DBG__L24*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.PROGN___V64*/ meltfptr[62] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V61*/ meltfptr[59] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4469:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L26*/ meltfnum[24] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCBIND__V57*/ meltfptr[53]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:4469:/ cond"); /*cond */ if ( /*_#IS_A__L26*/ meltfnum[24]) /*then */ { /*^cond.then */ /*_.IFELSE___V66*/ meltfptr[62] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4469:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curcbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4469) ? (4469) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V66*/ meltfptr[62] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V65*/ meltfptr[61] = /*_.IFELSE___V66*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4469:/ clear"); /*clear *//*_#IS_A__L26*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.IFELSE___V66*/ meltfptr[62] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V65*/ meltfptr[61] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4470:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.NEXTPAIRSYMB__V59*/ meltfptr[58]) /*then */ { /*^cond.then */ /*^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 *) & /*_.NLETREC__V21*/ meltfptr[20]; /*_.NRECLIST_FIND_LOCSYM__V69*/ meltfptr[68] = melt_apply ((meltclosure_ptr_t) (( /*!NRECLIST_FIND_LOCSYM */ meltfrout-> tabval[10])), (melt_ptr_t) ( /*_.NEXTPAIRSYMB__V59*/ meltfptr[58]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.NEXTPAIRLOC__V68*/ meltfptr[67] = /*_.NRECLIST_FIND_LOCSYM__V69*/ meltfptr[68];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4470:/ clear"); /*clear *//*_.NRECLIST_FIND_LOCSYM__V69*/ meltfptr[68] = 0; } ; } else { /*^cond.else */ /*_.NEXTPAIRLOC__V68*/ meltfptr[67] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4471:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L27*/ 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-normal.melt:4471:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L27*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L28*/ meltfnum[24] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4471:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L28*/ meltfnum[24]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4471; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list got nextpairloc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEXTPAIRLOC__V68*/ meltfptr[67]; /*_.MELT_DEBUG_FUN__V72*/ meltfptr[71] = 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___V71*/ meltfptr[70] = /*_.MELT_DEBUG_FUN__V72*/ meltfptr[71];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4471:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L28*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V72*/ meltfptr[71] = 0; } ; } else { /*^cond.else */ /*_.IF___V71*/ meltfptr[70] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4471:/ quasiblock"); /*_.PROGN___V73*/ meltfptr[71] = /*_.IF___V71*/ meltfptr[70];; /*^compute */ /*_.IFCPP___V70*/ meltfptr[68] = /*_.PROGN___V73*/ meltfptr[71];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4471:/ clear"); /*clear *//*_#MELT_NEED_DBG__L27*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V71*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.PROGN___V73*/ meltfptr[71] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V70*/ meltfptr[68] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4472:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCBIND__V57*/ meltfptr[53]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[8]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPAIRB_HEAD", melt_magic_discr ((melt_ptr_t) ( /*_.CURCBIND__V57*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CURCBIND__V57*/ meltfptr[53]), (4), ( /*_.CURNARG__V51*/ meltfptr[49]), "NPAIRB_HEAD"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPAIRB_TAIL", melt_magic_discr ((melt_ptr_t) ( /*_.CURCBIND__V57*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CURCBIND__V57*/ meltfptr[53]), (5), ( /*_.NEXTPAIRLOC__V68*/ meltfptr[67]), "NPAIRB_TAIL"); ; /*^touch */ meltgc_touch ( /*_.CURCBIND__V57*/ meltfptr[53]); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4475:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L29*/ meltfnum[24] = /*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-normal.melt:4475:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L29*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L30*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4475:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L30*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4475; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list updated curcbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCBIND__V57*/ meltfptr[53]; /*_.MELT_DEBUG_FUN__V76*/ meltfptr[75] = 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___V75*/ meltfptr[71] = /*_.MELT_DEBUG_FUN__V76*/ meltfptr[75];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4475:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L30*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V76*/ meltfptr[75] = 0; } ; } else { /*^cond.else */ /*_.IF___V75*/ meltfptr[71] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4475:/ quasiblock"); /*_.PROGN___V77*/ meltfptr[75] = /*_.IF___V75*/ meltfptr[71];; /*^compute */ /*_.IFCPP___V74*/ meltfptr[70] = /*_.PROGN___V77*/ meltfptr[75];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4475:/ clear"); /*clear *//*_#MELT_NEED_DBG__L29*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.IF___V75*/ meltfptr[71] = 0; /*^clear */ /*clear *//*_.PROGN___V77*/ meltfptr[75] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V74*/ meltfptr[70] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4476:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L31*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCBIND__V57*/ meltfptr[53]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:4476:/ cond"); /*cond */ if ( /*_#IS_A__L31*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V79*/ meltfptr[75] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4476:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curcbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4476) ? (4476) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V79*/ meltfptr[75] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V78*/ meltfptr[71] = /*_.IFELSE___V79*/ meltfptr[75];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4476:/ clear"); /*clear *//*_#IS_A__L31*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V79*/ meltfptr[75] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V78*/ meltfptr[71] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V67*/ meltfptr[62] = /*_.IFCPP___V78*/ meltfptr[71];; MELT_LOCATION ("warmelt-normal.melt:4470:/ clear"); /*clear *//*_.NEXTPAIRLOC__V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.IFCPP___V70*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.IFCPP___V74*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.IFCPP___V78*/ meltfptr[71] = 0; /*_.LET___V56*/ meltfptr[52] = /*_.LET___V67*/ meltfptr[62];; MELT_LOCATION ("warmelt-normal.melt:4462:/ clear"); /*clear *//*_.CURCBIND__V57*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_#I__L22*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.NEXTCBIND__V58*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_#IS_A__L23*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.NEXTPAIRSYMB__V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.IFCPP___V61*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.IFCPP___V65*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.LET___V67*/ meltfptr[62] = 0; if ( /*_#NIX__L19*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4458:/ clear"); /*clear *//*_.CURNARG__V51*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_#NIX__L19*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.LET___V56*/ meltfptr[52] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4478:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L32*/ meltfnum[24] = /*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-normal.melt:4478:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L32*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L33*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4478:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L33*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4478; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list firstpairbind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FIRSTPAIRBIND__V24*/ meltfptr[23]; /*^apply.arg */ argtab[5].meltbp_cstring = " lastpairbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.LASTPAIRBIND__V25*/ meltfptr[24]; /*^apply.arg */ argtab[7].meltbp_cstring = " conslibind="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CONSLIBIND__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V82*/ meltfptr[68] = 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V81*/ meltfptr[67] = /*_.MELT_DEBUG_FUN__V82*/ meltfptr[68];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4478:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L33*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V82*/ meltfptr[68] = 0; } ; } else { /*^cond.else */ /*_.IF___V81*/ meltfptr[67] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4478:/ quasiblock"); /*_.PROGN___V83*/ meltfptr[70] = /*_.IF___V81*/ meltfptr[67];; /*^compute */ /*_.IFCPP___V80*/ meltfptr[75] = /*_.PROGN___V83*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4478:/ clear"); /*clear *//*_#MELT_NEED_DBG__L32*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.IF___V81*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.PROGN___V83*/ meltfptr[70] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V80*/ meltfptr[75] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4481:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L34*/ meltfnum[17] = melt_is_instance_of ((melt_ptr_t) ( /*_.FIRSTPAIRBIND__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:4481:/ cond"); /*cond */ if ( /*_#IS_A__L34*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L35*/ meltfnum[16] = melt_is_instance_of ((melt_ptr_t) ( /*_.LASTPAIRBIND__V25*/ meltfptr[24]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_PAIR_BINDING */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:4481:/ cond"); /*cond */ if ( /*_#IS_A__L35*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4483:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.FIRSTPAIRBIND__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.FIRSTPAIRBIND__V24*/ meltfptr[23]), 0, "BINDER"); /*_.FIRSTPAIRSYMB__V84*/ meltfptr[71] = slot; }; ; } else { /*^cond.else */ /*_.FIRSTPAIRSYMB__V84*/ meltfptr[71] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4484:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.LASTPAIRBIND__V25*/ meltfptr[24]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.LASTPAIRBIND__V25*/ meltfptr[24]), 0, "BINDER"); /*_.LASTPAIRSYMB__V85*/ meltfptr[53] = slot; }; ; } else { /*^cond.else */ /*_.LASTPAIRSYMB__V85*/ meltfptr[53] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4485:/ 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 *) & /*_.NLETREC__V21*/ meltfptr[20]; /*_.FIRSTPAIRLOCSY__V86*/ meltfptr[57] = melt_apply ((meltclosure_ptr_t) (( /*!NRECLIST_FIND_LOCSYM */ meltfrout-> tabval[10])), (melt_ptr_t) ( /*_.FIRSTPAIRSYMB__V84*/ meltfptr[71]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4486:/ 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 *) & /*_.NLETREC__V21*/ meltfptr[20]; /*_.LASTPAIRLOCSY__V87*/ meltfptr[58] = melt_apply ((meltclosure_ptr_t) (( /*!NRECLIST_FIND_LOCSYM */ meltfrout-> tabval[10])), (melt_ptr_t) ( /*_.LASTPAIRSYMB__V85*/ meltfptr[53]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4488:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L36*/ 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-normal.melt:4488:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L36*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L37*/ meltfnum[24] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4488:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L37*/ meltfnum[24]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4488; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list firstpairlocsy="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FIRSTPAIRLOCSY__V86*/ meltfptr[57]; /*^apply.arg */ argtab[5].meltbp_cstring = " lastpairlocsy="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.LASTPAIRLOCSY__V87*/ meltfptr[58]; /*_.MELT_DEBUG_FUN__V90*/ meltfptr[62] = 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___V89*/ meltfptr[61] = /*_.MELT_DEBUG_FUN__V90*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4488:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L37*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V90*/ meltfptr[62] = 0; } ; } else { /*^cond.else */ /*_.IF___V89*/ meltfptr[61] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4488:/ quasiblock"); /*_.PROGN___V91*/ meltfptr[68] = /*_.IF___V89*/ meltfptr[61];; /*^compute */ /*_.IFCPP___V88*/ meltfptr[59] = /*_.PROGN___V91*/ meltfptr[68];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4488:/ clear"); /*clear *//*_#MELT_NEED_DBG__L36*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V89*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.PROGN___V91*/ meltfptr[68] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V88*/ meltfptr[59] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4489:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CONSLIBIND__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_LIST_BINDING */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLISTB_FIRST", melt_magic_discr ((melt_ptr_t) ( /*_.CONSLIBIND__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSLIBIND__V20*/ meltfptr[19]), (4), ( /*_.FIRSTPAIRLOCSY__V86*/ meltfptr[57]), "NLISTB_FIRST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLISTB_LAST", melt_magic_discr ((melt_ptr_t) ( /*_.CONSLIBIND__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSLIBIND__V20*/ meltfptr[19]), (5), ( /*_.LASTPAIRLOCSY__V87*/ meltfptr[58]), "NLISTB_LAST"); ; /*^touch */ meltgc_touch ( /*_.CONSLIBIND__V20*/ meltfptr[19]); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4492:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L38*/ meltfnum[24] = /*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-normal.melt:4492:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L38*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L39*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4492:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L39*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4492; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list updated conslibind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CONSLIBIND__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V94*/ meltfptr[62] = 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___V93*/ meltfptr[70] = /*_.MELT_DEBUG_FUN__V94*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4492:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L39*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V94*/ meltfptr[62] = 0; } ; } else { /*^cond.else */ /*_.IF___V93*/ meltfptr[70] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4492:/ quasiblock"); /*_.PROGN___V95*/ meltfptr[61] = /*_.IF___V93*/ meltfptr[70];; /*^compute */ /*_.IFCPP___V92*/ meltfptr[67] = /*_.PROGN___V95*/ meltfptr[61];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4492:/ clear"); /*clear *//*_#MELT_NEED_DBG__L38*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.IF___V93*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.PROGN___V95*/ meltfptr[61] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V92*/ meltfptr[67] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4493:/ locexp"); /*void */ (void) 0; } ; MELT_LOCATION ("warmelt-normal.melt:4483:/ clear"); /*clear *//*_.FIRSTPAIRSYMB__V84*/ meltfptr[71] = 0; /*^clear */ /*clear *//*_.LASTPAIRSYMB__V85*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.FIRSTPAIRLOCSY__V86*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.LASTPAIRLOCSY__V87*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.IFCPP___V88*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.IFCPP___V92*/ meltfptr[67] = 0; /*epilog */ } ; } /*noelse */ ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4481:/ clear"); /*clear *//*_#IS_A__L35*/ meltfnum[16] = 0; } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4495:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L40*/ 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-normal.melt:4495:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L40*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L41*/ meltfnum[24] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4495:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L41*/ meltfnum[24]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4495; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list appending nbinds"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDS__V42*/ meltfptr[41]; /*_.MELT_DEBUG_FUN__V98*/ meltfptr[70] = 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___V97*/ meltfptr[62] = /*_.MELT_DEBUG_FUN__V98*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4495:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L41*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V98*/ meltfptr[70] = 0; } ; } else { /*^cond.else */ /*_.IF___V97*/ meltfptr[62] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4495:/ quasiblock"); /*_.PROGN___V99*/ meltfptr[61] = /*_.IF___V97*/ meltfptr[62];; /*^compute */ /*_.IFCPP___V96*/ meltfptr[68] = /*_.PROGN___V99*/ meltfptr[61];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4495:/ clear"); /*clear *//*_#MELT_NEED_DBG__L40*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V97*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.PROGN___V99*/ meltfptr[61] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V96*/ meltfptr[68] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4496:/ 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 *) & /*_.NBINDS__V42*/ meltfptr[41]; /*_.LIST_APPEND2LIST__V100*/ meltfptr[71] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[11])), (melt_ptr_t) ( /*_.NRECBINDS__V22*/ meltfptr[21]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4497:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L42*/ meltfnum[16] = /*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-normal.melt:4497:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L42*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L43*/ meltfnum[24] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4497:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L43*/ meltfnum[24]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4497; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_list ended updated nrecbinds"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NRECBINDS__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V103*/ meltfptr[58] = 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___V102*/ meltfptr[57] = /*_.MELT_DEBUG_FUN__V103*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4497:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L43*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V103*/ meltfptr[58] = 0; } ; } else { /*^cond.else */ /*_.IF___V102*/ meltfptr[57] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4497:/ quasiblock"); /*_.PROGN___V104*/ meltfptr[59] = /*_.IF___V102*/ meltfptr[57];; /*^compute */ /*_.IFCPP___V101*/ meltfptr[53] = /*_.PROGN___V104*/ meltfptr[59];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4497:/ clear"); /*clear *//*_#MELT_NEED_DBG__L42*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V102*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.PROGN___V104*/ meltfptr[59] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V101*/ meltfptr[53] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4451:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MULTI___V40*/ meltfptr[38] = /*_.IFCPP___V101*/ meltfptr[53];; MELT_LOCATION ("warmelt-normal.melt:4451:/ clear"); /*clear *//*_.IFCPP___V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.IFCPP___V47*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.IFCPP___V49*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.IFCPP___V80*/ meltfptr[75] = 0; /*^clear */ /*clear *//*_#IS_A__L34*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V96*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V100*/ meltfptr[71] = 0; /*^clear */ /*clear *//*_.IFCPP___V101*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.NBINDS__V42*/ meltfptr[41] = 0; /*_.LET___V16*/ meltfptr[14] = /*_.MULTI___V40*/ meltfptr[38];; MELT_LOCATION ("warmelt-normal.melt:4435:/ clear"); /*clear *//*_.LOCA_LOCATION__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.LOC__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SARGS__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CONSLIBIND__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NLETREC__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NRECBINDS__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NLOCSYMS__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.FIRSTPAIRBIND__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.LASTPAIRBIND__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V32*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V36*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.MULTI___V40*/ meltfptr[38] = 0; MELT_LOCATION ("warmelt-normal.melt:4429:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:4429:/ 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___V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMLETREC_LIST", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_106_warmelt_normal_NORMLETREC_LIST_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_normal_NORMLETREC_LIST */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_107_warmelt_normal_PREPCONS_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_) { long current_blocklevel_signals_meltrout_107_warmelt_normal_PREPCONS_INSTANCE_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_normal_PREPCONS_INSTANCE_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 29 melt_ptr_t mcfr_varptr[29]; #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_normal_PREPCONS_INSTANCE_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 29; 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 = 29; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("PREPCONS_INSTANCE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4503:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SYMB__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4504:/ 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-normal.melt:4504:/ 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-normal.melt:4504:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4504; /*^apply.arg */ argtab[3].meltbp_cstring = "prepcons_instance recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " symb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 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___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4504:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4504:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4504:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ 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[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4505:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_INSTANCE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4505:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4505:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4505) ? (4505) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4505:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4506:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4507:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.LOC__V13*/ meltfptr[12] = slot; }; ; } else { /*^cond.else */ /*_.LOC__V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4508:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_INSTANCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 2, "SMINS_CLASS"); /*_.CLA__V14*/ meltfptr[13] = slot; }; ; } else { /*^cond.else */ /*_.CLA__V14*/ meltfptr[13] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4509:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_INSTANCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 3, "SMINS_CLABIND"); /*_.CLABIND__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.CLABIND__V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4510:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CLABIND__V15*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout-> tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:4510:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CLABIND__V15*/ meltfptr[14]), 0, "BINDER"); /*_.BINDER__V17*/ meltfptr[16] = slot; }; ; /*_.SCLASYM__V16*/ meltfptr[15] = /*_.BINDER__V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4510:/ clear"); /*clear *//*_.BINDER__V17*/ meltfptr[16] = 0; } ; } else { /*^cond.else */ /*_.SCLASYM__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4511:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CLA__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!CLASS_CLASS */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CLA__V14*/ meltfptr[13]), 6, "CLASS_FIELDS"); /*_.CLASS_FIELDS__V18*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.CLASS_FIELDS__V18*/ meltfptr[16] = NULL;; } ; /*^compute */ /*_#NBCLAFLD__L5*/ meltfnum[1] = (melt_multiple_length ((melt_ptr_t) ( /*_.CLASS_FIELDS__V18*/ meltfptr[16])));; /*^compute */ /*_.TUPSLOT__V19*/ meltfptr[18] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[5])), ( /*_#NBCLAFLD__L5*/ meltfnum[1])));; MELT_LOCATION ("warmelt-normal.melt:4513:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4515:/ cond"); /*cond */ if ( /*_.LOC__V13*/ meltfptr[12]) /*then */ { /*^cond.then */ /*_.OR___V20*/ meltfptr[19] = /*_.LOC__V13*/ meltfptr[12];; } else { MELT_LOCATION ("warmelt-normal.melt:4515:/ cond.else"); /*_.OR___V20*/ meltfptr[19] = /*_.SLOC__V5*/ meltfptr[4];; } ; MELT_LOCATION ("warmelt-normal.melt:4513:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_INSTANCE_BINDING */ meltfrout->tabval[6])), (6), "CLASS_NORMAL_CONSTRUCTED_INSTANCE_BINDING"); /*_.INST__V22*/ meltfptr[21] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[21]), (0), ( /*_.SYMB__V3*/ meltfptr[2]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[21]), (1), ( /*_.OR___V20*/ meltfptr[19]), "NCONSB_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[21]), (2), (( /*nil */ NULL)), "NCONSB_DISCR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NINSTB_SLOTS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[21]), (4), ( /*_.TUPSLOT__V19*/ meltfptr[18]), "NINSTB_SLOTS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NINSTB_CLABIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[21]), (5), ( /*_.CLABIND__V15*/ meltfptr[14]), "NINSTB_CLABIND"); ; /*_.CONSINST__V21*/ meltfptr[20] = /*_.INST__V22*/ meltfptr[21];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4521:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[5] = melt_is_instance_of ((melt_ptr_t) ( /*_.CLA__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!CLASS_CLASS */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:4521:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[5]) /*then */ { /*^cond.then */ /*_.IFELSE___V24*/ meltfptr[23] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4521:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("prepcons_instance check class"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4521) ? (4521) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.IFELSE___V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4521:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4522:/ 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-normal.melt:4522:/ 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-normal.melt:4522:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4522; /*^apply.arg */ argtab[3].meltbp_cstring = "prepcons_instance gives consinst"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CONSINST__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 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___V26*/ meltfptr[25] = /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4522:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_.IF___V26*/ meltfptr[25] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4522:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_.IF___V26*/ meltfptr[25];; /*^compute */ /*_.IFCPP___V25*/ meltfptr[23] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4522:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.IF___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.PROGN___V28*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V25*/ meltfptr[23] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4523:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.CONSINST__V21*/ meltfptr[20];; { MELT_LOCATION ("warmelt-normal.melt:4523:/ 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[7] = /*_.RETURN___V29*/ meltfptr[25];; MELT_LOCATION ("warmelt-normal.melt:4506:/ clear"); /*clear *//*_.LOC__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.CLA__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.CLABIND__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.SCLASYM__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.CLASS_FIELDS__V18*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_#NBCLAFLD__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.TUPSLOT__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.OR___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.CONSINST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.IFCPP___V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.RETURN___V29*/ meltfptr[25] = 0; MELT_LOCATION ("warmelt-normal.melt:4503:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[7];; { MELT_LOCATION ("warmelt-normal.melt:4503:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[7] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("PREPCONS_INSTANCE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_107_warmelt_normal_PREPCONS_INSTANCE_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_normal_PREPCONS_INSTANCE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_108_warmelt_normal_NORMLETREC_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_) { long current_blocklevel_signals_meltrout_108_warmelt_normal_NORMLETREC_INSTANCE_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_normal_NORMLETREC_INSTANCE_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 58 melt_ptr_t mcfr_varptr[58]; #define MELTFRAM_NBVARNUM 18 long mcfr_varnum[18]; /*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_normal_NORMLETREC_INSTANCE_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 58; 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 = 58; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMLETREC_INSTANCE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4530:/ getarg"); /*_.CEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SYMB__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SYMB__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CBIND__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V5*/ meltfptr[4])) != NULL); /*getarg#4 */ /*^getarg */ if (meltxargdescr_[3] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V6*/ meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V6*/ meltfptr[5])) != NULL); /*getarg#5 */ /*^getarg */ if (meltxargdescr_[4] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V7*/ meltfptr[6] = (meltxargtab_[4].meltbp_aptr) ? (*(meltxargtab_[4].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V7*/ meltfptr[6])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4531:/ 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-normal.melt:4531:/ 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-normal.melt:4531:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4531; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_instance cexpr="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CEXPR__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " symb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " cbind="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CBIND__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V9*/ meltfptr[8] = /*_.MELT_DEBUG_FUN__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4531:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4531:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[9] = /*_.IF___V9*/ meltfptr[8];; /*^compute */ /*_.IFCPP___V8*/ meltfptr[7] = /*_.PROGN___V11*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4531:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ 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[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4532:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V13*/ meltfptr[9] = slot; }; ; /*^cond */ /*cond */ if ( /*_.LOCA_LOCATION__V13*/ meltfptr[9]) /*then */ { /*^cond.then */ /*_.LOC__V14*/ meltfptr[13] = /*_.LOCA_LOCATION__V13*/ meltfptr[9];; } else { MELT_LOCATION ("warmelt-normal.melt:4532:/ cond.else"); /*_.LOC__V14*/ meltfptr[13] = /*_.SLOC__V7*/ meltfptr[6];; } ; MELT_LOCATION ("warmelt-normal.melt:4533:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), (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) ( /*_.CBIND__V4*/ meltfptr[3]), 4, "NINSTB_SLOTS"); /*_.BSLOTS__V15*/ meltfptr[14] = slot; }; ; } else { /*^cond.else */ /*_.BSLOTS__V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4534:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CBIND__V4*/ meltfptr[3]), 3, "NCONSB_NLETREC"); /*_.NLETREC__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.NLETREC__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4535:/ 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]), 3, "NLETREC_FILL_BINDINGS"); /*_.NRECBINDS__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.NRECBINDS__V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4536:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), 2, "SMINS_CLASS"); /*_.SCLASS__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4537:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), 3, "SMINS_CLABIND"); /*_.SCLABIND__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4538:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CEXPR__V2*/ meltfptr[1]), 4, "SMINS_FIELDS"); /*_.SFIELDS__V20*/ meltfptr[19] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4539:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SCLABIND__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:4539:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SCLABIND__V19*/ meltfptr[18]), 0, "BINDER"); /*_.BINDER__V22*/ meltfptr[21] = slot; }; ; /*_.SCLASYM__V21*/ meltfptr[20] = /*_.BINDER__V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4539:/ clear"); /*clear *//*_.BINDER__V22*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*_.SCLASYM__V21*/ meltfptr[20] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4540:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SCLASYM__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[5])));; MELT_LOCATION ("warmelt-normal.melt:4540:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4541:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V5*/ meltfptr[4]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V6*/ meltfptr[5]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V7*/ meltfptr[6]; /*_.NORMAL_EXP__V24*/ meltfptr[23] = meltgc_send ((melt_ptr_t) ( /*_.SCLASYM__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout-> tabval[6])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.CLADATA__V23*/ meltfptr[21] = /*_.NORMAL_EXP__V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4540:/ clear"); /*clear *//*_.NORMAL_EXP__V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*_.CLADATA__V23*/ meltfptr[21] = NULL;; } ; /*^compute */ /*_.BINDLIST__V25*/ meltfptr[23] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[7]))));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4544:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[4] = /*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-normal.melt:4544:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4544:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4544; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_instance nletrec"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NLETREC__V16*/ meltfptr[15]; /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = 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___V27*/ meltfptr[26] = /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4544:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4544:/ quasiblock"); /*_.PROGN___V29*/ meltfptr[27] = /*_.IF___V27*/ meltfptr[26];; /*^compute */ /*_.IFCPP___V26*/ meltfptr[25] = /*_.PROGN___V29*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4544:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.PROGN___V29*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4545:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[5] = melt_is_instance_of ((melt_ptr_t) ( /*_.CLADATA__V23*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_NREP */ meltfrout-> tabval[8])));; /*^compute */ /*_#NOT__L8*/ meltfnum[4] = (!( /*_#IS_A__L7*/ meltfnum[5]));; MELT_LOCATION ("warmelt-normal.melt:4545:/ cond"); /*cond */ if ( /*_#NOT__L8*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4547:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SCLASS__V18*/ meltfptr[17]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V31*/ meltfptr[27] = slot; }; ; { /*^locexp */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V7*/ meltfptr[6]), ("invalid class in (INSTANCE ..)"), (melt_ptr_t) ( /*_.NAMED_NAME__V31*/ meltfptr[27])); } ; MELT_LOCATION ("warmelt-normal.melt:4548:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = ( /*nil */ NULL);; { MELT_LOCATION ("warmelt-normal.melt:4548:/ 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-normal.melt:4546:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[32] = /*_.RETURN___V32*/ meltfptr[31];; /*^compute */ /*_.IF___V30*/ meltfptr[26] = /*_.PROGN___V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4545:/ clear"); /*clear *//*_.NAMED_NAME__V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.RETURN___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V30*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4549:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4552:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V36*/ meltfptr[32] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_15 */ meltfrout-> tabval[15])), (4)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V36*/ meltfptr[32])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V36*/ meltfptr[32]))); ((meltclosure_ptr_t) /*_.LAMBDA___V36*/ meltfptr[32])->tabval[0] = (melt_ptr_t) ( /*_.SLOC__V7*/ meltfptr[6]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V36*/ meltfptr[32])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V36*/ meltfptr[32]))); ((meltclosure_ptr_t) /*_.LAMBDA___V36*/ meltfptr[32])->tabval[1] = (melt_ptr_t) ( /*_.ENV__V5*/ meltfptr[4]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V36*/ meltfptr[32])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V36*/ meltfptr[32]))); ((meltclosure_ptr_t) /*_.LAMBDA___V36*/ meltfptr[32])->tabval[2] = (melt_ptr_t) ( /*_.NCX__V6*/ meltfptr[5]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V36*/ meltfptr[32])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 3 >= 0 && 3 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V36*/ meltfptr[32]))); ((meltclosure_ptr_t) /*_.LAMBDA___V36*/ meltfptr[32])->tabval[3] = (melt_ptr_t) ( /*_.BINDLIST__V25*/ meltfptr[23]); ; /*_.LAMBDA___V35*/ meltfptr[31] = /*_.LAMBDA___V36*/ meltfptr[32];; MELT_LOCATION ("warmelt-normal.melt:4550:/ 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___V35*/ meltfptr[31]; /*_.NFIELDS__V37*/ meltfptr[36] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.SFIELDS__V20*/ meltfptr[19]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4570:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[8] = /*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-normal.melt:4570:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4570:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4570; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_instance nfields"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NFIELDS__V37*/ meltfptr[36]; /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 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___V39*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4570:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4570:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_.IF___V39*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[37] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4570:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.PROGN___V41*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[37] = ( /*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) /*_.NFIELDS__V37*/ meltfptr[36]); for ( /*_#FLDIX__L11*/ meltfnum[9] = 0; ( /*_#FLDIX__L11*/ meltfnum[9] >= 0) && ( /*_#FLDIX__L11*/ meltfnum[9] < meltcit1__EACHTUP_ln); /*_#FLDIX__L11*/ meltfnum[9]++) { /*_.CURNFIELDASS__V42*/ meltfptr[38] = melt_multiple_nth ((melt_ptr_t) ( /*_.NFIELDS__V37*/ meltfptr[36]), /*_#FLDIX__L11*/ meltfnum[9]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4574:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[8] = /*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-normal.melt:4574:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4574:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4574; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_instance curnfieldass"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURNFIELDASS__V42*/ meltfptr[38]; /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 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___V44*/ meltfptr[43] = /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4574:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 0; } ; } else { /*^cond.else */ /*_.IF___V44*/ meltfptr[43] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4574:/ quasiblock"); /*_.PROGN___V46*/ meltfptr[44] = /*_.IF___V44*/ meltfptr[43];; /*^compute */ /*_.IFCPP___V43*/ meltfptr[39] = /*_.PROGN___V46*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4574:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.PROGN___V46*/ meltfptr[44] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V43*/ meltfptr[39] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4575:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURNFIELDASS__V42*/ meltfptr[38]), (melt_ptr_t) (( /*!CLASS_NREP_FIELDASSIGN */ meltfrout->tabval[16]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURNFIELDASS__V42*/ meltfptr[38]), 1, "NFLA_FIELD"); /*_.CURFIELD__V47*/ meltfptr[43] = slot; }; ; } else { /*^cond.else */ /*_.CURFIELD__V47*/ meltfptr[43] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4576:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURNFIELDASS__V42*/ meltfptr[38]), (melt_ptr_t) (( /*!CLASS_NREP_FIELDASSIGN */ meltfrout->tabval[16]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURNFIELDASS__V42*/ meltfptr[38]), 2, "NFLA_VAL"); /*_.CURFVAL__V48*/ meltfptr[44] = slot; }; ; } else { /*^cond.else */ /*_.CURFVAL__V48*/ meltfptr[44] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4577:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURNFIELDASS__V42*/ meltfptr[38]), (melt_ptr_t) (( /*!CLASS_NREP */ meltfrout-> tabval[8]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURNFIELDASS__V42*/ meltfptr[38]), 0, "NREP_LOC"); /*_.CURFLOC__V49*/ meltfptr[48] = slot; }; ; } else { /*^cond.else */ /*_.CURFLOC__V49*/ meltfptr[48] = NULL;; } ; /*^compute */ /*_#CURFOFF__L14*/ meltfnum[12] = (melt_get_int ((melt_ptr_t) ( /*_.CURFIELD__V47*/ meltfptr[43])));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4580:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L15*/ meltfnum[8] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURFIELD__V47*/ meltfptr[43]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout->tabval[17])));; MELT_LOCATION ("warmelt-normal.melt:4580:/ cond"); /*cond */ if ( /*_#IS_A__L15*/ meltfnum[8]) /*then */ { /*^cond.then */ /*_.IFELSE___V51*/ meltfptr[50] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4580:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curfield "), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4580) ? (4580) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V51*/ meltfptr[50] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V50*/ meltfptr[49] = /*_.IFELSE___V51*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4580:/ clear"); /*clear *//*_#IS_A__L15*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFELSE___V51*/ meltfptr[50] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V50*/ meltfptr[49] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4581:/ 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 *) & /*_.ENV__V5*/ meltfptr[4]; /*_.FCTYP__V52*/ meltfptr[50] = meltgc_send ((melt_ptr_t) ( /*_.CURFVAL__V48*/ meltfptr[44]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[18])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4583:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#__L16*/ meltfnum[8] = (( /*_.FCTYP__V52*/ meltfptr[50]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[19])));; MELT_LOCATION ("warmelt-normal.melt:4583:/ cond"); /*cond */ if ( /*_#__L16*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4587:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURFIELD__V47*/ meltfptr[43]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[20]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURFIELD__V47*/ meltfptr[43]), 1, "NAMED_NAME"); /*_.NAMED_NAME__V53*/ meltfptr[52] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V53*/ meltfptr[52] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:4584:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.CURFLOC__V49*/ meltfptr[48]), ("invalid field type in (LETREC .. (INSTANCE ..); expecting a :value"), (melt_ptr_t) ( /*_.NAMED_NAME__V53*/ meltfptr[52])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4583:/ clear"); /*clear *//*_.NAMED_NAME__V53*/ meltfptr[52] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:4581:/ clear"); /*clear *//*_.FCTYP__V52*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_#__L16*/ meltfnum[8] = 0; { MELT_LOCATION ("warmelt-normal.melt:4588:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.BSLOTS__V15*/ meltfptr[14]), ( /*_#CURFOFF__L14*/ meltfnum[12]), (melt_ptr_t) ( /*_.CURFVAL__V48*/ meltfptr[44])); } ; MELT_LOCATION ("warmelt-normal.melt:4575:/ clear"); /*clear *//*_.CURFIELD__V47*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.CURFVAL__V48*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.CURFLOC__V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_#CURFOFF__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V50*/ meltfptr[49] = 0; if ( /*_#FLDIX__L11*/ meltfnum[9] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4571:/ clear"); /*clear *//*_.CURNFIELDASS__V42*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_#FLDIX__L11*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFCPP___V43*/ meltfptr[39] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normal.melt:4590:/ 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 *) & /*_.BINDLIST__V25*/ meltfptr[23]; /*_.LIST_APPEND2LIST__V54*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[21])), (melt_ptr_t) ( /*_.NRECBINDS__V17*/ meltfptr[16]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4591:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ meltfnum[8] = /*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-normal.melt:4591:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4591:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4591; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_instance ended updated nrecbinds"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NRECBINDS__V17*/ meltfptr[16]; /*_.MELT_DEBUG_FUN__V57*/ meltfptr[44] = 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___V56*/ meltfptr[43] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4591:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V57*/ meltfptr[44] = 0; } ; } else { /*^cond.else */ /*_.IF___V56*/ meltfptr[43] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4591:/ quasiblock"); /*_.PROGN___V58*/ meltfptr[48] = /*_.IF___V56*/ meltfptr[43];; /*^compute */ /*_.IFCPP___V55*/ meltfptr[50] = /*_.PROGN___V58*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4591:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V56*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.PROGN___V58*/ meltfptr[48] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V55*/ meltfptr[50] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V34*/ meltfptr[27] = /*_.IFCPP___V55*/ meltfptr[50];; MELT_LOCATION ("warmelt-normal.melt:4549:/ clear"); /*clear *//*_.LAMBDA___V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.NFIELDS__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V54*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.IFCPP___V55*/ meltfptr[50] = 0; /*_.LET___V12*/ meltfptr[8] = /*_.LET___V34*/ meltfptr[27];; MELT_LOCATION ("warmelt-normal.melt:4532:/ clear"); /*clear *//*_.LOCA_LOCATION__V13*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.LOC__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.BSLOTS__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NLETREC__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NRECBINDS__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SCLASS__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SCLABIND__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.SFIELDS__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.SCLASYM__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.CLADATA__V23*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.BINDLIST__V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_#IS_A__L7*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_#NOT__L8*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V30*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.LET___V34*/ meltfptr[27] = 0; MELT_LOCATION ("warmelt-normal.melt:4530:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[8];; { MELT_LOCATION ("warmelt-normal.melt:4530:/ 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___V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LET___V12*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMLETREC_INSTANCE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_108_warmelt_normal_NORMLETREC_INSTANCE_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_normal_NORMLETREC_INSTANCE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_109_warmelt_normal_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_) { long current_blocklevel_signals_meltrout_109_warmelt_normal_LAMBDA___42___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_normal_LAMBDA___42___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 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_109_warmelt_normal_LAMBDA___42___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 ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4552:/ getarg"); /*_.CURFLDA__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#CURK__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4553:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURFLDA__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELDASSIGN */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4553:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4553:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curflda"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4553) ? (4553) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4553:/ 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-normal.melt:4554:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURFLDA__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.CURFLOC__V6*/ meltfptr[5] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4555:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURFLDA__V2*/ meltfptr[1]), 2, "SFLA_FIELD"); /*_.CURFIELD__V7*/ meltfptr[6] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4556:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURFLDA__V2*/ meltfptr[1]), 3, "SFLA_EXPR"); /*_.CUREXP__V8*/ meltfptr[7] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4557:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L3*/ meltfnum[1] = (( /*_.CURFLOC__V6*/ meltfptr[5]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:4557:/ cond"); /*cond */ if ( /*_#NULL__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^compute */ /*_.CURFLOC__V6*/ meltfptr[5] = /*_.SETQ___V10*/ meltfptr[9] = ( /*~SLOC */ meltfclos->tabval[0]);; /*_.IF___V9*/ meltfptr[8] = /*_.SETQ___V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4557:/ clear"); /*clear *//*_.SETQ___V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[8] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4560:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4558:/ quasiblock"); /*^multimsend */ /*multimsend */ { union meltparam_un argtab[3]; union meltparam_un restab[1]; memset (&argtab, 0, sizeof (argtab)); memset (&restab, 0, sizeof (restab)); /*^multimsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~ENV */ meltfclos->tabval[1]); /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & ( /*~NCX */ meltfclos->tabval[2]); /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.CURFLOC__V6*/ meltfptr[5]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V13*/ meltfptr[12]; /*^multimsend.send */ /*_.NEXP__V12*/ meltfptr[11] = meltgc_send ((melt_ptr_t) ( /*_.CUREXP__V8*/ meltfptr[7]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[1]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4561:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ 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-normal.melt:4561:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4561:/ 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[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4561; /*^apply.arg */ argtab[3].meltbp_cstring = "normletrec_instance nexp"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEXP__V12*/ meltfptr[11]; /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = 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___V15*/ meltfptr[14] = /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4561:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4561:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[15] = /*_.IF___V15*/ meltfptr[14];; /*^compute */ /*_.IFCPP___V14*/ meltfptr[13] = /*_.PROGN___V17*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4561:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4562:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L6*/ meltfnum[4] = (( /*_.NBIND__V13*/ meltfptr[12]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBIND__V13*/ meltfptr[12])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:4562:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V19*/ meltfptr[15] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4562:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4562) ? (4562) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V19*/ meltfptr[15] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V18*/ meltfptr[14] = /*_.IFELSE___V19*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4562:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V19*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4563:/ 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 *) & /*_.NBIND__V13*/ meltfptr[12]; /*_.LIST_APPEND2LIST__V20*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[3])), (melt_ptr_t) (( /*~BINDLIST */ meltfclos->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4564:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_FIELDASSIGN */ meltfrout->tabval[4])), (3), "CLASS_NREP_FIELDASSIGN"); /*_.INST__V22*/ meltfptr[21] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[21]), (0), ( /*_.CURFLOC__V6*/ meltfptr[5]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NFLA_FIELD", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[21]), (1), ( /*_.CURFIELD__V7*/ meltfptr[6]), "NFLA_FIELD"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NFLA_VAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[21]), (2), ( /*_.NEXP__V12*/ meltfptr[11]), "NFLA_VAL"); ; /*_.INST___V21*/ meltfptr[20] = /*_.INST__V22*/ meltfptr[21];; MELT_LOCATION ("warmelt-normal.melt:4558:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MULTI___V11*/ meltfptr[9] = /*_.INST___V21*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:4558:/ clear"); /*clear *//*_.IFCPP___V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V20*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.INST___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NBIND__V13*/ meltfptr[12] = 0; /*_.LET___V5*/ meltfptr[3] = /*_.MULTI___V11*/ meltfptr[9];; MELT_LOCATION ("warmelt-normal.melt:4554:/ clear"); /*clear *//*_.CURFLOC__V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.CURFIELD__V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.CUREXP__V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_#NULL__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.MULTI___V11*/ meltfptr[9] = 0; MELT_LOCATION ("warmelt-normal.melt:4552:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V5*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normal.melt:4552:/ 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_109_warmelt_normal_LAMBDA___42___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_normal_LAMBDA___42__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_110_warmelt_normal_NORMEXP_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_) { long current_blocklevel_signals_meltrout_110_warmelt_normal_NORMEXP_LETREC_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_normal_NORMEXP_LETREC_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 196 melt_ptr_t mcfr_varptr[196]; #define MELTFRAM_NBVARNUM 72 long mcfr_varnum[72]; /*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_normal_NORMEXP_LETREC_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 196; 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 = 196; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_LETREC", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4599:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4600:/ 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_SOURCE_LETREC */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4600:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4600:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check letrec recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4600) ? (4600) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4600:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4601:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4601:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4601:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4601) ? (4601) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4601:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4602:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:4602:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4602:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4602) ? (4602) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4602:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4603:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ 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-normal.melt:4603:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4603:/ 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[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4603; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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-normal.melt:4603:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_.IF___V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4603:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4603:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ 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[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4604:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4605:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 2, "SLET_BINDINGS"); /*_.SBINDS__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4606:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 3, "SLET_BODY"); /*_.SBODY__V19*/ meltfptr[18] = slot; }; ; /*_#NBBIND__L6*/ meltfnum[4] = (melt_multiple_length ((melt_ptr_t) ( /*_.SBINDS__V18*/ meltfptr[17])));; /*^compute */ /*_.BINDLIST__V20*/ meltfptr[19] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[4]))));; /*^compute */ /*_.CONSBINDLIST__V21*/ meltfptr[20] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[4]))));; MELT_LOCATION ("warmelt-normal.melt:4610:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NEWENV__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; /*_#I__L7*/ meltfnum[0] = (( /*_#NBBIND__L6*/ meltfnum[4]) * (2));; /*^compute */ /*_#MAPLEN__L8*/ meltfnum[7] = ((5) + ( /*_#I__L7*/ meltfnum[0]));; /*^compute */ /*_.SYMBEXPRMAP__V23*/ meltfptr[22] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[6])), ( /*_#MAPLEN__L8*/ meltfnum[7])));; /*^compute */ /*_.SYMBINDMAP__V24*/ meltfptr[23] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[6])), ( /*_#MAPLEN__L8*/ meltfnum[7])));; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SBINDS__V18*/ meltfptr[17]); for ( /*_#SBIX__L9*/ meltfnum[8] = 0; ( /*_#SBIX__L9*/ meltfnum[8] >= 0) && ( /*_#SBIX__L9*/ meltfnum[8] < meltcit1__EACHTUP_ln); /*_#SBIX__L9*/ meltfnum[8]++) { /*_.CURSBIND__V25*/ meltfptr[24] = melt_multiple_nth ((melt_ptr_t) ( /*_.SBINDS__V18*/ meltfptr[17]), /*_#SBIX__L9*/ meltfnum[8]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4619:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ meltfnum[9] = /*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-normal.melt:4619:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4619:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4619; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec cursbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURSBIND__V25*/ meltfptr[24]; /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V27*/ meltfptr[26] = /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4619:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4619:/ quasiblock"); /*_.PROGN___V29*/ meltfptr[27] = /*_.IF___V27*/ meltfptr[26];; /*^compute */ /*_.IFCPP___V26*/ meltfptr[25] = /*_.PROGN___V29*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4619:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.PROGN___V29*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4620:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L12*/ meltfnum[10] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURSBIND__V25*/ meltfptr[24]), (melt_ptr_t) (( /*!CLASS_SOURCE_LETREC_BINDING */ meltfrout->tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:4620:/ cond"); /*cond */ if ( /*_#IS_A__L12*/ meltfnum[10]) /*then */ { /*^cond.then */ /*_.IFELSE___V31*/ meltfptr[27] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4620:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cursbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4620) ? (4620) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V31*/ meltfptr[27] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V30*/ meltfptr[26] = /*_.IFELSE___V31*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4620:/ clear"); /*clear *//*_#IS_A__L12*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFELSE___V31*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4621:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURSBIND__V25*/ meltfptr[24]), 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V33*/ meltfptr[32] = slot; }; ; /*^cond */ /*cond */ if ( /*_.LOCA_LOCATION__V33*/ meltfptr[32]) /*then */ { /*^cond.then */ /*_.LOCB__V34*/ meltfptr[33] = /*_.LOCA_LOCATION__V33*/ meltfptr[32];; } else { MELT_LOCATION ("warmelt-normal.melt:4621:/ cond.else"); /*^block */ /*anyblock */ { /*^cond */ /*cond */ if ( /*_.SLOC__V17*/ meltfptr[13]) /*then */ { /*^cond.then */ /*_.OR___V35*/ meltfptr[34] = /*_.SLOC__V17*/ meltfptr[13];; } else { MELT_LOCATION ("warmelt-normal.melt:4621:/ cond.else"); /*_.OR___V35*/ meltfptr[34] = /*_.PSLOC__V5*/ meltfptr[4];; } ; /*^compute */ /*_.LOCB__V34*/ meltfptr[33] = /*_.OR___V35*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4621:/ clear"); /*clear *//*_.OR___V35*/ meltfptr[34] = 0; } ; } ; MELT_LOCATION ("warmelt-normal.melt:4622:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURSBIND__V25*/ meltfptr[24]), 3, "SLETB_BINDER"); /*_.CURSYMB__V36*/ meltfptr[34] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4623:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURSBIND__V25*/ meltfptr[24]), 4, "SLETB_EXPR"); /*_.CUREXPR__V37*/ meltfptr[36] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4625:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ meltfnum[9] = /*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-normal.melt:4625:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4625:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4625; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec curexpr="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CUREXPR__V37*/ meltfptr[36]; /*^apply.arg */ argtab[5].meltbp_cstring = " cursymb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CURSYMB__V36*/ meltfptr[34]; /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (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___V39*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4625:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4625:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_.IF___V39*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[37] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4625:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.PROGN___V41*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[37] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4626:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L15*/ meltfnum[10] = melt_is_instance_of ((melt_ptr_t) ( /*_.CUREXPR__V37*/ meltfptr[36]), (melt_ptr_t) (( /*!CLASS_SOURCE */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:4626:/ cond"); /*cond */ if ( /*_#IS_A__L15*/ meltfnum[10]) /*then */ { /*^cond.then */ /*_.IFELSE___V43*/ meltfptr[39] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4626:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curexpr"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4626) ? (4626) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V43*/ meltfptr[39] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V42*/ meltfptr[38] = /*_.IFELSE___V43*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4626:/ clear"); /*clear *//*_#IS_A__L15*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFELSE___V43*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V42*/ meltfptr[38] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4627:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L16*/ meltfnum[9] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURSYMB__V36*/ meltfptr[34]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout->tabval[9])));; MELT_LOCATION ("warmelt-normal.melt:4627:/ cond"); /*cond */ if ( /*_#IS_A__L16*/ meltfnum[9]) /*then */ { /*^cond.then */ /*_.IFELSE___V45*/ meltfptr[44] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4627:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cursymb"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4627) ? (4627) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V45*/ meltfptr[44] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V44*/ meltfptr[39] = /*_.IFELSE___V45*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4627:/ clear"); /*clear *//*_#IS_A__L16*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V45*/ meltfptr[44] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V44*/ meltfptr[39] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4628:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.SYMBEXPRMAP__V23*/ meltfptr[22]), (meltobject_ptr_t) ( /*_.CURSYMB__V36*/ meltfptr[34]), (melt_ptr_t) ( /*_.CUREXPR__V37*/ meltfptr[36])); } ; MELT_LOCATION ("warmelt-normal.melt:4629:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CURSYMB__V36*/ meltfptr[34]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.LOCB__V34*/ meltfptr[33]; /*_.CURCONSBIND__V47*/ meltfptr[46] = meltgc_send ((melt_ptr_t) ( /*_.CUREXPR__V37*/ meltfptr[36]), (melt_ptr_t) (( /*!PREPARE_CONSTRUCTOR_BINDING */ meltfrout->tabval[10])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4631:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ meltfnum[10] = /*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-normal.melt:4631:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4631:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4631; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec curconsbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCONSBIND__V47*/ meltfptr[46]; /*_.MELT_DEBUG_FUN__V50*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (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-normal.melt:4631:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V50*/ meltfptr[49] = 0; } ; } else { /*^cond.else */ /*_.IF___V49*/ meltfptr[48] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4631:/ quasiblock"); /*_.PROGN___V51*/ meltfptr[49] = /*_.IF___V49*/ meltfptr[48];; /*^compute */ /*_.IFCPP___V48*/ meltfptr[47] = /*_.PROGN___V51*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4631:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[10] = 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 */ ; MELT_LOCATION ("warmelt-normal.melt:4632:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L19*/ meltfnum[9] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCONSBIND__V47*/ meltfptr[46]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[11])));; MELT_LOCATION ("warmelt-normal.melt:4632:/ cond"); /*cond */ if ( /*_#IS_A__L19*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4633:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L20*/ meltfnum[10] = /*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-normal.melt:4633:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L20*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[20] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4633:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[20]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4633; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec curconsbind plain consbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCONSBIND__V47*/ meltfptr[46]; /*_.MELT_DEBUG_FUN__V55*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V54*/ meltfptr[53] = /*_.MELT_DEBUG_FUN__V55*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4633:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L21*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V55*/ meltfptr[54] = 0; } ; } else { /*^cond.else */ /*_.IF___V54*/ meltfptr[53] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4633:/ quasiblock"); /*_.PROGN___V56*/ meltfptr[54] = /*_.IF___V54*/ meltfptr[53];; /*^compute */ /*_.IFCPP___V53*/ meltfptr[49] = /*_.PROGN___V56*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4633:/ clear"); /*clear *//*_#MELT_NEED_DBG__L20*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.PROGN___V56*/ meltfptr[54] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V53*/ meltfptr[49] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4634:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.CONSBINDLIST__V21*/ meltfptr[20]), (melt_ptr_t) ( /*_.CURCONSBIND__V47*/ meltfptr[46])); } ; { MELT_LOCATION ("warmelt-normal.melt:4635:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.SYMBINDMAP__V24*/ meltfptr[23]), (meltobject_ptr_t) ( /*_.CURSYMB__V36*/ meltfptr[34]), (melt_ptr_t) ( /*_.CURCONSBIND__V47*/ meltfptr[46])); } ; MELT_LOCATION ("warmelt-normal.melt:4632:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V53*/ meltfptr[49] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4637:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L22*/ meltfnum[20] = (melt_magic_discr ((melt_ptr_t) ( /*_.CURCONSBIND__V47*/ meltfptr[46])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-normal.melt:4637:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L22*/ meltfnum[20]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4638:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L23*/ meltfnum[10] = /*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-normal.melt:4638:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L23*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[23] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4638:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[23]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4638; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec curconsbind multiple"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCONSBIND__V47*/ meltfptr[46]; /*_.MELT_DEBUG_FUN__V60*/ meltfptr[59] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V59*/ meltfptr[49] = /*_.MELT_DEBUG_FUN__V60*/ meltfptr[59];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4638:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L24*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V60*/ meltfptr[59] = 0; } ; } else { /*^cond.else */ /*_.IF___V59*/ meltfptr[49] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4638:/ quasiblock"); /*_.PROGN___V61*/ meltfptr[59] = /*_.IF___V59*/ meltfptr[49];; /*^compute */ /*_.IFCPP___V58*/ meltfptr[54] = /*_.PROGN___V61*/ meltfptr[59];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4638:/ clear"); /*clear *//*_#MELT_NEED_DBG__L23*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V59*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.PROGN___V61*/ meltfptr[59] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V58*/ meltfptr[54] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CURCONSBIND__V47*/ meltfptr[46]); for ( /*_#SUBIX__L25*/ meltfnum[23] = 0; ( /*_#SUBIX__L25*/ meltfnum[23] >= 0) && ( /*_#SUBIX__L25*/ meltfnum[23] < meltcit2__EACHTUP_ln); /*_#SUBIX__L25*/ meltfnum[23]++) { /*_.SUBCONSBIND__V62*/ meltfptr[49] = melt_multiple_nth ((melt_ptr_t) ( /*_.CURCONSBIND__V47*/ meltfptr[46]), /*_#SUBIX__L25*/ meltfnum[23]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4642:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L26*/ meltfnum[10] = melt_is_instance_of ((melt_ptr_t) ( /*_.SUBCONSBIND__V62*/ meltfptr[49]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[11])));; MELT_LOCATION ("warmelt-normal.melt:4642:/ cond"); /*cond */ if ( /*_#IS_A__L26*/ meltfnum[10]) /*then */ { /*^cond.then */ /*_.IFELSE___V64*/ meltfptr[63] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4642:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_letrec check subconsbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4642) ? (4642) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V64*/ meltfptr[63] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V63*/ meltfptr[59] = /*_.IFELSE___V64*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4642:/ clear"); /*clear *//*_#IS_A__L26*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFELSE___V64*/ meltfptr[63] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V63*/ meltfptr[59] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4644:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.CONSBINDLIST__V21*/ meltfptr[20]), (melt_ptr_t) ( /*_.SUBCONSBIND__V62*/ meltfptr[49])); } ; if ( /*_#SUBIX__L25*/ meltfnum[23] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4639:/ clear"); /*clear *//*_.SUBCONSBIND__V62*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_#SUBIX__L25*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IFCPP___V63*/ meltfptr[59] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-normal.melt:4645:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.SYMBINDMAP__V24*/ meltfptr[23]), (meltobject_ptr_t) ( /*_.CURSYMB__V36*/ meltfptr[34]), (melt_ptr_t) ( /*_.CURCONSBIND__V47*/ meltfptr[46])); } ; MELT_LOCATION ("warmelt-normal.melt:4637:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V58*/ meltfptr[54] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4647:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L27*/ meltfnum[10] = (melt_magic_discr ((melt_ptr_t) ( /*_.CURCONSBIND__V47*/ meltfptr[46])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normal.melt:4647:/ cond"); /*cond */ if ( /*_#IS_LIST__L27*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4648:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L28*/ meltfnum[27] = /*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-normal.melt:4648:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L28*/ meltfnum[27]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L29*/ meltfnum[28] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4648:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L29*/ meltfnum[28]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4648; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec curconsbind list"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCONSBIND__V47*/ meltfptr[46]; /*_.MELT_DEBUG_FUN__V68*/ meltfptr[67] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V67*/ meltfptr[66] = /*_.MELT_DEBUG_FUN__V68*/ meltfptr[67];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4648:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L29*/ meltfnum[28] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V68*/ meltfptr[67] = 0; } ; } else { /*^cond.else */ /*_.IF___V67*/ meltfptr[66] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4648:/ quasiblock"); /*_.PROGN___V69*/ meltfptr[67] = /*_.IF___V67*/ meltfptr[66];; /*^compute */ /*_.IFCPP___V66*/ meltfptr[54] = /*_.PROGN___V69*/ meltfptr[67];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4648:/ clear"); /*clear *//*_#MELT_NEED_DBG__L28*/ meltfnum[27] = 0; /*^clear */ /*clear *//*_.IF___V67*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.PROGN___V69*/ meltfptr[67] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V66*/ meltfptr[54] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit3__EACHLIST */ for ( /*_.SUBCONSPAIR__V70*/ meltfptr[66] = melt_list_first ((melt_ptr_t) /*_.CURCONSBIND__V47*/ meltfptr[46]); melt_magic_discr ((melt_ptr_t) /*_.SUBCONSPAIR__V70*/ meltfptr[66]) == MELTOBMAG_PAIR; /*_.SUBCONSPAIR__V70*/ meltfptr[66] = melt_pair_tail ((melt_ptr_t) /*_.SUBCONSPAIR__V70*/ meltfptr[66])) { /*_.SUBCONSBIND__V71*/ meltfptr[67] = melt_pair_head ((melt_ptr_t) /*_.SUBCONSPAIR__V70*/ meltfptr[66]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4652:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L30*/ meltfnum[28] = melt_is_instance_of ((melt_ptr_t) ( /*_.SUBCONSBIND__V71*/ meltfptr[67]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[11])));; MELT_LOCATION ("warmelt-normal.melt:4652:/ cond"); /*cond */ if ( /*_#IS_A__L30*/ meltfnum[28]) /*then */ { /*^cond.then */ /*_.IFELSE___V73*/ meltfptr[72] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4652:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_letrec check subconsbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4652) ? (4652) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V73*/ meltfptr[72] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V72*/ meltfptr[71] = /*_.IFELSE___V73*/ meltfptr[72];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4652:/ clear"); /*clear *//*_#IS_A__L30*/ meltfnum[28] = 0; /*^clear */ /*clear *//*_.IFELSE___V73*/ meltfptr[72] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V72*/ meltfptr[71] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4654:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.CONSBINDLIST__V21*/ meltfptr[20]), (melt_ptr_t) ( /*_.SUBCONSBIND__V71*/ meltfptr[67])); } ; } /* end foreach_in_list meltcit3__EACHLIST */ /*_.SUBCONSPAIR__V70*/ meltfptr[66] = NULL; /*_.SUBCONSBIND__V71*/ meltfptr[67] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4649:/ clear"); /*clear *//*_.SUBCONSPAIR__V70*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.SUBCONSBIND__V71*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.IFCPP___V72*/ meltfptr[71] = 0; } /*endciterblock FOREACH_IN_LIST */ ; MELT_LOCATION ("warmelt-normal.melt:4655:/ 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 *) & ( /*!DISCR_MULTIPLE */ meltfrout->tabval[13]); /*_.LIST_TO_MULTIPLE__V74*/ meltfptr[72] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[12])), (melt_ptr_t) ( /*_.CURCONSBIND__V47*/ meltfptr[46]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { /*^locexp */ meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.SYMBINDMAP__V24*/ meltfptr[23]), (meltobject_ptr_t) ( /*_.CURSYMB__V36*/ meltfptr[34]), (melt_ptr_t) ( /*_.LIST_TO_MULTIPLE__V74*/ meltfptr[72])); } ; MELT_LOCATION ("warmelt-normal.melt:4647:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V66*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.LIST_TO_MULTIPLE__V74*/ meltfptr[72] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4658:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V76*/ meltfptr[72] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4658:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_letrec bad curconsbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4658) ? (4658) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V76*/ meltfptr[72] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V75*/ meltfptr[54] = /*_.IFELSE___V76*/ meltfptr[72];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4658:/ clear"); /*clear *//*_.IFELSE___V76*/ meltfptr[72] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V75*/ meltfptr[54] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4657:/ quasiblock"); /*_.PROGN___V77*/ meltfptr[72] = /*_.IFCPP___V75*/ meltfptr[54];; /*^compute */ /*_.IFELSE___V65*/ meltfptr[63] = /*_.PROGN___V77*/ meltfptr[72];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4647:/ clear"); /*clear *//*_.IFCPP___V75*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.PROGN___V77*/ meltfptr[72] = 0; } ; } ; /*_.IFELSE___V57*/ meltfptr[53] = /*_.IFELSE___V65*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4637:/ clear"); /*clear *//*_#IS_LIST__L27*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFELSE___V65*/ meltfptr[63] = 0; } ; } ; /*_.IFELSE___V52*/ meltfptr[48] = /*_.IFELSE___V57*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4632:/ clear"); /*clear *//*_#IS_MULTIPLE__L22*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.IFELSE___V57*/ meltfptr[53] = 0; } ; } ; /*_.LET___V46*/ meltfptr[44] = /*_.IFELSE___V52*/ meltfptr[48];; MELT_LOCATION ("warmelt-normal.melt:4629:/ clear"); /*clear *//*_.CURCONSBIND__V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.IFCPP___V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_#IS_A__L19*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V52*/ meltfptr[48] = 0; /*_.LET___V32*/ meltfptr[27] = /*_.LET___V46*/ meltfptr[44];; MELT_LOCATION ("warmelt-normal.melt:4621:/ clear"); /*clear *//*_.LOCA_LOCATION__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.LOCB__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.CURSYMB__V36*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.CUREXPR__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.IFCPP___V42*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.IFCPP___V44*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.LET___V46*/ meltfptr[44] = 0; if ( /*_#SBIX__L9*/ meltfnum[8] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4616:/ clear"); /*clear *//*_.CURSBIND__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_#SBIX__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.LET___V32*/ meltfptr[27] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4663:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L31*/ meltfnum[27] = /*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-normal.melt:4663:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L31*/ meltfnum[27]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L32*/ meltfnum[28] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4663:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L32*/ meltfnum[28]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4663; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec consbindlist"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CONSBINDLIST__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V80*/ meltfptr[63] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V79*/ meltfptr[72] = /*_.MELT_DEBUG_FUN__V80*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4663:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L32*/ meltfnum[28] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V80*/ meltfptr[63] = 0; } ; } else { /*^cond.else */ /*_.IF___V79*/ meltfptr[72] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4663:/ quasiblock"); /*_.PROGN___V81*/ meltfptr[53] = /*_.IF___V79*/ meltfptr[72];; /*^compute */ /*_.IFCPP___V78*/ meltfptr[54] = /*_.PROGN___V81*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4663:/ clear"); /*clear *//*_#MELT_NEED_DBG__L31*/ meltfnum[27] = 0; /*^clear */ /*clear *//*_.IF___V79*/ meltfptr[72] = 0; /*^clear */ /*clear *//*_.PROGN___V81*/ meltfptr[53] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V78*/ meltfptr[54] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4664:/ quasiblock"); /*_#NBCONSBIND__L33*/ meltfnum[10] = (melt_list_length ((melt_ptr_t) ( /*_.CONSBINDLIST__V21*/ meltfptr[20])));; /*^compute */ /*_#CURCIX__L34*/ meltfnum[20] = 0;; /*^compute */ /*_.NLOCSYMS__V83*/ meltfptr[47] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[13])), ( /*_#NBCONSBIND__L33*/ meltfnum[10])));; /*^compute */ /*_.NCBINDTUP__V84*/ meltfptr[48] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[13])), ( /*_#NBCONSBIND__L33*/ meltfnum[10])));; /*^compute */ /*_.RECFILLBINDINGS__V85*/ meltfptr[32] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[4]))));; MELT_LOCATION ("warmelt-normal.melt:4670:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[14])), (6), "CLASS_NREP_LETREC"); /*_.INST__V87*/ meltfptr[34] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V87*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V87*/ meltfptr[34]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V87*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V87*/ meltfptr[34]), (1), ( /*_.NCBINDTUP__V84*/ meltfptr[48]), "NLET_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_FILL_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V87*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V87*/ meltfptr[34]), (3), ( /*_.RECFILLBINDINGS__V85*/ meltfptr[32]), "NLETREC_FILL_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_LOCSYMS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V87*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V87*/ meltfptr[34]), (5), ( /*_.NLOCSYMS__V83*/ meltfptr[47]), "NLETREC_LOCSYMS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V87*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V87*/ meltfptr[34]), (2), (( /*nil */ NULL)), "NLET_BODY"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_BODY_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V87*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V87*/ meltfptr[34]), (4), (( /*nil */ NULL)), "NLETREC_BODY_BINDINGS"); ; /*_.NLETREC__V86*/ meltfptr[33] = /*_.INST__V87*/ meltfptr[34];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4680:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L35*/ meltfnum[9] = /*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-normal.melt:4680:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L35*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L36*/ meltfnum[28] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4680:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L36*/ meltfnum[28]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4680; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec unfilled nletrec"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NLETREC__V86*/ meltfptr[33]; /*_.MELT_DEBUG_FUN__V90*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V89*/ meltfptr[37] = /*_.MELT_DEBUG_FUN__V90*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4680:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L36*/ meltfnum[28] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V90*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.IF___V89*/ meltfptr[37] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4680:/ quasiblock"); /*_.PROGN___V91*/ meltfptr[39] = /*_.IF___V89*/ meltfptr[37];; /*^compute */ /*_.IFCPP___V88*/ meltfptr[36] = /*_.PROGN___V91*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4680:/ clear"); /*clear *//*_#MELT_NEED_DBG__L35*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V89*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.PROGN___V91*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V88*/ meltfptr[36] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit4__EACHLIST */ for ( /*_.CURPAIR__V92*/ meltfptr[44] = melt_list_first ((melt_ptr_t) /*_.CONSBINDLIST__V21*/ meltfptr[20]); melt_magic_discr ((melt_ptr_t) /*_.CURPAIR__V92*/ meltfptr[44]) == MELTOBMAG_PAIR; /*_.CURPAIR__V92*/ meltfptr[44] = melt_pair_tail ((melt_ptr_t) /*_.CURPAIR__V92*/ meltfptr[44])) { /*_.CURCBIND__V93*/ meltfptr[63] = melt_pair_head ((melt_ptr_t) /*_.CURPAIR__V92*/ meltfptr[44]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4687:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L37*/ meltfnum[27] = /*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-normal.melt:4687:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L37*/ meltfnum[27]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L38*/ meltfnum[28] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4687:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L38*/ meltfnum[28]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4687; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec curcbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCBIND__V93*/ meltfptr[63]; /*_.MELT_DEBUG_FUN__V96*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V95*/ meltfptr[53] = /*_.MELT_DEBUG_FUN__V96*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4687:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L38*/ meltfnum[28] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V96*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.IF___V95*/ meltfptr[53] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4687:/ quasiblock"); /*_.PROGN___V97*/ meltfptr[37] = /*_.IF___V95*/ meltfptr[53];; /*^compute */ /*_.IFCPP___V94*/ meltfptr[72] = /*_.PROGN___V97*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4687:/ clear"); /*clear *//*_#MELT_NEED_DBG__L37*/ meltfnum[27] = 0; /*^clear */ /*clear *//*_.IF___V95*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.PROGN___V97*/ meltfptr[37] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V94*/ meltfptr[72] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4688:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L39*/ meltfnum[9] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[11])));; MELT_LOCATION ("warmelt-normal.melt:4688:/ cond"); /*cond */ if ( /*_#IS_A__L39*/ meltfnum[9]) /*then */ { /*^cond.then */ /*_.IFELSE___V99*/ meltfptr[38] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4688:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curcbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4688) ? (4688) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V99*/ meltfptr[38] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V98*/ meltfptr[39] = /*_.IFELSE___V99*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4688:/ clear"); /*clear *//*_#IS_A__L39*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V99*/ meltfptr[38] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V98*/ meltfptr[39] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4689:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.NCBINDTUP__V84*/ meltfptr[48]), ( /*_#CURCIX__L34*/ meltfnum[20]), (melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63])); } ; { MELT_LOCATION ("warmelt-normal.melt:4690:/ locexp"); melt_put_int ((melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63]), ( /*_#CURCIX__L34*/ meltfnum[20])); } ; MELT_LOCATION ("warmelt-normal.melt:4691:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[11]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_NLETREC", melt_magic_discr ((melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CURCBIND__V93*/ meltfptr[63]), (3), ( /*_.NLETREC__V86*/ meltfptr[33]), "NCONSB_NLETREC"); ; /*^touch */ meltgc_touch ( /*_.CURCBIND__V93*/ meltfptr[63]); ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:4692:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63]), 2, "NCONSB_DISCR"); /*_.CURBDISCR__V100*/ meltfptr[53] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4693:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63]), 0, "BINDER"); /*_.CURBINDER__V101*/ meltfptr[37] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4694:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4695:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[11]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63]), 1, "NCONSB_LOC"); /*_.NCONSB_LOC__V102*/ meltfptr[38] = slot; }; ; } else { /*^cond.else */ /*_.NCONSB_LOC__V102*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4695:/ cond"); /*cond */ if ( /*_.NCONSB_LOC__V102*/ meltfptr[38]) /*then */ { /*^cond.then */ /*_.OR___V103*/ meltfptr[102] = /*_.NCONSB_LOC__V102*/ meltfptr[38];; } else { MELT_LOCATION ("warmelt-normal.melt:4695:/ cond.else"); /*^block */ /*anyblock */ { /*^cond */ /*cond */ if ( /*_.SLOC__V17*/ meltfptr[13]) /*then */ { /*^cond.then */ /*_.OR___V104*/ meltfptr[103] = /*_.SLOC__V17*/ meltfptr[13];; } else { MELT_LOCATION ("warmelt-normal.melt:4695:/ cond.else"); /*_.OR___V104*/ meltfptr[103] = /*_.PSLOC__V5*/ meltfptr[4];; } ; /*^compute */ /*_.OR___V103*/ meltfptr[102] = /*_.OR___V104*/ meltfptr[103];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4695:/ clear"); /*clear *//*_.OR___V104*/ meltfptr[103] = 0; } ; } ; MELT_LOCATION ("warmelt-normal.melt:4694:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[15])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V106*/ meltfptr[105] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V106*/ meltfptr[105])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V106*/ meltfptr[105]), (0), ( /*_.OR___V103*/ meltfptr[102]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V106*/ meltfptr[105])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V106*/ meltfptr[105]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[16])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V106*/ meltfptr[105])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V106*/ meltfptr[105]), (1), ( /*_.CURBINDER__V101*/ meltfptr[37]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V106*/ meltfptr[105])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V106*/ meltfptr[105]), (3), ( /*_.CURCBIND__V93*/ meltfptr[63]), "NOCC_BIND"); ; /*_.NLOCSYM__V105*/ meltfptr[103] = /*_.INST__V106*/ meltfptr[105];; { MELT_LOCATION ("warmelt-normal.melt:4702:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.NLOCSYMS__V83*/ meltfptr[47]), ( /*_#CURCIX__L34*/ meltfnum[20]), (melt_ptr_t) ( /*_.NLOCSYM__V105*/ meltfptr[103])); } ; MELT_LOCATION ("warmelt-normal.melt:4703:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#NULL__L40*/ meltfnum[28] = (( /*_.CURBDISCR__V100*/ meltfptr[53]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:4703:/ cond"); /*cond */ if ( /*_#NULL__L40*/ meltfnum[28]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4704:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_INSTANCE_BINDING */ meltfrout->tabval[17]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63]), 5, "NINSTB_CLABIND"); /*_.CLABIND__V107*/ meltfptr[106] = slot; }; ; } else { /*^cond.else */ /*_.CLABIND__V107*/ meltfptr[106] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4705:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CLABIND__V107*/ meltfptr[106]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[18]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CLABIND__V107*/ meltfptr[106]), 0, "BINDER"); /*_.CLASYM__V108*/ meltfptr[107] = slot; }; ; } else { /*^cond.else */ /*_.CLASYM__V108*/ meltfptr[107] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4707:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L41*/ meltfnum[27] = /*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-normal.melt:4707:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L41*/ meltfnum[27]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L42*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4707:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L42*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4707; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec clabind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLABIND__V107*/ meltfptr[106]; /*^apply.arg */ argtab[5].meltbp_cstring = " clasym="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLASYM__V108*/ meltfptr[107]; /*_.MELT_DEBUG_FUN__V111*/ meltfptr[110] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (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___V110*/ meltfptr[109] = /*_.MELT_DEBUG_FUN__V111*/ meltfptr[110];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4707:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L42*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V111*/ meltfptr[110] = 0; } ; } else { /*^cond.else */ /*_.IF___V110*/ meltfptr[109] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4707:/ quasiblock"); /*_.PROGN___V112*/ meltfptr[110] = /*_.IF___V110*/ meltfptr[109];; /*^compute */ /*_.IFCPP___V109*/ meltfptr[108] = /*_.PROGN___V112*/ meltfptr[110];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4707:/ clear"); /*clear *//*_#MELT_NEED_DBG__L41*/ meltfnum[27] = 0; /*^clear */ /*clear *//*_.IF___V110*/ meltfptr[109] = 0; /*^clear */ /*clear *//*_.PROGN___V112*/ meltfptr[110] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V109*/ meltfptr[108] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4709:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L43*/ meltfnum[9] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_INSTANCE_BINDING */ meltfrout->tabval[17])));; MELT_LOCATION ("warmelt-normal.melt:4709:/ cond"); /*cond */ if ( /*_#IS_A__L43*/ meltfnum[9]) /*then */ { /*^cond.then */ /*_.IFELSE___V114*/ meltfptr[110] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4709:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curcbind for instance"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4709) ? (4709) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V114*/ meltfptr[110] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V113*/ meltfptr[109] = /*_.IFELSE___V114*/ meltfptr[110];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4709:/ clear"); /*clear *//*_#IS_A__L43*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V114*/ meltfptr[110] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V113*/ meltfptr[109] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4710:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4711:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*_.CLADATA__V115*/ meltfptr[110] = meltgc_send ((melt_ptr_t) ( /*_.CLASYM__V108*/ meltfptr[107]), (melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout-> tabval[19])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4713:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L44*/ meltfnum[27] = /*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-normal.melt:4713:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L44*/ meltfnum[27]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L45*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4713:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L45*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4713; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec cladata"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLADATA__V115*/ meltfptr[110]; /*_.MELT_DEBUG_FUN__V118*/ meltfptr[117] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V117*/ meltfptr[116] = /*_.MELT_DEBUG_FUN__V118*/ meltfptr[117];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4713:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L45*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V118*/ meltfptr[117] = 0; } ; } else { /*^cond.else */ /*_.IF___V117*/ meltfptr[116] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4713:/ quasiblock"); /*_.PROGN___V119*/ meltfptr[117] = /*_.IF___V117*/ meltfptr[116];; /*^compute */ /*_.IFCPP___V116*/ meltfptr[115] = /*_.PROGN___V119*/ meltfptr[117];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4713:/ clear"); /*clear *//*_#MELT_NEED_DBG__L44*/ meltfnum[27] = 0; /*^clear */ /*clear *//*_.IF___V117*/ meltfptr[116] = 0; /*^clear */ /*clear *//*_.PROGN___V119*/ meltfptr[117] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V116*/ meltfptr[115] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4714:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L46*/ meltfnum[9] = melt_is_instance_of ((melt_ptr_t) ( /*_.CLADATA__V115*/ meltfptr[110]), (melt_ptr_t) (( /*!CLASS_NREP */ meltfrout-> tabval[20])));; MELT_LOCATION ("warmelt-normal.melt:4714:/ cond"); /*cond */ if ( /*_#IS_A__L46*/ meltfnum[9]) /*then */ { /*^cond.then */ /*_.IFELSE___V121*/ meltfptr[117] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4714:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cladata"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4714) ? (4714) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V121*/ meltfptr[117] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V120*/ meltfptr[116] = /*_.IFELSE___V121*/ meltfptr[117];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4714:/ clear"); /*clear *//*_#IS_A__L46*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V121*/ meltfptr[117] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V120*/ meltfptr[116] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4715:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63]), (melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTOR_BINDING */ meltfrout->tabval[11]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.CURCBIND__V93*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CURCBIND__V93*/ meltfptr[63]), (2), ( /*_.CLADATA__V115*/ meltfptr[110]), "NCONSB_DISCR"); ; /*^touch */ meltgc_touch ( /*_.CURCBIND__V93*/ meltfptr[63]); ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:4710:/ clear"); /*clear *//*_.CLADATA__V115*/ meltfptr[110] = 0; /*^clear */ /*clear *//*_.IFCPP___V116*/ meltfptr[115] = 0; /*^clear */ /*clear *//*_.IFCPP___V120*/ meltfptr[116] = 0; MELT_LOCATION ("warmelt-normal.melt:4704:/ clear"); /*clear *//*_.CLABIND__V107*/ meltfptr[106] = 0; /*^clear */ /*clear *//*_.CLASYM__V108*/ meltfptr[107] = 0; /*^clear */ /*clear *//*_.IFCPP___V109*/ meltfptr[108] = 0; /*^clear */ /*clear *//*_.IFCPP___V113*/ meltfptr[109] = 0; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:4692:/ clear"); /*clear *//*_.CURBDISCR__V100*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.CURBINDER__V101*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.NCONSB_LOC__V102*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.OR___V103*/ meltfptr[102] = 0; /*^clear */ /*clear *//*_.NLOCSYM__V105*/ meltfptr[103] = 0; /*^clear */ /*clear *//*_#NULL__L40*/ meltfnum[28] = 0; /*_#I__L47*/ meltfnum[27] = (( /*_#CURCIX__L34*/ meltfnum[20]) + (1));; MELT_LOCATION ("warmelt-normal.melt:4718:/ compute"); /*_#CURCIX__L34*/ meltfnum[20] = /*_#SETQ___L48*/ meltfnum[9] = /*_#I__L47*/ meltfnum[27];; MELT_LOCATION ("warmelt-normal.melt:4719:/ 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 *) & /*_.CURCBIND__V93*/ meltfptr[63]; /*_.PUT_ENV__V122*/ meltfptr[117] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[21])), (melt_ptr_t) ( /*_.NEWENV__V22*/ meltfptr[21]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; } /* end foreach_in_list meltcit4__EACHLIST */ /*_.CURPAIR__V92*/ meltfptr[44] = NULL; /*_.CURCBIND__V93*/ meltfptr[63] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4684:/ clear"); /*clear *//*_.CURPAIR__V92*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.CURCBIND__V93*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.IFCPP___V94*/ meltfptr[72] = 0; /*^clear */ /*clear *//*_.IFCPP___V98*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_#I__L47*/ meltfnum[27] = 0; /*^clear */ /*clear *//*_#SETQ___L48*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V122*/ meltfptr[117] = 0; } /*endciterblock FOREACH_IN_LIST */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit5__EACHTUP */ long meltcit5__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SBINDS__V18*/ meltfptr[17]); for ( /*_#SBIX__L49*/ meltfnum[28] = 0; ( /*_#SBIX__L49*/ meltfnum[28] >= 0) && ( /*_#SBIX__L49*/ meltfnum[28] < meltcit5__EACHTUP_ln); /*_#SBIX__L49*/ meltfnum[28]++) { /*_.CURSBIND__V123*/ meltfptr[110] = melt_multiple_nth ((melt_ptr_t) ( /*_.SBINDS__V18*/ meltfptr[17]), /*_#SBIX__L49*/ meltfnum[28]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4726:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L50*/ meltfnum[49] = /*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-normal.melt:4726:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L50*/ meltfnum[49]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L51*/ meltfnum[50] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4726:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L51*/ meltfnum[50]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4726; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec thirdloop cursbind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURSBIND__V123*/ meltfptr[110]; /*^apply.arg */ argtab[5].meltbp_cstring = " sbix="; /*^apply.arg */ argtab[6].meltbp_long = /*_#SBIX__L49*/ meltfnum[28]; /*_.MELT_DEBUG_FUN__V126*/ meltfptr[106] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (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___V125*/ meltfptr[116] = /*_.MELT_DEBUG_FUN__V126*/ meltfptr[106];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4726:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L51*/ meltfnum[50] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V126*/ meltfptr[106] = 0; } ; } else { /*^cond.else */ /*_.IF___V125*/ meltfptr[116] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4726:/ quasiblock"); /*_.PROGN___V127*/ meltfptr[107] = /*_.IF___V125*/ meltfptr[116];; /*^compute */ /*_.IFCPP___V124*/ meltfptr[115] = /*_.PROGN___V127*/ meltfptr[107];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4726:/ clear"); /*clear *//*_#MELT_NEED_DBG__L50*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.IF___V125*/ meltfptr[116] = 0; /*^clear */ /*clear *//*_.PROGN___V127*/ meltfptr[107] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V124*/ meltfptr[115] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4727:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L52*/ meltfnum[50] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURSBIND__V123*/ meltfptr[110]), (melt_ptr_t) (( /*!CLASS_SOURCE_LETREC_BINDING */ meltfrout->tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:4727:/ cond"); /*cond */ if ( /*_#IS_A__L52*/ meltfnum[50]) /*then */ { /*^cond.then */ /*_.IFELSE___V129*/ meltfptr[109] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4727:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cursbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4727) ? (4727) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V129*/ meltfptr[109] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V128*/ meltfptr[108] = /*_.IFELSE___V129*/ meltfptr[109];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4727:/ clear"); /*clear *//*_#IS_A__L52*/ meltfnum[50] = 0; /*^clear */ /*clear *//*_.IFELSE___V129*/ meltfptr[109] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V128*/ meltfptr[108] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4728:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURSBIND__V123*/ meltfptr[110]), 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V131*/ meltfptr[37] = slot; }; ; /*^cond */ /*cond */ if ( /*_.LOCA_LOCATION__V131*/ meltfptr[37]) /*then */ { /*^cond.then */ /*_.LOCB__V132*/ meltfptr[38] = /*_.LOCA_LOCATION__V131*/ meltfptr[37];; } else { MELT_LOCATION ("warmelt-normal.melt:4728:/ cond.else"); /*^block */ /*anyblock */ { /*^cond */ /*cond */ if ( /*_.SLOC__V17*/ meltfptr[13]) /*then */ { /*^cond.then */ /*_.OR___V133*/ meltfptr[102] = /*_.SLOC__V17*/ meltfptr[13];; } else { MELT_LOCATION ("warmelt-normal.melt:4728:/ cond.else"); /*_.OR___V133*/ meltfptr[102] = /*_.PSLOC__V5*/ meltfptr[4];; } ; /*^compute */ /*_.LOCB__V132*/ meltfptr[38] = /*_.OR___V133*/ meltfptr[102];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4728:/ clear"); /*clear *//*_.OR___V133*/ meltfptr[102] = 0; } ; } ; MELT_LOCATION ("warmelt-normal.melt:4729:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURSBIND__V123*/ meltfptr[110]), 3, "SLETB_BINDER"); /*_.CURSYMB__V134*/ meltfptr[103] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4730:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURSBIND__V123*/ meltfptr[110]), 4, "SLETB_EXPR"); /*_.CUREXPR__V135*/ meltfptr[106] = slot; }; ; /*_.CURBIND__V136*/ meltfptr[116] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.SYMBINDMAP__V24*/ meltfptr[23]), (meltobject_ptr_t) ( /*_.CURSYMB__V134*/ meltfptr[103]));; /*^compute */ /*_.CURSEXPR__V137*/ meltfptr[107] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.SYMBEXPRMAP__V23*/ meltfptr[22]), (meltobject_ptr_t) ( /*_.CURSYMB__V134*/ meltfptr[103]));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4734:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L53*/ meltfnum[49] = /*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-normal.melt:4734:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L53*/ meltfnum[49]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L54*/ meltfnum[50] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4734:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[11]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L54*/ meltfnum[50]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4734; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec thirdloop curexpr="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CUREXPR__V135*/ meltfptr[106]; /*^apply.arg */ argtab[5].meltbp_cstring = " cursymb="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CURSYMB__V134*/ meltfptr[103]; /*^apply.arg */ argtab[7].meltbp_cstring = " curbind="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CURBIND__V136*/ meltfptr[116]; /*^apply.arg */ argtab[9].meltbp_cstring = " cursexpr="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.CURSEXPR__V137*/ meltfptr[107]; /*_.MELT_DEBUG_FUN__V140*/ meltfptr[139] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (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___V139*/ meltfptr[102] = /*_.MELT_DEBUG_FUN__V140*/ meltfptr[139];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4734:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L54*/ meltfnum[50] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V140*/ meltfptr[139] = 0; } ; } else { /*^cond.else */ /*_.IF___V139*/ meltfptr[102] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4734:/ quasiblock"); /*_.PROGN___V141*/ meltfptr[139] = /*_.IF___V139*/ meltfptr[102];; /*^compute */ /*_.IFCPP___V138*/ meltfptr[109] = /*_.PROGN___V141*/ meltfptr[139];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4734:/ clear"); /*clear *//*_#MELT_NEED_DBG__L53*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.IF___V139*/ meltfptr[102] = 0; /*^clear */ /*clear *//*_.PROGN___V141*/ meltfptr[139] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V138*/ meltfptr[109] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4738:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#__L55*/ meltfnum[50] = (( /*_.CUREXPR__V135*/ meltfptr[106]) == ( /*_.CURSEXPR__V137*/ meltfptr[107]));; MELT_LOCATION ("warmelt-normal.melt:4738:/ cond"); /*cond */ if ( /*_#__L55*/ meltfnum[50]) /*then */ { /*^cond.then */ /*_.IFELSE___V143*/ meltfptr[139] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4738:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curxpr same cursexpr"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4738) ? (4738) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V143*/ meltfptr[139] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V142*/ meltfptr[102] = /*_.IFELSE___V143*/ meltfptr[139];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4738:/ clear"); /*clear *//*_#__L55*/ meltfnum[50] = 0; /*^clear */ /*clear *//*_.IFELSE___V143*/ meltfptr[139] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V142*/ meltfptr[102] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4739:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CURSYMB__V134*/ meltfptr[103]; /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CURBIND__V136*/ meltfptr[116]; /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V22*/ meltfptr[21]; /*^ojbmsend.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^ojbmsend.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*_.NORMAL_LETREC_CONSTRUCTIVE__V144*/ meltfptr[139] = meltgc_send ((melt_ptr_t) ( /*_.CUREXPR__V135*/ meltfptr[106]), (melt_ptr_t) (( /*!NORMAL_LETREC_CONSTRUCTIVE */ meltfrout->tabval[22])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4740:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L56*/ meltfnum[49] = /*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-normal.melt:4740:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L56*/ meltfnum[49]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L57*/ meltfnum[50] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4740:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L57*/ meltfnum[50]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4740; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec thirdloop done curexpr"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CUREXPR__V135*/ meltfptr[106]; /*_.MELT_DEBUG_FUN__V147*/ meltfptr[146] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V146*/ meltfptr[145] = /*_.MELT_DEBUG_FUN__V147*/ meltfptr[146];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4740:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L57*/ meltfnum[50] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V147*/ meltfptr[146] = 0; } ; } else { /*^cond.else */ /*_.IF___V146*/ meltfptr[145] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4740:/ quasiblock"); /*_.PROGN___V148*/ meltfptr[146] = /*_.IF___V146*/ meltfptr[145];; /*^compute */ /*_.IFCPP___V145*/ meltfptr[144] = /*_.PROGN___V148*/ meltfptr[146];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4740:/ clear"); /*clear *//*_#MELT_NEED_DBG__L56*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.IF___V146*/ meltfptr[145] = 0; /*^clear */ /*clear *//*_.PROGN___V148*/ meltfptr[146] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V145*/ meltfptr[144] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V130*/ meltfptr[53] = /*_.IFCPP___V145*/ meltfptr[144];; MELT_LOCATION ("warmelt-normal.melt:4728:/ clear"); /*clear *//*_.LOCA_LOCATION__V131*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.LOCB__V132*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.CURSYMB__V134*/ meltfptr[103] = 0; /*^clear */ /*clear *//*_.CUREXPR__V135*/ meltfptr[106] = 0; /*^clear */ /*clear *//*_.CURBIND__V136*/ meltfptr[116] = 0; /*^clear */ /*clear *//*_.CURSEXPR__V137*/ meltfptr[107] = 0; /*^clear */ /*clear *//*_.IFCPP___V138*/ meltfptr[109] = 0; /*^clear */ /*clear *//*_.IFCPP___V142*/ meltfptr[102] = 0; /*^clear */ /*clear *//*_.NORMAL_LETREC_CONSTRUCTIVE__V144*/ meltfptr[139] = 0; /*^clear */ /*clear *//*_.IFCPP___V145*/ meltfptr[144] = 0; if ( /*_#SBIX__L49*/ meltfnum[28] < 0) break; } /* end foreach_in_multiple meltcit5__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4723:/ clear"); /*clear *//*_.CURSBIND__V123*/ meltfptr[110] = 0; /*^clear */ /*clear *//*_#SBIX__L49*/ meltfnum[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V124*/ meltfptr[115] = 0; /*^clear */ /*clear *//*_.IFCPP___V128*/ meltfptr[108] = 0; /*^clear */ /*clear *//*_.LET___V130*/ meltfptr[53] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4743:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L58*/ meltfnum[50] = /*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-normal.melt:4743:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L58*/ meltfnum[50]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L59*/ meltfnum[49] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4743:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L59*/ meltfnum[49]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4743; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec recfillbindings before normalizing the body"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECFILLBINDINGS__V85*/ meltfptr[32]; /*_.MELT_DEBUG_FUN__V151*/ meltfptr[37] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V150*/ meltfptr[146] = /*_.MELT_DEBUG_FUN__V151*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4743:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L59*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V151*/ meltfptr[37] = 0; } ; } else { /*^cond.else */ /*_.IF___V150*/ meltfptr[146] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4743:/ quasiblock"); /*_.PROGN___V152*/ meltfptr[38] = /*_.IF___V150*/ meltfptr[146];; /*^compute */ /*_.IFCPP___V149*/ meltfptr[145] = /*_.PROGN___V152*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4743:/ clear"); /*clear *//*_#MELT_NEED_DBG__L58*/ meltfnum[50] = 0; /*^clear */ /*clear *//*_.IF___V150*/ meltfptr[146] = 0; /*^clear */ /*clear *//*_.PROGN___V152*/ meltfptr[38] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V149*/ meltfptr[145] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4746:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L60*/ meltfnum[49] = /*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-normal.melt:4746:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L60*/ meltfnum[49]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L61*/ meltfnum[50] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4746:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L61*/ meltfnum[50]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4746; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec normalizing sbody"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SBODY__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V155*/ meltfptr[116] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V154*/ meltfptr[106] = /*_.MELT_DEBUG_FUN__V155*/ meltfptr[116];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4746:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L61*/ meltfnum[50] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V155*/ meltfptr[116] = 0; } ; } else { /*^cond.else */ /*_.IF___V154*/ meltfptr[106] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4746:/ quasiblock"); /*_.PROGN___V156*/ meltfptr[107] = /*_.IF___V154*/ meltfptr[106];; /*^compute */ /*_.IFCPP___V153*/ meltfptr[103] = /*_.PROGN___V156*/ meltfptr[107];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4746:/ clear"); /*clear *//*_#MELT_NEED_DBG__L60*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.IF___V154*/ meltfptr[106] = 0; /*^clear */ /*clear *//*_.PROGN___V156*/ meltfptr[107] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V153*/ meltfptr[103] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4749:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4747:/ quasiblock"); /*^multiapply */ /*multiapply 4args, 1x.res */ { union meltparam_un argtab[3]; union meltparam_un restab[1]; memset (&restab, 0, sizeof (restab)); memset (&argtab, 0, sizeof (argtab)); /*^multiapply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V22*/ meltfptr[21]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBODBINDINGS__V159*/ meltfptr[139]; /*^multiapply.appl */ /*_.NBODY__V158*/ meltfptr[102] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[23])), (melt_ptr_t) ( /*_.SBODY__V19*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4750:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L62*/ meltfnum[50] = /*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-normal.melt:4750:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L62*/ meltfnum[50]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L63*/ meltfnum[49] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4750:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L63*/ meltfnum[49]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4750; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec nbody="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBODY__V158*/ meltfptr[102]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbodbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBODBINDINGS__V159*/ meltfptr[139]; /*_.MELT_DEBUG_FUN__V162*/ meltfptr[146] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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___V161*/ meltfptr[37] = /*_.MELT_DEBUG_FUN__V162*/ meltfptr[146];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4750:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L63*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V162*/ meltfptr[146] = 0; } ; } else { /*^cond.else */ /*_.IF___V161*/ meltfptr[37] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4750:/ quasiblock"); /*_.PROGN___V163*/ meltfptr[38] = /*_.IF___V161*/ meltfptr[37];; /*^compute */ /*_.IFCPP___V160*/ meltfptr[144] = /*_.PROGN___V163*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4750:/ clear"); /*clear *//*_#MELT_NEED_DBG__L62*/ meltfnum[50] = 0; /*^clear */ /*clear *//*_.IF___V161*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.PROGN___V163*/ meltfptr[38] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V160*/ meltfptr[144] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4751:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L64*/ meltfnum[49] = (( /*_.NBODBINDINGS__V159*/ meltfptr[139]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBODBINDINGS__V159*/ meltfptr[139])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:4751:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L64*/ meltfnum[49]) /*then */ { /*^cond.then */ /*_.IFELSE___V165*/ meltfptr[106] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4751:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_letrec check nbodbindings"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4751) ? (4751) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V165*/ meltfptr[106] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V164*/ meltfptr[116] = /*_.IFELSE___V165*/ meltfptr[106];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4751:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L64*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.IFELSE___V165*/ meltfptr[106] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V164*/ meltfptr[116] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4752:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NLETREC__V86*/ meltfptr[33]), (melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[14]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V86*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V86*/ meltfptr[33]), (2), ( /*_.NBODY__V158*/ meltfptr[102]), "NLET_BODY"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_BODY_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V86*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V86*/ meltfptr[33]), (4), ( /*_.NBODBINDINGS__V159*/ meltfptr[139]), "NLETREC_BODY_BINDINGS"); ; /*^touch */ meltgc_touch ( /*_.NLETREC__V86*/ meltfptr[33]); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4755:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L65*/ meltfnum[50] = /*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-normal.melt:4755:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L65*/ meltfnum[50]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L66*/ meltfnum[49] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4755:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L66*/ meltfnum[49]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4755; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec updated nletrec"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NLETREC__V86*/ meltfptr[33]; /*_.MELT_DEBUG_FUN__V168*/ meltfptr[37] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V167*/ meltfptr[146] = /*_.MELT_DEBUG_FUN__V168*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4755:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L66*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V168*/ meltfptr[37] = 0; } ; } else { /*^cond.else */ /*_.IF___V167*/ meltfptr[146] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4755:/ quasiblock"); /*_.PROGN___V169*/ meltfptr[38] = /*_.IF___V167*/ meltfptr[146];; /*^compute */ /*_.IFCPP___V166*/ meltfptr[107] = /*_.PROGN___V169*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4755:/ clear"); /*clear *//*_#MELT_NEED_DBG__L65*/ meltfnum[50] = 0; /*^clear */ /*clear *//*_.IF___V167*/ meltfptr[146] = 0; /*^clear */ /*clear *//*_.PROGN___V169*/ meltfptr[38] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V166*/ meltfptr[107] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4756:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L67*/ meltfnum[49] = (( /*_.BINDLIST__V20*/ meltfptr[19]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.BINDLIST__V20*/ meltfptr[19])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:4756:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L67*/ meltfnum[49]) /*then */ { /*^cond.then */ /*_.IFELSE___V171*/ meltfptr[37] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4756:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_letrec check bindlist"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4756) ? (4756) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V171*/ meltfptr[37] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V170*/ meltfptr[106] = /*_.IFELSE___V171*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4756:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L67*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.IFELSE___V171*/ meltfptr[37] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V170*/ meltfptr[106] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4758:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), 6, "NCTX_SYMBCACHEMAP"); /*_.SYCMAP__V172*/ meltfptr[146] = slot; }; ; /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit6__EACHLIST */ for ( /*_.CURPAIR__V173*/ meltfptr[38] = melt_list_first ((melt_ptr_t) /*_.BINDLIST__V20*/ meltfptr[19]); melt_magic_discr ((melt_ptr_t) /*_.CURPAIR__V173*/ meltfptr[38]) == MELTOBMAG_PAIR; /*_.CURPAIR__V173*/ meltfptr[38] = melt_pair_tail ((melt_ptr_t) /*_.CURPAIR__V173*/ meltfptr[38])) { /*_.BND__V174*/ meltfptr[37] = melt_pair_head ((melt_ptr_t) /*_.CURPAIR__V173*/ meltfptr[38]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4762:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L68*/ meltfnum[50] = /*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-normal.melt:4762:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L68*/ meltfnum[50]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L69*/ meltfnum[49] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4762:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L69*/ meltfnum[49]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4762; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec removing from sycmap bnd"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BND__V174*/ meltfptr[37]; /*_.MELT_DEBUG_FUN__V177*/ meltfptr[176] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V176*/ meltfptr[175] = /*_.MELT_DEBUG_FUN__V177*/ meltfptr[176];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4762:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L69*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V177*/ meltfptr[176] = 0; } ; } else { /*^cond.else */ /*_.IF___V176*/ meltfptr[175] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4762:/ quasiblock"); /*_.PROGN___V178*/ meltfptr[176] = /*_.IF___V176*/ meltfptr[175];; /*^compute */ /*_.IFCPP___V175*/ meltfptr[174] = /*_.PROGN___V178*/ meltfptr[176];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4762:/ clear"); /*clear *//*_#MELT_NEED_DBG__L68*/ meltfnum[50] = 0; /*^clear */ /*clear *//*_.IF___V176*/ meltfptr[175] = 0; /*^clear */ /*clear *//*_.PROGN___V178*/ meltfptr[176] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V175*/ meltfptr[174] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4763:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L70*/ meltfnum[49] = melt_is_instance_of ((melt_ptr_t) ( /*_.BND__V174*/ meltfptr[37]), (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[24])));; MELT_LOCATION ("warmelt-normal.melt:4763:/ cond"); /*cond */ if ( /*_#IS_A__L70*/ meltfnum[49]) /*then */ { /*^cond.then */ /*_.IFELSE___V180*/ meltfptr[176] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4763:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_letrec check bnd"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4763) ? (4763) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V180*/ meltfptr[176] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V179*/ meltfptr[175] = /*_.IFELSE___V180*/ meltfptr[176];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4763:/ clear"); /*clear *//*_#IS_A__L70*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.IFELSE___V180*/ meltfptr[176] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V179*/ meltfptr[175] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4764:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.BND__V174*/ meltfptr[37]), 0, "BINDER"); /*_.BINDER__V181*/ meltfptr[176] = slot; }; ; { /*^locexp */ meltgc_remove_mapobjects ((meltmapobjects_ptr_t) ( /*_.SYCMAP__V172*/ meltfptr[146]), (meltobject_ptr_t) ( /*_.BINDER__V181*/ meltfptr[176])); } ; } /* end foreach_in_list meltcit6__EACHLIST */ /*_.CURPAIR__V173*/ meltfptr[38] = NULL; /*_.BND__V174*/ meltfptr[37] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4759:/ clear"); /*clear *//*_.CURPAIR__V173*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.BND__V174*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.IFCPP___V175*/ meltfptr[174] = 0; /*^clear */ /*clear *//*_.IFCPP___V179*/ meltfptr[175] = 0; /*^clear */ /*clear *//*_.BINDER__V181*/ meltfptr[176] = 0; } /*endciterblock FOREACH_IN_LIST */ ; MELT_LOCATION ("warmelt-normal.melt:4758:/ clear"); /*clear *//*_.SYCMAP__V172*/ meltfptr[146] = 0; MELT_LOCATION ("warmelt-normal.melt:4767:/ quasiblock"); /*_.NLASTBODY__V183*/ meltfptr[182] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NBODY__V158*/ meltfptr[102]), (-1)));; MELT_LOCATION ("warmelt-normal.melt:4770:/ 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 *) & /*_.NEWENV__V22*/ meltfptr[21]; /*_.GET_CTYPE__V184*/ meltfptr[183] = meltgc_send ((melt_ptr_t) ( /*_.NLASTBODY__V183*/ meltfptr[182]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[26])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^cond */ /*cond */ if ( /*_.GET_CTYPE__V184*/ meltfptr[183]) /*then */ { /*^cond.then */ /*_.NLASTYP__V185*/ meltfptr[184] = /*_.GET_CTYPE__V184*/ meltfptr[183];; } else { MELT_LOCATION ("warmelt-normal.melt:4770:/ cond.else"); /*_.NLASTYP__V185*/ meltfptr[184] = ( /*!CTYPE_VOID */ meltfrout->tabval[25]);; } ; MELT_LOCATION ("warmelt-normal.melt:4771:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V186*/ meltfptr[185] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[27])), (melt_ptr_t) (( /*!konst_28_LETREC_ */ meltfrout-> tabval[28])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4772:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[24])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V188*/ meltfptr[187] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V188*/ meltfptr[187])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V188*/ meltfptr[187]), (0), ( /*_.CSYM__V186*/ meltfptr[185]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V188*/ meltfptr[187])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V188*/ meltfptr[187]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V188*/ meltfptr[187])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V188*/ meltfptr[187]), (1), ( /*_.NLASTYP__V185*/ meltfptr[184]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V188*/ meltfptr[187])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V188*/ meltfptr[187]), (2), ( /*_.NLETREC__V86*/ meltfptr[33]), "LETBIND_EXPR"); ; /*_.CBIND__V187*/ meltfptr[186] = /*_.INST__V188*/ meltfptr[187];; MELT_LOCATION ("warmelt-normal.melt:4777:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[15])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V190*/ meltfptr[189] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V190*/ meltfptr[189])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V190*/ meltfptr[189]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V190*/ meltfptr[189])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V190*/ meltfptr[189]), (2), ( /*_.NLASTYP__V185*/ meltfptr[184]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V190*/ meltfptr[189])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V190*/ meltfptr[189]), (3), ( /*_.CBIND__V187*/ meltfptr[186]), "NOCC_BIND"); ; /*_.CLOCC__V189*/ meltfptr[188] = /*_.INST__V190*/ meltfptr[189];; /*^compute */ /*_.RESBINDS__V191*/ meltfptr[190] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[4]))));; { MELT_LOCATION ("warmelt-normal.melt:4783:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.RESBINDS__V191*/ meltfptr[190]), (melt_ptr_t) ( /*_.CBIND__V187*/ meltfptr[186])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4784:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L71*/ meltfnum[50] = /*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-normal.melt:4784:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L71*/ meltfnum[50]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L72*/ meltfnum[49] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4784:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L72*/ meltfnum[49]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4784; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_letrec result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V189*/ meltfptr[188]; /*^apply.arg */ argtab[5].meltbp_cstring = " nletrec="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NLETREC__V86*/ meltfptr[33]; /*^apply.arg */ argtab[7].meltbp_cstring = " resbinds="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.RESBINDS__V191*/ meltfptr[190]; /*_.MELT_DEBUG_FUN__V194*/ meltfptr[193] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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___V193*/ meltfptr[192] = /*_.MELT_DEBUG_FUN__V194*/ meltfptr[193];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4784:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L72*/ meltfnum[49] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V194*/ meltfptr[193] = 0; } ; } else { /*^cond.else */ /*_.IF___V193*/ meltfptr[192] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4784:/ quasiblock"); /*_.PROGN___V195*/ meltfptr[193] = /*_.IF___V193*/ meltfptr[192];; /*^compute */ /*_.IFCPP___V192*/ meltfptr[191] = /*_.PROGN___V195*/ meltfptr[193];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4784:/ clear"); /*clear *//*_#MELT_NEED_DBG__L71*/ meltfnum[50] = 0; /*^clear */ /*clear *//*_.IF___V193*/ meltfptr[192] = 0; /*^clear */ /*clear *//*_.PROGN___V195*/ meltfptr[193] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V192*/ meltfptr[191] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4786:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normexp_letrec ending"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normal.melt:4787:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V189*/ meltfptr[188];; MELT_LOCATION ("warmelt-normal.melt:4787:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto labend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto labend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.RESBINDS__V191*/ meltfptr[190]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V182*/ meltfptr[146] = /*_.RETURN___V196*/ meltfptr[192];; MELT_LOCATION ("warmelt-normal.melt:4767:/ clear"); /*clear *//*_.NLASTBODY__V183*/ meltfptr[182] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V184*/ meltfptr[183] = 0; /*^clear */ /*clear *//*_.NLASTYP__V185*/ meltfptr[184] = 0; /*^clear */ /*clear *//*_.CSYM__V186*/ meltfptr[185] = 0; /*^clear */ /*clear *//*_.CBIND__V187*/ meltfptr[186] = 0; /*^clear */ /*clear *//*_.CLOCC__V189*/ meltfptr[188] = 0; /*^clear */ /*clear *//*_.RESBINDS__V191*/ meltfptr[190] = 0; /*^clear */ /*clear *//*_.IFCPP___V192*/ meltfptr[191] = 0; /*^clear */ /*clear *//*_.RETURN___V196*/ meltfptr[192] = 0; MELT_LOCATION ("warmelt-normal.melt:4747:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MULTI___V157*/ meltfptr[109] = /*_.LET___V182*/ meltfptr[146];; MELT_LOCATION ("warmelt-normal.melt:4747:/ clear"); /*clear *//*_.IFCPP___V160*/ meltfptr[144] = 0; /*^clear */ /*clear *//*_.IFCPP___V164*/ meltfptr[116] = 0; /*^clear */ /*clear *//*_.IFCPP___V166*/ meltfptr[107] = 0; /*^clear */ /*clear *//*_.IFCPP___V170*/ meltfptr[106] = 0; /*^clear */ /*clear *//*_.LET___V182*/ meltfptr[146] = 0; /*^clear */ /*clear *//*_.NBODBINDINGS__V159*/ meltfptr[139] = 0; /*_.LET___V82*/ meltfptr[46] = /*_.MULTI___V157*/ meltfptr[109];; MELT_LOCATION ("warmelt-normal.melt:4664:/ clear"); /*clear *//*_#NBCONSBIND__L33*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_#CURCIX__L34*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.NLOCSYMS__V83*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.NCBINDTUP__V84*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.RECFILLBINDINGS__V85*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.NLETREC__V86*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.IFCPP___V88*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V149*/ meltfptr[145] = 0; /*^clear */ /*clear *//*_.IFCPP___V153*/ meltfptr[103] = 0; /*^clear */ /*clear *//*_.MULTI___V157*/ meltfptr[109] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.LET___V82*/ meltfptr[46];; MELT_LOCATION ("warmelt-normal.melt:4604:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SBINDS__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SBODY__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_#NBBIND__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.BINDLIST__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.CONSBINDLIST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NEWENV__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_#I__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#MAPLEN__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.SYMBEXPRMAP__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.SYMBINDMAP__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.IFCPP___V78*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.LET___V82*/ meltfptr[46] = 0; MELT_LOCATION ("warmelt-normal.melt:4599:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4599:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_LETREC", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_110_warmelt_normal_NORMEXP_LETREC_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_normal_NORMEXP_LETREC */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_111_warmelt_normal_NORMAL_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_) { long current_blocklevel_signals_meltrout_111_warmelt_normal_NORMAL_PREDEF_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_normal_NORMAL_PREDEF_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 21 melt_ptr_t mcfr_varptr[21]; #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_111_warmelt_normal_NORMAL_PREDEF_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 21; 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 = 21; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMAL_PREDEF", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4796:/ getarg"); /*_.PRED__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MSG__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MSG__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4797:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L1*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.PRED__V2*/ meltfptr[1])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-normal.melt:4797:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4797:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check pred"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4797) ? (4797) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4797:/ clear"); /*clear *//*_#IS_OBJECT__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4798:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4798:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4798:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4798) ? (4798) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4798:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4799:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), 7, "NCTX_PREDEFMAP"); /*_.PREDEFMAP__V11*/ meltfptr[10] = slot; }; ; /*_.BRK__V12*/ meltfptr[11] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.PREDEFMAP__V11*/ meltfptr[10]), (meltobject_ptr_t) ( /*_.PRED__V2*/ meltfptr[1]));; MELT_LOCATION ("warmelt-normal.melt:4801:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_INTEGERBOX__L3*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.BRK__V12*/ meltfptr[11])) == MELTOBMAG_INT);; MELT_LOCATION ("warmelt-normal.melt:4801:/ cond"); /*cond */ if ( /*_#IS_INTEGERBOX__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_#OR___L4*/ meltfnum[3] = /*_#IS_INTEGERBOX__L3*/ meltfnum[0];; } else { MELT_LOCATION ("warmelt-normal.melt:4801:/ cond.else"); /*^block */ /*anyblock */ { /*_#IS_A__L5*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.BRK__V12*/ meltfptr[11]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout->tabval[1])));; /*^compute */ /*_#OR___L4*/ meltfnum[3] = /*_#IS_A__L5*/ meltfnum[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4801:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[4] = 0; } ; } ; /*^cond */ /*cond */ if ( /*_#OR___L4*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4802:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_PREDEF */ meltfrout->tabval[2])), (2), "CLASS_NREP_PREDEF"); /*_.INST__V15*/ meltfptr[14] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V15*/ meltfptr[14])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V15*/ meltfptr[14]), (0), ( /*_.SLOC__V4*/ meltfptr[3]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPREDEF", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V15*/ meltfptr[14])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V15*/ meltfptr[14]), (1), ( /*_.BRK__V12*/ meltfptr[11]), "NRPREDEF"); ; /*_.INST___V14*/ meltfptr[13] = /*_.INST__V15*/ meltfptr[14];; /*^compute */ /*_.IFELSE___V13*/ meltfptr[12] = /*_.INST___V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4801:/ clear"); /*clear *//*_.INST___V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4805:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L6*/ meltfnum[4] = (melt_magic_discr ((melt_ptr_t) ( /*_.MSG__V5*/ meltfptr[4])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-normal.melt:4805:/ cond"); /*cond */ if ( /*_#IS_STRING__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4807:/ 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-normal.melt:4807:/ 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-normal.melt:4807:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4807; /*^apply.arg */ argtab[3].meltbp_cstring = "normalpredef predefmap="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.PREDEFMAP__V11*/ meltfptr[10]; /*^apply.arg */ argtab[5].meltbp_cstring = " pred="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.PRED__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (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___V18*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4807:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4807:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[18] = /*_.IF___V18*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.PROGN___V20*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4807:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[6] = 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 */ ; { MELT_LOCATION ("warmelt-normal.melt:4808:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V4*/ meltfptr[3]), ("not a predef:"), (melt_ptr_t) ( /*_.MSG__V5*/ meltfptr[4])); } ; MELT_LOCATION ("warmelt-normal.melt:4806:/ quasiblock"); /*_.PROGN___V21*/ meltfptr[17] = ( /*nil */ NULL);; /*^compute */ /*_.IF___V16*/ meltfptr[13] = /*_.PROGN___V21*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4805:/ clear"); /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.PROGN___V21*/ meltfptr[17] = 0; } ; } else { /*^cond.else */ /*_.IF___V16*/ meltfptr[13] = NULL;; } ; /*^compute */ /*_.IFELSE___V13*/ meltfptr[12] = /*_.IF___V16*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4801:/ clear"); /*clear *//*_#IS_STRING__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V16*/ meltfptr[13] = 0; } ; } ; /*_.LET___V10*/ meltfptr[8] = /*_.IFELSE___V13*/ meltfptr[12];; MELT_LOCATION ("warmelt-normal.melt:4799:/ clear"); /*clear *//*_.PREDEFMAP__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.BRK__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_#IS_INTEGERBOX__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#OR___L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; MELT_LOCATION ("warmelt-normal.melt:4796:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V10*/ meltfptr[8];; { MELT_LOCATION ("warmelt-normal.melt:4796:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V10*/ meltfptr[8] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMAL_PREDEF", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_111_warmelt_normal_NORMAL_PREDEF_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_normal_NORMAL_PREDEF */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_112_warmelt_normal_NORMAL_SYMBOL_DATA (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_normal_NORMAL_SYMBOL_DATA_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_normal_NORMAL_SYMBOL_DATA_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 11 long mcfr_varnum[11]; /*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_normal_NORMAL_SYMBOL_DATA_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 ("NORMAL_SYMBOL_DATA", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4814:/ getarg"); /*_.SYM__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V4*/ meltfptr[3])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4816:/ 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-normal.melt:4816:/ 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-normal.melt:4816:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4816; /*^apply.arg */ argtab[3].meltbp_cstring = "normal_symbol_data start sym"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SYM__V2*/ meltfptr[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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4816:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0; } ; } else { /*^cond.else */ /*_.IF___V6*/ meltfptr[5] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4816:/ quasiblock"); /*_.PROGN___V8*/ meltfptr[6] = /*_.IF___V6*/ meltfptr[5];; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_.PROGN___V8*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4816:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.PROGN___V8*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4817:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_.DISCRIM__V10*/ meltfptr[6] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.SYM__V2*/ meltfptr[1]))));; /*^compute */ /*_#__L3*/ meltfnum[1] = (( /*_.DISCRIM__V10*/ meltfptr[6]) == (( /*!CLASS_SYMBOL */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4817:/ cond"); /*cond */ if ( /*_#__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4817:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check symb"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4817) ? (4817) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V9*/ meltfptr[5] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4817:/ clear"); /*clear *//*_.DISCRIM__V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_#__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4818:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:4818:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4818:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4818) ? (4818) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[6] = /*_.IFELSE___V13*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4818:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4819:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), 8, "NCTX_VALMAP"); /*_.VALMAP__V15*/ meltfptr[14] = slot; }; ; /*_.OSYDATA__V16*/ meltfptr[15] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.VALMAP__V15*/ meltfptr[14]), (meltobject_ptr_t) ( /*_.SYM__V2*/ meltfptr[1]));; MELT_LOCATION ("warmelt-normal.melt:4821:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.OSYDATA__V16*/ meltfptr[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4823:/ 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-normal.melt:4823:/ 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-normal.melt:4823:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4823; /*^apply.arg */ argtab[3].meltbp_cstring = "normal_symbol_data found osydata"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OSYDATA__V16*/ meltfptr[15]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V19*/ meltfptr[18] = /*_.MELT_DEBUG_FUN__V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4823:/ 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-normal.melt:4823:/ quasiblock"); /*_.PROGN___V21*/ meltfptr[19] = /*_.IF___V19*/ meltfptr[18];; /*^compute */ /*_.IFCPP___V18*/ meltfptr[17] = /*_.PROGN___V21*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4823:/ 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-normal.melt:4824:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.OSYDATA__V16*/ meltfptr[15];; { MELT_LOCATION ("warmelt-normal.melt:4824:/ 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-normal.melt:4822:/ quasiblock"); /*_.PROGN___V23*/ meltfptr[19] = /*_.RETURN___V22*/ meltfptr[18];; /*^compute */ /*_.IFELSE___V17*/ meltfptr[16] = /*_.PROGN___V23*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4821:/ clear"); /*clear *//*_.IFCPP___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.RETURN___V22*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.PROGN___V23*/ meltfptr[19] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4825:/ quasiblock"); /*_#SYHASH__L7*/ meltfnum[0] = (melt_obj_hash ((melt_ptr_t) ( /*_.SYM__V2*/ meltfptr[1])));; MELT_LOCATION ("warmelt-normal.melt:4826:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.SYM__V2*/ meltfptr[1]), 1, "NAMED_NAME"); /*_.SYNAMSTR__V25*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4829:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4830:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_string"; /*_.NORMAL_PREDEF__V26*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!DISCR_STRING */ meltfrout-> tabval[5])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4829:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATASTRING */ meltfrout->tabval[3])), (6), "CLASS_NREP_DATASTRING"); /*_.INST__V28*/ meltfptr[27] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (4), ( /*_.NORMAL_PREDEF__V26*/ meltfptr[19]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSTR_STRING", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (5), ( /*_.SYNAMSTR__V25*/ meltfptr[18]), "NSTR_STRING"); ; /*_.SYNAMSTRDATA__V27*/ meltfptr[26] = /*_.INST__V28*/ meltfptr[27];; MELT_LOCATION ("warmelt-normal.melt:4834:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout->tabval[1])), 6, "CLASS_FIELDS"); /*_.CLASS_FIELDS__V29*/ meltfptr[28] = slot; }; ; /*_#MULTIPLE_LENGTH__L8*/ meltfnum[1] = (melt_multiple_length ((melt_ptr_t) ( /*_.CLASS_FIELDS__V29*/ meltfptr[28])));; /*^compute */ /*_.SYSLOTS__V30*/ meltfptr[29] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[6])), ( /*_#MULTIPLE_LENGTH__L8*/ meltfnum[1])));; MELT_LOCATION ("warmelt-normal.melt:4835:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4837:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_cstring = "class_symbol"; /*_.NORMAL_PREDEF__V31*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[1])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.MAKE_INTEGERBOX__V32*/ meltfptr[31] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_INTEGER */ meltfrout->tabval[8])), ( /*_#SYHASH__L7*/ meltfnum[0])));; MELT_LOCATION ("warmelt-normal.melt:4835:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATASYMBOL */ meltfrout->tabval[7])), (10), "CLASS_NREP_DATASYMBOL"); /*_.INST__V34*/ meltfptr[33] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (1), ( /*_.SYM__V2*/ meltfptr[1]), "NDATA_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (4), ( /*_.NORMAL_PREDEF__V31*/ meltfptr[30]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NINST_HASH", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (7), ( /*_.MAKE_INTEGERBOX__V32*/ meltfptr[31]), "NINST_HASH"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NINST_SLOTS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (8), ( /*_.SYSLOTS__V30*/ meltfptr[29]), "NINST_SLOTS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDSY_NAMESTR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (9), ( /*_.SYNAMSTR__V25*/ meltfptr[18]), "NDSY_NAMESTR"); ; /*_.SYDATA__V33*/ meltfptr[32] = /*_.INST__V34*/ meltfptr[33];; /*^compute */ /*_#OBJ_NUM__L9*/ meltfnum[8] = (melt_obj_num ((melt_ptr_t) (( /*!NAMED_NAME */ meltfrout->tabval[9]))));; { MELT_LOCATION ("warmelt-normal.melt:4842:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.SYSLOTS__V30*/ meltfptr[29]), ( /*_#OBJ_NUM__L9*/ meltfnum[8]), (melt_ptr_t) ( /*_.SYNAMSTRDATA__V27*/ meltfptr[26])); } ; MELT_LOCATION ("warmelt-normal.melt:4843:/ 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 *) & /*_.SYDATA__V33*/ meltfptr[32]; /*_.ADD_NCTX_DATA__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4844:/ 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 *) & /*_.SYNAMSTRDATA__V27*/ meltfptr[26]; /*_.ADD_NCTX_DATA__V36*/ meltfptr[35] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-normal.melt:4845:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.VALMAP__V15*/ meltfptr[14]), (meltobject_ptr_t) ( /*_.SYM__V2*/ meltfptr[1]), (melt_ptr_t) ( /*_.SYDATA__V33*/ meltfptr[32])); } ; MELT_LOCATION ("warmelt-normal.melt:4846:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), 4, "NCTX_SYMBMAP"); /*_.NCTX_SYMBMAP__V37*/ meltfptr[36] = slot; }; ; { /*^locexp */ meltgc_put_mapstrings ((struct meltmapstrings_st *) ( /*_.NCTX_SYMBMAP__V37*/ meltfptr[36]), melt_string_str ((melt_ptr_t) ( /*_.SYNAMSTR__V25*/ meltfptr[18])), (melt_ptr_t) ( /*_.SYDATA__V33*/ meltfptr[32])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4847:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ meltfnum[9] = /*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-normal.melt:4847:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4847:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4847; /*^apply.arg */ argtab[3].meltbp_cstring = "normal_symbol_data return sydata"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SYDATA__V33*/ meltfptr[32]; /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 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___V39*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4847:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4847:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_.IF___V39*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[37] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4847:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.PROGN___V41*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[37] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4848:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.SYDATA__V33*/ meltfptr[32];; { MELT_LOCATION ("warmelt-normal.melt:4848:/ 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[17] = /*_.RETURN___V42*/ meltfptr[38];; MELT_LOCATION ("warmelt-normal.melt:4825:/ clear"); /*clear *//*_#SYHASH__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.SYNAMSTR__V25*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V26*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.SYNAMSTRDATA__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.CLASS_FIELDS__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.SYSLOTS__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.MAKE_INTEGERBOX__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.SYDATA__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_#OBJ_NUM__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.NCTX_SYMBMAP__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.RETURN___V42*/ meltfptr[38] = 0; /*_.IFELSE___V17*/ meltfptr[16] = /*_.LET___V24*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4821:/ clear"); /*clear *//*_.LET___V24*/ meltfptr[17] = 0; } ; } ; /*_.LET___V14*/ meltfptr[10] = /*_.IFELSE___V17*/ meltfptr[16];; MELT_LOCATION ("warmelt-normal.melt:4819:/ clear"); /*clear *//*_.VALMAP__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.OSYDATA__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; MELT_LOCATION ("warmelt-normal.melt:4814:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V14*/ meltfptr[10];; { MELT_LOCATION ("warmelt-normal.melt:4814:/ 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___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V14*/ meltfptr[10] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMAL_SYMBOL_DATA", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_112_warmelt_normal_NORMAL_SYMBOL_DATA_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_normal_NORMAL_SYMBOL_DATA */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_113_warmelt_normal_NORMAL_KEYWORD_DATA (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_normal_NORMAL_KEYWORD_DATA_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_normal_NORMAL_KEYWORD_DATA_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 28 melt_ptr_t mcfr_varptr[28]; #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_113_warmelt_normal_NORMAL_KEYWORD_DATA_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 28; 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 = 28; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMAL_KEYWORD_DATA", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4854:/ getarg"); /*_.KEYW__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V4*/ meltfptr[3])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4856:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_.DISCRIM__V6*/ meltfptr[5] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.KEYW__V2*/ meltfptr[1]))));; /*^compute */ /*_#__L1*/ meltfnum[0] = (( /*_.DISCRIM__V6*/ meltfptr[5]) == (( /*!CLASS_KEYWORD */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4856:/ cond"); /*cond */ if ( /*_#__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4856:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check keywb"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4856) ? (4856) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4856:/ clear"); /*clear *//*_.DISCRIM__V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_#__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4857:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4857:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4857:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4857) ? (4857) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[5] = /*_.IFELSE___V9*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4857:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4858:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), 8, "NCTX_VALMAP"); /*_.VALMAP__V11*/ meltfptr[10] = slot; }; ; /*_.OSYDATA__V12*/ meltfptr[11] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.VALMAP__V11*/ meltfptr[10]), (meltobject_ptr_t) ( /*_.KEYW__V2*/ meltfptr[1]));; MELT_LOCATION ("warmelt-normal.melt:4860:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.OSYDATA__V12*/ meltfptr[11]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = /*_.OSYDATA__V12*/ meltfptr[11];; } else { MELT_LOCATION ("warmelt-normal.melt:4860:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4861:/ quasiblock"); /*_#SYHASH__L3*/ meltfnum[0] = (melt_obj_hash ((melt_ptr_t) ( /*_.KEYW__V2*/ meltfptr[1])));; MELT_LOCATION ("warmelt-normal.melt:4862:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.KEYW__V2*/ meltfptr[1]), 1, "NAMED_NAME"); /*_.SYNAMSTR__V15*/ meltfptr[14] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4865:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4866:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_string"; /*_.NORMAL_PREDEF__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[3])), (melt_ptr_t) (( /*!DISCR_STRING */ meltfrout-> tabval[4])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4865:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATASTRING */ meltfrout->tabval[2])), (6), "CLASS_NREP_DATASTRING"); /*_.INST__V18*/ meltfptr[17] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V18*/ meltfptr[17])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V18*/ meltfptr[17]), (4), ( /*_.NORMAL_PREDEF__V16*/ meltfptr[15]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSTR_STRING", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V18*/ meltfptr[17])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V18*/ meltfptr[17]), (5), ( /*_.SYNAMSTR__V15*/ meltfptr[14]), "NSTR_STRING"); ; /*_.SYNAMSTRDATA__V17*/ meltfptr[16] = /*_.INST__V18*/ meltfptr[17];; MELT_LOCATION ("warmelt-normal.melt:4870:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) (( /*!CLASS_KEYWORD */ meltfrout->tabval[0])), 6, "CLASS_FIELDS"); /*_.CLASS_FIELDS__V19*/ meltfptr[18] = slot; }; ; /*_#MULTIPLE_LENGTH__L4*/ meltfnum[3] = (melt_multiple_length ((melt_ptr_t) ( /*_.CLASS_FIELDS__V19*/ meltfptr[18])));; /*^compute */ /*_.SYSLOTS__V20*/ meltfptr[19] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[5])), ( /*_#MULTIPLE_LENGTH__L4*/ meltfnum[3])));; MELT_LOCATION ("warmelt-normal.melt:4871:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4873:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_cstring = "class_keyword"; /*_.NORMAL_PREDEF__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[3])), (melt_ptr_t) (( /*!CLASS_KEYWORD */ meltfrout-> tabval[0])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.MAKE_INTEGERBOX__V22*/ meltfptr[21] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_INTEGER */ meltfrout->tabval[7])), ( /*_#SYHASH__L3*/ meltfnum[0])));; MELT_LOCATION ("warmelt-normal.melt:4871:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATAKEYWORD */ meltfrout->tabval[6])), (10), "CLASS_NREP_DATAKEYWORD"); /*_.INST__V24*/ meltfptr[23] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V24*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V24*/ meltfptr[23]), (1), ( /*_.KEYW__V2*/ meltfptr[1]), "NDATA_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V24*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V24*/ meltfptr[23]), (4), ( /*_.NORMAL_PREDEF__V21*/ meltfptr[20]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NINST_HASH", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V24*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V24*/ meltfptr[23]), (7), ( /*_.MAKE_INTEGERBOX__V22*/ meltfptr[21]), "NINST_HASH"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NINST_SLOTS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V24*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V24*/ meltfptr[23]), (8), ( /*_.SYSLOTS__V20*/ meltfptr[19]), "NINST_SLOTS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDSY_NAMESTR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V24*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V24*/ meltfptr[23]), (9), ( /*_.SYNAMSTR__V15*/ meltfptr[14]), "NDSY_NAMESTR"); ; /*_.SYDATA__V23*/ meltfptr[22] = /*_.INST__V24*/ meltfptr[23];; /*^compute */ /*_#OBJ_NUM__L5*/ meltfnum[4] = (melt_obj_num ((melt_ptr_t) (( /*!NAMED_NAME */ meltfrout->tabval[8]))));; { MELT_LOCATION ("warmelt-normal.melt:4878:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.SYSLOTS__V20*/ meltfptr[19]), ( /*_#OBJ_NUM__L5*/ meltfnum[4]), (melt_ptr_t) ( /*_.SYNAMSTRDATA__V17*/ meltfptr[16])); } ; MELT_LOCATION ("warmelt-normal.melt:4879:/ 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 *) & /*_.SYDATA__V23*/ meltfptr[22]; /*_.ADD_NCTX_DATA__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4880:/ 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 *) & /*_.SYNAMSTRDATA__V17*/ meltfptr[16]; /*_.ADD_NCTX_DATA__V26*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-normal.melt:4881:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.VALMAP__V11*/ meltfptr[10]), (meltobject_ptr_t) ( /*_.KEYW__V2*/ meltfptr[1]), (melt_ptr_t) ( /*_.SYDATA__V23*/ meltfptr[22])); } ; MELT_LOCATION ("warmelt-normal.melt:4882:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NCX__V3*/ meltfptr[2]), 5, "NCTX_KEYWMAP"); /*_.NCTX_KEYWMAP__V27*/ meltfptr[26] = slot; }; ; { /*^locexp */ meltgc_put_mapstrings ((struct meltmapstrings_st *) ( /*_.NCTX_KEYWMAP__V27*/ meltfptr[26]), melt_string_str ((melt_ptr_t) ( /*_.SYNAMSTR__V15*/ meltfptr[14])), (melt_ptr_t) ( /*_.SYDATA__V23*/ meltfptr[22])); } ; MELT_LOCATION ("warmelt-normal.melt:4883:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.SYDATA__V23*/ meltfptr[22];; { MELT_LOCATION ("warmelt-normal.melt:4883:/ 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[13] = /*_.RETURN___V28*/ meltfptr[27];; MELT_LOCATION ("warmelt-normal.melt:4861:/ clear"); /*clear *//*_#SYHASH__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.SYNAMSTR__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.SYNAMSTRDATA__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.CLASS_FIELDS__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.SYSLOTS__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.MAKE_INTEGERBOX__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.SYDATA__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_#OBJ_NUM__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.NCTX_KEYWMAP__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.RETURN___V28*/ meltfptr[27] = 0; /*_.IFELSE___V13*/ meltfptr[12] = /*_.LET___V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4860:/ clear"); /*clear *//*_.LET___V14*/ meltfptr[13] = 0; } ; } ; /*_.LET___V10*/ meltfptr[6] = /*_.IFELSE___V13*/ meltfptr[12];; MELT_LOCATION ("warmelt-normal.melt:4858:/ clear"); /*clear *//*_.VALMAP__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.OSYDATA__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; MELT_LOCATION ("warmelt-normal.melt:4854:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V10*/ meltfptr[6];; { MELT_LOCATION ("warmelt-normal.melt:4854:/ 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___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V10*/ meltfptr[6] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMAL_KEYWORD_DATA", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_113_warmelt_normal_NORMAL_KEYWORD_DATA_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_normal_NORMAL_KEYWORD_DATA */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_114_warmelt_normal_CREATE_DATA_SLOTS (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_normal_CREATE_DATA_SLOTS_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_normal_CREATE_DATA_SLOTS_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 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_114_warmelt_normal_CREATE_DATA_SLOTS_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 ("CREATE_DATA_SLOTS", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4888:/ getarg"); /*_.CLA__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4889:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CLA__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_CLASS */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4889:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4889:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cla"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4889) ? (4889) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4889:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4890:/ 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-normal.melt:4890:/ 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-normal.melt:4890:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4890; /*^apply.arg */ argtab[3].meltbp_cstring = "create_data_slots cla"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLA__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 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___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4890:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0; } ; } else { /*^cond.else */ /*_.IF___V6*/ meltfptr[5] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4890:/ quasiblock"); /*_.PROGN___V8*/ meltfptr[6] = /*_.IF___V6*/ meltfptr[5];; /*^compute */ /*_.IFCPP___V5*/ meltfptr[3] = /*_.PROGN___V8*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4890:/ clear"); /*clear *//*_#MELT_NEED_DBG__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.PROGN___V8*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4891:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4892:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CLA__V2*/ meltfptr[1]), 6, "CLASS_FIELDS"); /*_.CLASS_FIELDS__V10*/ meltfptr[6] = slot; }; ; /*_#MULTIPLE_LENGTH__L4*/ meltfnum[2] = (melt_multiple_length ((melt_ptr_t) ( /*_.CLASS_FIELDS__V10*/ meltfptr[6])));; /*^compute */ /*_.TUPSLO__V11*/ meltfptr[10] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[2])), ( /*_#MULTIPLE_LENGTH__L4*/ meltfnum[2])));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4894:/ 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-normal.melt:4894:/ 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-normal.melt:4894:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4894; /*^apply.arg */ argtab[3].meltbp_cstring = "create_data_slots tupslo"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.TUPSLO__V11*/ meltfptr[10]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 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___V13*/ meltfptr[12] = /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4894:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_.IF___V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4894:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[11] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4894:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ 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 */ ; /*^compute */ /*_.LET___V9*/ meltfptr[5] = /*_.TUPSLO__V11*/ meltfptr[10];; MELT_LOCATION ("warmelt-normal.melt:4891:/ clear"); /*clear *//*_.CLASS_FIELDS__V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L4*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.TUPSLO__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[11] = 0; MELT_LOCATION ("warmelt-normal.melt:4888:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V9*/ meltfptr[5];; { MELT_LOCATION ("warmelt-normal.melt:4888:/ 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 *//*_.IFCPP___V5*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V9*/ meltfptr[5] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("CREATE_DATA_SLOTS", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_114_warmelt_normal_CREATE_DATA_SLOTS_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_normal_CREATE_DATA_SLOTS */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_115_warmelt_normal_FILL_DATA_SLOT (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_115_warmelt_normal_FILL_DATA_SLOT_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_115_warmelt_normal_FILL_DATA_SLOT_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 9 melt_ptr_t mcfr_varptr[9]; #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_115_warmelt_normal_FILL_DATA_SLOT_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 9; 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 = 9; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("FILL_DATA_SLOT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4899:/ getarg"); /*_.DI__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.FIELD__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.FIELD__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.VAL__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.VAL__V4*/ meltfptr[3])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4900:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.DI__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NREP_DATAINSTANCE */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4900:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V6*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4900:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check di"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4900) ? (4900) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V6*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4900:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V6*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4901:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.FIELD__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4901:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V8*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4901:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check field"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4901) ? (4901) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V8*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[5] = /*_.IFELSE___V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4901:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V8*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4902:/ quasiblock"); /*_#FIX__L3*/ meltfnum[0] = (melt_obj_num ((melt_ptr_t) ( /*_.FIELD__V3*/ meltfptr[2])));; MELT_LOCATION ("warmelt-normal.melt:4903:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.DI__V2*/ meltfptr[1]), 8, "NINST_SLOTS"); /*_.SLOTS__V9*/ meltfptr[7] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:4904:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.SLOTS__V9*/ meltfptr[7]), ( /*_#FIX__L3*/ meltfnum[0]), (melt_ptr_t) ( /*_.VAL__V4*/ meltfptr[3])); } ; MELT_LOCATION ("warmelt-normal.melt:4902:/ clear"); /*clear *//*_#FIX__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.SLOTS__V9*/ meltfptr[7] = 0; MELT_LOCATION ("warmelt-normal.melt:4899:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[5] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("FILL_DATA_SLOT", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_115_warmelt_normal_FILL_DATA_SLOT_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_115_warmelt_normal_FILL_DATA_SLOT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_116_warmelt_normal_NORMEXP_QUOTE (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_116_warmelt_normal_NORMEXP_QUOTE_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_116_warmelt_normal_NORMEXP_QUOTE_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 57 melt_ptr_t mcfr_varptr[57]; #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_116_warmelt_normal_NORMEXP_QUOTE_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 57; 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 = 57; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_QUOTE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4909:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4910:/ 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_SOURCE_QUOTE */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4910:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4910:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check quote recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4910) ? (4910) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4910:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4911:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4911:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4911:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4911) ? (4911) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4911:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4912:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:4912:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4912:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4912) ? (4912) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4912:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4913:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ 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-normal.melt:4913:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4913:/ 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[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4913; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_quote recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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-normal.melt:4913:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_.IF___V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4913:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4913:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ 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[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4914:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4915:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 2, "SQUOTED"); /*_.QUOTED__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4916:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), 10, "NCTX_CURPROC"); /*_.CURPROC__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4919:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.DISCRIM__V20*/ meltfptr[19] = ((melt_ptr_t) (melt_discr ((melt_ptr_t) ( /*_.QUOTED__V18*/ meltfptr[17]))));; /*^compute */ /*_#__L6*/ meltfnum[4] = (( /*_.DISCRIM__V20*/ meltfptr[19]) == (( /*!CLASS_SYMBOL */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:4919:/ cond"); /*cond */ if ( /*_#__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4920:/ 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 *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.PSLOC__V5*/ meltfptr[4]; /*_.NORMAL_SYMBOL_DATA__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_SYMBOL_DATA */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.QUOTED__V18*/ meltfptr[17]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.NDATA__V21*/ meltfptr[20] = /*_.NORMAL_SYMBOL_DATA__V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4919:/ clear"); /*clear *//*_.NORMAL_SYMBOL_DATA__V22*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4921:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_INTEGERBOX__L7*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.QUOTED__V18*/ meltfptr[17])) == MELTOBMAG_INT);; MELT_LOCATION ("warmelt-normal.melt:4921:/ cond"); /*cond */ if ( /*_#IS_INTEGERBOX__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4922:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4923:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4924:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_constant_integer"; /*_.NORMAL_PREDEF__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[7])), (melt_ptr_t) (( /*!DISCR_CONSTANT_INTEGER */ meltfrout->tabval[8])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4923:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATABOXEDINTEGER */ meltfrout->tabval[6])), (6), "CLASS_NREP_DATABOXEDINTEGER"); /*_.INST__V27*/ meltfptr[26] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (4), ( /*_.NORMAL_PREDEF__V25*/ meltfptr[24]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NBOXINT_NUM", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (5), ( /*_.QUOTED__V18*/ meltfptr[17]), "NBOXINT_NUM"); ; /*_.NINTDATA__V26*/ meltfptr[25] = /*_.INST__V27*/ meltfptr[26];; MELT_LOCATION ("warmelt-normal.melt:4927:/ 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 *) & /*_.NINTDATA__V26*/ meltfptr[25]; /*_.ADD_NCTX_DATA__V28*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V24*/ meltfptr[23] = /*_.NINTDATA__V26*/ meltfptr[25];; MELT_LOCATION ("warmelt-normal.melt:4922:/ clear"); /*clear *//*_.NORMAL_PREDEF__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.NINTDATA__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V28*/ meltfptr[27] = 0; /*_.IFELSE___V23*/ meltfptr[21] = /*_.LET___V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4921:/ clear"); /*clear *//*_.LET___V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4930:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L8*/ meltfnum[7] = (melt_magic_discr ((melt_ptr_t) ( /*_.QUOTED__V18*/ meltfptr[17])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-normal.melt:4930:/ cond"); /*cond */ if ( /*_#IS_STRING__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4931:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4932:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4933:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_string"; /*_.NORMAL_PREDEF__V31*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout-> tabval[7])), (melt_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[11])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4932:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATASTRING */ meltfrout->tabval[10])), (6), "CLASS_NREP_DATASTRING"); /*_.INST__V33*/ meltfptr[32] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (4), ( /*_.NORMAL_PREDEF__V31*/ meltfptr[27]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSTR_STRING", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (5), ( /*_.QUOTED__V18*/ meltfptr[17]), "NSTR_STRING"); ; /*_.NSTRDATA__V32*/ meltfptr[23] = /*_.INST__V33*/ meltfptr[32];; MELT_LOCATION ("warmelt-normal.melt:4936:/ 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 *) & /*_.NSTRDATA__V32*/ meltfptr[23]; /*_.ADD_NCTX_DATA__V34*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout-> tabval[9])), (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V30*/ meltfptr[25] = /*_.NSTRDATA__V32*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:4931:/ clear"); /*clear *//*_.NORMAL_PREDEF__V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.NSTRDATA__V32*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V34*/ meltfptr[33] = 0; /*_.IFELSE___V29*/ meltfptr[24] = /*_.LET___V30*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4930:/ clear"); /*clear *//*_.LET___V30*/ meltfptr[25] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4941:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V36*/ meltfptr[23] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4941:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("unexpected quoted stuff"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4941) ? (4941) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V36*/ meltfptr[23] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V35*/ meltfptr[27] = /*_.IFELSE___V36*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4941:/ clear"); /*clear *//*_.IFELSE___V36*/ meltfptr[23] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V35*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4938:/ quasiblock"); /*_.PROGN___V37*/ meltfptr[33] = /*_.IFCPP___V35*/ meltfptr[27];; /*^compute */ /*_.IFELSE___V29*/ meltfptr[24] = /*_.PROGN___V37*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4930:/ clear"); /*clear *//*_.IFCPP___V35*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V37*/ meltfptr[33] = 0; } ; } ; /*_.IFELSE___V23*/ meltfptr[21] = /*_.IFELSE___V29*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4921:/ clear"); /*clear *//*_#IS_STRING__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V29*/ meltfptr[24] = 0; } ; } ; /*_.NDATA__V21*/ meltfptr[20] = /*_.IFELSE___V23*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4919:/ clear"); /*clear *//*_#IS_INTEGERBOX__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V23*/ meltfptr[21] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4945:/ 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-normal.melt:4945:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4945:/ 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[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4945; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_quote ndata"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NDATA__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V40*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V39*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4945:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4945:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[33] = /*_.IF___V39*/ meltfptr[23];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[25] = /*_.PROGN___V41*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4945:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V39*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.PROGN___V41*/ meltfptr[33] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4946:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L11*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURPROC__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_NREP_ROUTPROC */ meltfrout->tabval[12])));; MELT_LOCATION ("warmelt-normal.melt:4946:/ cond"); /*cond */ if ( /*_#IS_A__L11*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4947:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4948:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CONSTANT */ meltfrout->tabval[13])), (4), "CLASS_NREP_CONSTANT"); /*_.INST__V45*/ meltfptr[23] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V45*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V45*/ meltfptr[23]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONST_SVAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V45*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V45*/ meltfptr[23]), (1), ( /*_.QUOTED__V18*/ meltfptr[17]), "NCONST_SVAL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONST_DATA", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V45*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V45*/ meltfptr[23]), (3), ( /*_.NDATA__V21*/ meltfptr[20]), "NCONST_DATA"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONST_PROC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V45*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V45*/ meltfptr[23]), (2), ( /*_.CURPROC__V19*/ meltfptr[18]), "NCONST_PROC"); ; /*_.NCONST__V44*/ meltfptr[27] = /*_.INST__V45*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:4954:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURPROC__V19*/ meltfptr[18]), 5, "NRPRO_CONST"); /*_.NRPRO_CONST__V46*/ meltfptr[33] = slot; }; ; { /*^locexp */ meltgc_append_list ((melt_ptr_t) ( /*_.NRPRO_CONST__V46*/ meltfptr[33]), (melt_ptr_t) ( /*_.NDATA__V21*/ meltfptr[20])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4955:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ 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-normal.melt:4955:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4955:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4955; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_quote in routine nconst"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCONST__V44*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (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-normal.melt:4955:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = 0; } ; } else { /*^cond.else */ /*_.IF___V48*/ meltfptr[47] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4955:/ quasiblock"); /*_.PROGN___V50*/ meltfptr[48] = /*_.IF___V48*/ meltfptr[47];; /*^compute */ /*_.IFCPP___V47*/ meltfptr[46] = /*_.PROGN___V50*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4955:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[7] = 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 */ ; MELT_LOCATION ("warmelt-normal.melt:4956:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.NCONST__V44*/ meltfptr[27];; { MELT_LOCATION ("warmelt-normal.melt:4956:/ 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___V43*/ meltfptr[21] = /*_.RETURN___V51*/ meltfptr[47];; MELT_LOCATION ("warmelt-normal.melt:4947:/ clear"); /*clear *//*_.NCONST__V44*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.NRPRO_CONST__V46*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.IFCPP___V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.RETURN___V51*/ meltfptr[47] = 0; /*_.IFELSE___V42*/ meltfptr[24] = /*_.LET___V43*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4946:/ clear"); /*clear *//*_.LET___V43*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4958:/ 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-normal.melt:4958:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4958:/ 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[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4958; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_quote in init ndata"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NDATA__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V54*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V53*/ meltfptr[27] = /*_.MELT_DEBUG_FUN__V54*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4958:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V54*/ meltfptr[33] = 0; } ; } else { /*^cond.else */ /*_.IF___V53*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4958:/ quasiblock"); /*_.PROGN___V55*/ meltfptr[46] = /*_.IF___V53*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V52*/ meltfptr[48] = /*_.PROGN___V55*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4958:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IF___V53*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V55*/ meltfptr[46] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V52*/ meltfptr[48] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4959:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.NDATA__V21*/ meltfptr[20];; { MELT_LOCATION ("warmelt-normal.melt:4959:/ 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-normal.melt:4957:/ quasiblock"); /*_.PROGN___V57*/ meltfptr[21] = /*_.RETURN___V56*/ meltfptr[47];; /*^compute */ /*_.IFELSE___V42*/ meltfptr[24] = /*_.PROGN___V57*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4946:/ clear"); /*clear *//*_.IFCPP___V52*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.RETURN___V56*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.PROGN___V57*/ meltfptr[21] = 0; } ; } ; /*_.LET___V16*/ meltfptr[12] = /*_.IFELSE___V42*/ meltfptr[24];; MELT_LOCATION ("warmelt-normal.melt:4914:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.QUOTED__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.CURPROC__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.DISCRIM__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_#__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.NDATA__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_#IS_A__L11*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V42*/ meltfptr[24] = 0; MELT_LOCATION ("warmelt-normal.melt:4909:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4909:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_QUOTE", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_116_warmelt_normal_NORMEXP_QUOTE_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_116_warmelt_normal_NORMEXP_QUOTE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_117_warmelt_normal_NORMEXP_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_) { long current_blocklevel_signals_meltrout_117_warmelt_normal_NORMEXP_COMMENT_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_117_warmelt_normal_NORMEXP_COMMENT_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_117_warmelt_normal_NORMEXP_COMMENT_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 ("NORMEXP_COMMENT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4964:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4965:/ 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_SOURCE_COMMENT */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4965:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4965:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check comment recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4965) ? (4965) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4965:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4966:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4966:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4966:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4966) ? (4966) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4966:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4967:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:4967:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4967:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4967) ? (4967) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4967:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4968:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ 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-normal.melt:4968:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4968:/ 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[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4968; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_comment start recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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-normal.melt:4968:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_.IF___V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4968:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4968:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ 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[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4969:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4970:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), 2, "SCOMM_STR"); /*_.SCOMM__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4971:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_COMMENT */ meltfrout->tabval[4])), (2), "CLASS_NREP_COMMENT"); /*_.INST__V20*/ meltfptr[19] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V20*/ meltfptr[19]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCOMM_STRING", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V20*/ meltfptr[19]), (1), ( /*_.SCOMM__V18*/ meltfptr[17]), "NCOMM_STRING"); ; /*_.NCOMM__V19*/ meltfptr[18] = /*_.INST__V20*/ meltfptr[19];; MELT_LOCATION ("warmelt-normal.melt:4975:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[5])), (melt_ptr_t) (( /*!konst_6_COMMENT_ */ meltfrout-> tabval[6])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4976:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[7])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V23*/ meltfptr[22] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (0), ( /*_.CSYM__V21*/ meltfptr[20]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[8])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (2), ( /*_.NCOMM__V19*/ meltfptr[18]), "LETBIND_EXPR"); ; /*_.CBIND__V22*/ meltfptr[21] = /*_.INST__V23*/ meltfptr[22];; MELT_LOCATION ("warmelt-normal.melt:4981:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[9])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V25*/ meltfptr[24] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (2), (( /*!CTYPE_VOID */ meltfrout->tabval[8])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (1), ( /*_.CSYM__V21*/ meltfptr[20]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (3), ( /*_.CBIND__V22*/ meltfptr[21]), "NOCC_BIND"); ; /*_.CLOCC__V24*/ meltfptr[23] = /*_.INST__V25*/ meltfptr[24];; /*^compute */ /*_.BINDLIST__V26*/ meltfptr[25] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[10]))));; MELT_LOCATION ("warmelt-normal.melt:4988:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.SCOMM__V18*/ meltfptr[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG /*^cppif.then */ /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L6*/ meltfnum[4] = (melt_magic_discr ((melt_ptr_t) ( /*_.SCOMM__V18*/ meltfptr[17])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-normal.melt:4988:/ cond"); /*cond */ if ( /*_#IS_STRING__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V29*/ meltfptr[28] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4988:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check scomm"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4988) ? (4988) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V29*/ meltfptr[28] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V28*/ meltfptr[27] = /*_.IFELSE___V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4988:/ clear"); /*clear *//*_#IS_STRING__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V29*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V28*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.IF___V27*/ meltfptr[26] = /*_.IFCPP___V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4988:/ clear"); /*clear *//*_.IFCPP___V28*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[26] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:4989:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.BINDLIST__V26*/ meltfptr[25]), (melt_ptr_t) ( /*_.CBIND__V22*/ meltfptr[21])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4990:/ 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-normal.melt:4990:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4990:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4990; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_comment end ncomm="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCOMM__V19*/ meltfptr[18]; /*^apply.arg */ argtab[5].meltbp_cstring = " return clocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V24*/ meltfptr[23]; /*^apply.arg */ argtab[7].meltbp_cstring = " bindlist="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.BINDLIST__V26*/ meltfptr[25]; /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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___V31*/ meltfptr[27] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4990:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IF___V31*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4990:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[31] = /*_.IF___V31*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V30*/ meltfptr[28] = /*_.PROGN___V33*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4990:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V33*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4992:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:4992:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto labend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto labend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.BINDLIST__V26*/ meltfptr[25]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V16*/ meltfptr[12] = /*_.RETURN___V34*/ meltfptr[27];; MELT_LOCATION ("warmelt-normal.melt:4969:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SCOMM__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.NCOMM__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CSYM__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CBIND__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.CLOCC__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.BINDLIST__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.RETURN___V34*/ meltfptr[27] = 0; MELT_LOCATION ("warmelt-normal.melt:4964:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4964:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_COMMENT", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_117_warmelt_normal_NORMEXP_COMMENT_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_117_warmelt_normal_NORMEXP_COMMENT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_118_warmelt_normal_NORMEXP_KEYWORD (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_118_warmelt_normal_NORMEXP_KEYWORD_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_118_warmelt_normal_NORMEXP_KEYWORD_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 40 melt_ptr_t mcfr_varptr[40]; #define MELTFRAM_NBVARNUM 13 long mcfr_varnum[13]; /*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_118_warmelt_normal_NORMEXP_KEYWORD_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 40; 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 = 40; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_KEYWORD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4997:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.PSLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4998:/ 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_KEYWORD */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4998:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4998:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check keyword recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4998) ? (4998) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4998:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4999:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4999:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4999:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4999) ? (4999) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4999:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5000:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:5000:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5000:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5000) ? (5000) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5000:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5001:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ 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-normal.melt:5001:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:5001:/ 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[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5001; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_keyword recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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-normal.melt:5001:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_.IF___V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5001:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5001:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ 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[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5002:/ quasiblock"); /*^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 *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.PSLOC__V5*/ meltfptr[4]; /*_.KDATA__V17*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_KEYWORD_DATA */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5003:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), 10, "NCTX_CURPROC"); /*_.CURPROC__V18*/ meltfptr[17] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5005:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURPROC__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_NREP_ANYPROC */ meltfrout->tabval[5])));; MELT_LOCATION ("warmelt-normal.melt:5005:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V20*/ meltfptr[19] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5005:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curproc"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5005) ? (5005) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V20*/ meltfptr[19] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V19*/ meltfptr[18] = /*_.IFELSE___V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5005:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[4] = 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-normal.melt:5006:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURPROC__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_NREP_ROUTPROC */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:5006:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:5007:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:5008:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.CURPROC__V18*/ meltfptr[17]), 5, "NRPRO_CONST"); /*_.CONSTLIST__V23*/ meltfptr[22] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5009:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CONSTANT */ meltfrout->tabval[7])), (4), "CLASS_NREP_CONSTANT"); /*_.INST__V25*/ meltfptr[24] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (0), ( /*_.PSLOC__V5*/ meltfptr[4]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONST_SVAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (1), ( /*_.RECV__V2*/ meltfptr[1]), "NCONST_SVAL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONST_DATA", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (3), ( /*_.KDATA__V17*/ meltfptr[13]), "NCONST_DATA"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONST_PROC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (2), ( /*_.CURPROC__V18*/ meltfptr[17]), "NCONST_PROC"); ; /*_.NCONST__V24*/ meltfptr[23] = /*_.INST__V25*/ meltfptr[24];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5015:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[4] = /*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-normal.melt:5015:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:5015:/ 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-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5015; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_keyword routine curproc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURPROC__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V27*/ meltfptr[26] = /*_.MELT_DEBUG_FUN__V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5015:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5015:/ quasiblock"); /*_.PROGN___V29*/ meltfptr[27] = /*_.IF___V27*/ meltfptr[26];; /*^compute */ /*_.IFCPP___V26*/ meltfptr[25] = /*_.PROGN___V29*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5015:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.PROGN___V29*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:5016:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.CONSTLIST__V23*/ meltfptr[22]), (melt_ptr_t) ( /*_.KDATA__V17*/ meltfptr[13])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5017:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ meltfnum[8] = /*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-normal.melt:5017:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:5017:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5017; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_keyword result nconst"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCONST__V24*/ meltfptr[23]; /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V31*/ meltfptr[27] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5017:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IF___V31*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5017:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[31] = /*_.IF___V31*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V30*/ meltfptr[26] = /*_.PROGN___V33*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5017:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V33*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5018:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.NCONST__V24*/ meltfptr[23];; { MELT_LOCATION ("warmelt-normal.melt:5018:/ 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___V22*/ meltfptr[21] = /*_.RETURN___V34*/ meltfptr[27];; MELT_LOCATION ("warmelt-normal.melt:5007:/ clear"); /*clear *//*_.CONSTLIST__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.NCONST__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.RETURN___V34*/ meltfptr[27] = 0; /*_.IFELSE___V21*/ meltfptr[19] = /*_.LET___V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5006:/ clear"); /*clear *//*_.LET___V22*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5021:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[4] = /*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-normal.melt:5021:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:5021:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5021; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_keyword routineinit result kdata"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.KDATA__V17*/ meltfptr[13]; /*_.MELT_DEBUG_FUN__V37*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V36*/ meltfptr[22] = /*_.MELT_DEBUG_FUN__V37*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5021:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V37*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*_.IF___V36*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5021:/ quasiblock"); /*_.PROGN___V38*/ meltfptr[25] = /*_.IF___V36*/ meltfptr[22];; /*^compute */ /*_.IFCPP___V35*/ meltfptr[31] = /*_.PROGN___V38*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5021:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V36*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.PROGN___V38*/ meltfptr[25] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V35*/ meltfptr[31] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5022:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.KDATA__V17*/ meltfptr[13];; { MELT_LOCATION ("warmelt-normal.melt:5022:/ 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-normal.melt:5020:/ quasiblock"); /*_.PROGN___V40*/ meltfptr[27] = /*_.RETURN___V39*/ meltfptr[26];; /*^compute */ /*_.IFELSE___V21*/ meltfptr[19] = /*_.PROGN___V40*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5006:/ clear"); /*clear *//*_.IFCPP___V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.RETURN___V39*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.PROGN___V40*/ meltfptr[27] = 0; } ; } ; /*_.LET___V16*/ meltfptr[12] = /*_.IFELSE___V21*/ meltfptr[19];; MELT_LOCATION ("warmelt-normal.melt:5002:/ clear"); /*clear *//*_.KDATA__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.CURPROC__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_#IS_A__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V21*/ meltfptr[19] = 0; MELT_LOCATION ("warmelt-normal.melt:4997:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4997:/ 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___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_KEYWORD", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_118_warmelt_normal_NORMEXP_KEYWORD_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_118_warmelt_normal_NORMEXP_KEYWORD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_119_warmelt_normal_FILL_NORMAL_FORMALBIND (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_119_warmelt_normal_FILL_NORMAL_FORMALBIND_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_119_warmelt_normal_FILL_NORMAL_FORMALBIND_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 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_119_warmelt_normal_FILL_NORMAL_FORMALBIND_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 ("FILL_NORMAL_FORMALBIND", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5029:/ getarg"); /*_.FARGB__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.FORMSYMBMAP__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.FORMSYMBMAP__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4])) != NULL); /*getarg#4 */ /*^getarg */ if (meltxargdescr_[3] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V6*/ meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V6*/ meltfptr[5])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5030:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.FARGB__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:5030:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V8*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5030:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fargb"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5030) ? (5030) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V8*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[6] = /*_.IFELSE___V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5030:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V8*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5031:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.FARGB__V2*/ meltfptr[1]), 1, "FBIND_TYPE"); /*_.FTYP__V10*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5032:/ getslot"); { melt_ptr_t slot = 0; melt_object_get_field (slot, (melt_ptr_t) ( /*_.FARGB__V2*/ meltfptr[1]), 0, "BINDER"); /*_.FSYMB__V11*/ meltfptr[10] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5033:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.FDATASLOT__V12*/ meltfptr[11] = melt_apply ((meltclosure_ptr_t) (( /*!CREATE_DATA_SLOTS */ meltfrout->tabval[1])), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout-> tabval[0])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5035:/ checksignal"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5038:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V5*/ meltfptr[4]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V6*/ meltfptr[5]; /*^apply.arg */ argtab[2].meltbp_cstring = "class_formal_binding"; /*_.NORMAL_PREDEF__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[3])), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout-> tabval[0])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_#NONZERO_HASH__L2*/ meltfnum[0] = (melt_nonzerohash ());; /*^compute */ /*_.MAKE_INTEGERBOX__V14*/ meltfptr[13] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_INTEGER */ meltfrout->tabval[4])), ( /*_#NONZERO_HASH__L2*/ meltfnum[0])));; MELT_LOCATION ("warmelt-normal.melt:5035:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATAINSTANCE */ meltfrout->tabval[2])), (9), "CLASS_NREP_DATAINSTANCE"); /*_.INST__V16*/ meltfptr[15] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V16*/ meltfptr[15])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V16*/ meltfptr[15]), (0), ( /*_.SLOC__V6*/ meltfptr[5]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V16*/ meltfptr[15])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V16*/ meltfptr[15]), (4), ( /*_.NORMAL_PREDEF__V13*/ meltfptr[12]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NINST_HASH", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V16*/ meltfptr[15])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V16*/ meltfptr[15]), (7), ( /*_.MAKE_INTEGERBOX__V14*/ meltfptr[13]), "NINST_HASH"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NINST_SLOTS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V16*/ meltfptr[15])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V16*/ meltfptr[15]), (8), ( /*_.FDATASLOT__V12*/ meltfptr[11]), "NINST_SLOTS"); ; /*_.FARGDATA__V15*/ meltfptr[14] = /*_.INST__V16*/ meltfptr[15];; MELT_LOCATION ("warmelt-normal.melt:5042:/ 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 *) & /*_.NCX__V5*/ meltfptr[4]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V6*/ meltfptr[5]; /*_.FSYMBDATA__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_SYMBOL_DATA */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.FSYMB__V11*/ meltfptr[10]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5043:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V5*/ meltfptr[4]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V6*/ meltfptr[5]; /*^apply.arg */ argtab[2].meltbp_cstring = "primitive arg type"; /*_.FTYPDATA__V18*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.FTYP__V10*/ meltfptr[9]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5045:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[2] = melt_is_instance_of ((melt_ptr_t) ( /*_.FTYP__V10*/ meltfptr[9]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:5045:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V20*/ meltfptr[19] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5045:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ftyp"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5045) ? (5045) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V20*/ meltfptr[19] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V19*/ meltfptr[18] = /*_.IFELSE___V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5045:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[2] = 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-normal.melt:5046:/ 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 *) & /*_.FARGDATA__V15*/ meltfptr[14]; /*_.ADD_NCTX_DATA__V21*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5047:/ 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 *) & ( /*!BINDER */ meltfrout->tabval[9]); /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.FSYMBDATA__V17*/ meltfptr[16]; /*_.FILL_DATA_SLOT__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!FILL_DATA_SLOT */ meltfrout->tabval[8])), (melt_ptr_t) ( /*_.FARGDATA__V15*/ meltfptr[14]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5048:/ 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 *) & ( /*!FBIND_TYPE */ meltfrout->tabval[10]); /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.FTYPDATA__V18*/ meltfptr[17]; /*_.FILL_DATA_SLOT__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!FILL_DATA_SLOT */ meltfrout->tabval[8])), (melt_ptr_t) ( /*_.FARGDATA__V15*/ meltfptr[14]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-normal.melt:5049:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.FORMSYMBMAP__V3*/ meltfptr[2]), (meltobject_ptr_t) ( /*_.FSYMB__V11*/ meltfptr[10]), (melt_ptr_t) ( /*_.FARGDATA__V15*/ meltfptr[14])); } ; MELT_LOCATION ("warmelt-normal.melt:5050:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.FARGDATA__V15*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:5050:/ 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___V9*/ meltfptr[7] = /*_.RETURN___V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:5031:/ clear"); /*clear *//*_.FTYP__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.FSYMB__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.FDATASLOT__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_#NONZERO_HASH__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MAKE_INTEGERBOX__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.FARGDATA__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.FSYMBDATA__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.FTYPDATA__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V21*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.FILL_DATA_SLOT__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.FILL_DATA_SLOT__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.RETURN___V24*/ meltfptr[23] = 0; MELT_LOCATION ("warmelt-normal.melt:5029:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V9*/ meltfptr[7];; { MELT_LOCATION ("warmelt-normal.melt:5029:/ 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___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V9*/ meltfptr[7] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("FILL_NORMAL_FORMALBIND", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_119_warmelt_normal_FILL_NORMAL_FORMALBIND_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_119_warmelt_normal_FILL_NORMAL_FORMALBIND */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_120_warmelt_normal_FILL_NORMAL_FORMALS (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_120_warmelt_normal_FILL_NORMAL_FORMALS_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_120_warmelt_normal_FILL_NORMAL_FORMALS_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 12 melt_ptr_t mcfr_varptr[12]; #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_120_warmelt_normal_FILL_NORMAL_FORMALS_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 12; 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 = 12; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("FILL_NORMAL_FORMALS", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5054:/ getarg"); /*_.SARGS__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NARGTUPLE__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NARGTUPLE__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.FORMSYMBMAP__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.FORMSYMBMAP__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V5*/ meltfptr[4])) != NULL); /*getarg#4 */ /*^getarg */ if (meltxargdescr_[3] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V6*/ meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V6*/ meltfptr[5])) != NULL); /*getarg#5 */ /*^getarg */ if (meltxargdescr_[4] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V7*/ meltfptr[6] = (meltxargtab_[4].meltbp_aptr) ? (*(meltxargtab_[4].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V7*/ meltfptr[6])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SARGS__V2*/ meltfptr[1]); for ( /*_#IX__L1*/ meltfnum[0] = 0; ( /*_#IX__L1*/ meltfnum[0] >= 0) && ( /*_#IX__L1*/ meltfnum[0] < meltcit1__EACHTUP_ln); /*_#IX__L1*/ meltfnum[0]++) { /*_.FARGB__V8*/ meltfptr[7] = melt_multiple_nth ((melt_ptr_t) ( /*_.SARGS__V2*/ meltfptr[1]), /*_#IX__L1*/ meltfnum[0]); MELT_LOCATION ("warmelt-normal.melt:5058:/ quasiblock"); /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[4]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.FORMSYMBMAP__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V5*/ meltfptr[4]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V6*/ meltfptr[5]; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V7*/ meltfptr[6]; /*_.FARGDATA__V9*/ meltfptr[8] = melt_apply ((meltclosure_ptr_t) (( /*!FILL_NORMAL_FORMALBIND */ meltfrout-> tabval[0])), (melt_ptr_t) ( /*_.FARGB__V8*/ meltfptr[7]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5060:/ cppif.then"); /*^block */ /*anyblock */ { /*^checksignal */ MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.FARGDATA__V9*/ meltfptr[8]), (melt_ptr_t) (( /*!CLASS_NREP_DATAINSTANCE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:5060:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5060:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fargdata"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5060) ? (5060) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[9] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5060:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5061:/ checksignal"); MELT_CHECK_SIGNAL (); ; /*_.MAKE_INTEGERBOX__V12*/ meltfptr[10] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_INTEGER */ meltfrout->tabval[2])), ( /*_#IX__L1*/ meltfnum[0])));; MELT_LOCATION ("warmelt-normal.melt:5061:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NINST_OBJNUM", melt_magic_discr ((melt_ptr_t) ( /*_.FARGDATA__V9*/ meltfptr[8])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.FARGDATA__V9*/ meltfptr[8]), (5), ( /*_.MAKE_INTEGERBOX__V12*/ meltfptr[10]), "NINST_OBJNUM"); ; /*^touch */ meltgc_touch ( /*_.FARGDATA__V9*/ meltfptr[8]); ; { MELT_LOCATION ("warmelt-normal.melt:5063:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.NARGTUPLE__V3*/ meltfptr[2]), ( /*_#IX__L1*/ meltfnum[0]), (melt_ptr_t) ( /*_.FARGDATA__V9*/ meltfptr[8])); } ; MELT_LOCATION ("warmelt-normal.melt:5058:/ clear"); /*clear *//*_.FARGDATA__V9*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.MAKE_INTEGERBOX__V12*/ meltfptr[10] = 0; if ( /*_#IX__L1*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:5055:/ clear"); /*clear *//*_.FARGB__V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_#IX__L1*/ meltfnum[0] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; /*epilog */ } ; goto labend_rout; labend_rout: melt_trace_end ("FILL_NORMAL_FORMALS", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_120_warmelt_normal_FILL_NORMAL_FORMALS_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_120_warmelt_normal_FILL_NORMAL_FORMALS */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_121_warmelt_normal_FILL_NORMAL_EXPANSION (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_121_warmelt_normal_FILL_NORMAL_EXPANSION_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_121_warmelt_normal_FILL_NORMAL_EXPANSION_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 8 melt_ptr_t mcfr_varptr[8]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*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_121_warmelt_normal_FILL_NORMAL_EXPANSION_st *) meltfirstargp_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 8; 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 = 8; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("FILL_NORMAL_EXPANSION", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5067:/ getarg"); /*_.SEXP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NEXPTUPLE__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NEXPTUPLE__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.NCX__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.SLOC__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normal.melt:5070:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V7*/ meltfptr[6] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_8 */ meltfrout-> tabval[8])), (3)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V7*/ meltfptr[6])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V7*/ meltfptr[6]))); ((meltclosure_ptr_t) /*_.LAMBDA___V7*/ meltfptr[6])->tabval[0] = (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V7*/ meltfptr[6])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V7*/ meltfptr[6]))); ((meltclosure_ptr_t) /*_.LAMBDA___V7*/ meltfptr[6])->tabval[1] = (melt_ptr_t) ( /*_.SLOC__V5*/ meltfptr[4]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V7*/ meltfptr[6])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V7*/ meltfptr[6]))); ((meltclosure_ptr_t) /*_.LAMBDA___V7*/ meltfptr[6])->tabval[2] = (melt_ptr_t) ( /*_.NEXPTUPLE__V3*/ meltfptr[2]); ; /*_.LAMBDA___V6*/ meltfptr[5] = /*_.LAMBDA___V7*/ meltfptr[6];; MELT_LOCATION ("warmelt-normal.melt:5068:/ 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___V6*/ meltfptr[5]; /*_.MULTIPLE_EVERY__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[0])), (melt_ptr_t) ( /*_.SEXP__V2*/ meltfptr[1]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5067:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.MULTIPLE_EVERY__V8*/ meltfptr[7];; { MELT_LOCATION ("warmelt-normal.melt:5067:/ 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 *//*_.LAMBDA___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V8*/ meltfptr[7] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("FILL_NORMAL_EXPANSION", meltcallcount); melt_blocklevel_signals = current_blocklevel_signals_meltrout_121_warmelt_normal_FILL_NORMAL_EXPANSION_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_121_warmelt_normal_FILL_NORMAL_EXPANSION */ /**** end of warmelt-normal+03.c ****/