/* GCC MELT GENERATED FILE warmelt-normal+02.c - DO NOT EDIT */ /* secondary MELT generated C file of rank #2 */ #include "melt-run.h" /* used hash from melt-run.h when compiling this file: */ MELT_EXTERN const char meltrun_used_md5_melt_f2[] = MELT_RUN_HASHMD5 /* from melt-run.h */ ; /**** warmelt-normal+02.c declarations ****/ /*************************************************** *** Copyright 2008 - 2013 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 . *** ****************************************************/ /* ordinary MELT module */ #define MELT_HAS_INITIAL_ENVIRONMENT 1 /*usual */ struct melt_callframe_st; /*defined in melt-runtime.h */ 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_REGISTER_LITERAL_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_4_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_5_warmelt_normal_CREATE_NORMAL_EXTENDING_CONTEXT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_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_7_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_8_warmelt_normal_NORMEXP_ANY_OBJECT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_NORMEXP_ANY_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_10_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_11_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_12_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_13_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_14_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_15_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_16_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_17_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_18_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_19_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_20_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_21_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_22_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_23_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_24_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_25_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_26_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_27_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_28_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_29_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_30_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_31_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_32_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_33_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_34_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_35_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_36_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_37_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_38_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_39_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_40_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_41_warmelt_normal_NORMEXP_BOX (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_CONSTBOX (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_NORMEXP_UNBOX (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_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_45_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_46_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_47_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_48_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_49_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_50_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_51_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_52_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_53_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_54_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_55_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_56_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_57_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_58_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_59_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_60_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_61_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_62_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_63_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_64_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_65_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_66_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_67_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_68_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_69_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_70_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_71_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_72_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_73_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_74_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_75_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_76_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_77_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_78_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_79_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_80_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_81_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_82_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_83_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_84_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_85_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_86_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_87_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_88_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_89_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_90_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_91_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_92_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_93_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_94_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_95_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_96_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_97_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_98_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_99_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_100_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_101_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_102_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_103_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_104_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_105_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_106_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_107_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_108_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_109_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_110_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_111_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_112_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_113_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_114_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_115_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_116_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_117_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_118_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_119_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_120_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_121_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_122_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_123_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_124_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_125_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_126_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_127_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_128_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_129_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_130_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_131_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_132_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_133_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_134_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_135_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_136_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_137_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_138_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_139_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_140_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_141_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_142_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_143_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_144_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_145_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_146_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_147_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_148_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_149_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_150_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_151_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_152_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_153_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_154_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_155_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_156_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_157_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_158_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_159_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_160_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_161_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_162_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_163_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_164_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_165_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_166_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_); MELT_EXTERN void *melt_start_this_module (void *); /* define different names when debugging or not */ #if MELT_HAVE_DEBUG MELT_EXTERN 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 */ MELT_EXTERN 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_melt_start_this_module_st; void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_0 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_1 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_2 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_3 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_4 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_5 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_6 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_7 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_8 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_9 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_10 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_11 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_12 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_13 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_14 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_15 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_16 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_17 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_18 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_19 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_20 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_21 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_22 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_23 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_24 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_25 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_26 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_27 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_28 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_29 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_30 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_31 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_32 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_33 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_34 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_35 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_36 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_37 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_38 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_39 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_40 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_41 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_42 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_43 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_44 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_45 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_46 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_47 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_48 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_49 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__initialmeltchunk_50 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_normal__forward_or_mark_module_start_frame (struct melt_callframe_st *fp, int marking); #define meltmarking_melt_start_this_module meltmod__warmelt_normal__forward_or_mark_module_start_frame /**** warmelt-normal+02.c implementations ****/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_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_) { long current_blocklevel_signals_meltrout_40_warmelt_normal_NORMEXP_PRIMITIVE_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_40_warmelt_normal_NORMEXP_PRIMITIVE_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 94 melt_ptr_t mcfr_varptr[94]; #define MELTFRAM_NBVARNUM 42 long mcfr_varnum[42]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_40_warmelt_normal_NORMEXP_PRIMITIVE is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_40_warmelt_normal_NORMEXP_PRIMITIVE_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 94; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_40_warmelt_normal_NORMEXP_PRIMITIVE nbval 94*/ meltfram__.mcfr_nbvar = 94 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_PRIMITIVE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:1789:/ 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:1790:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:1790:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1790:/ 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 = 1790; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_primitive recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1790:/ 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:1790:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1790:/ 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:1791:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PRIMITIVE */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:1791:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:1791:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check prim recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (1791) ? (1791) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1791:/ 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1792:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:1792:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:1792:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (1792) ? (1792) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1792:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1793:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:1793:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:1793:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (1793) ? (1793) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1793:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:1794:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:1795:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SPRIM_OPER"); /*_.SOPER__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:1796:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SARGOP_ARGS"); /*_.SARGS__V19*/ meltfptr[18] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1798:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SOPER__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_PRIMITIVE */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:1798:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V21*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:1798:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check soper"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (1798) ? (1798) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_.IFELSE___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1798:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1799:/ 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[16]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V24*/ meltfptr[23]; /*^multiapply.appl */ /*_.NARGS__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.SARGS__V19*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_LOCATION ("warmelt-normal.melt:1802:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SOPER__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.SOPNAMSTR__V26*/ meltfptr[25] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:1803:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SOPER__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "PRIM_FORMALS"); /*_.SOPFORMALS__V27*/ meltfptr[26] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:1804:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SOPER__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "PRIM_TYPE"); /*_.SOPTYPE__V28*/ meltfptr[27] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:1805:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SOPER__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "PRIM_EXPANSION"); /*_.SOPEXP__V29*/ meltfptr[28] = slot; }; ; /*_#NBARG__L7*/ meltfnum[1] = (melt_multiple_length ((melt_ptr_t) ( /*_.NARGS__V23*/ meltfptr[22])));; /*^compute */ /*_#NBEXP__L8*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.SOPEXP__V29*/ meltfptr[28])));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1809:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[8] = melt_is_instance_of ((melt_ptr_t) ( /*_.SOPTYPE__V28*/ meltfptr[27]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:1809:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*_.IFELSE___V31*/ meltfptr[30] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:1809:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check soptype"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (1809) ? (1809) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V31*/ meltfptr[30] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V30*/ meltfptr[29] = /*_.IFELSE___V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1809:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFELSE___V31*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#MULTIPLE_LENGTH__L10*/ meltfnum[8] = (melt_multiple_length ((melt_ptr_t) ( /*_.SOPFORMALS__V27*/ meltfptr[26])));; /*^compute */ /*_#I__L11*/ meltfnum[10] = (( /*_#NBARG__L7*/ meltfnum[1]) != ( /*_#MULTIPLE_LENGTH__L10*/ meltfnum[8]));; MELT_LOCATION ("warmelt-normal.melt:1810:/ cond"); /*cond */ if ( /*_#I__L11*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:1812:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("length mismatch between formals & actuals in primitive"), (melt_ptr_t) ( /*_.SOPNAMSTR__V26*/ meltfptr[25])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1814:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = ( /*nil */ NULL);; { MELT_LOCATION ("warmelt-normal.melt:1814:/ 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:1811:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[33] = /*_.RETURN___V33*/ meltfptr[32];; /*^compute */ /*_.IF___V32*/ meltfptr[30] = /*_.PROGN___V34*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1810:/ clear"); /*clear *//*_.RETURN___V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[33] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1816:/ quasiblock"); /*_#I__L12*/ meltfnum[11] = ((3) * ( /*_#NBARG__L7*/ meltfnum[1]));; /*^compute */ /*_#IRAW__L13*/ meltfnum[12] = (( /*_#I__L12*/ meltfnum[11]) / (2));; /*^compute */ /*_#I__L14*/ meltfnum[13] = ((5) + ( /*_#IRAW__L13*/ meltfnum[12]));; /*^compute */ /*_.BMAP__V36*/ meltfptr[33] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[7])), ( /*_#I__L14*/ meltfnum[13])));; /*^compute */ /*_.EXPARGS__V37*/ meltfptr[36] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[8])), ( /*_#NBEXP__L8*/ meltfnum[0])));; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SOPFORMALS__V27*/ meltfptr[26]); for ( /*_#IX__L15*/ meltfnum[14] = 0; ( /*_#IX__L15*/ meltfnum[14] >= 0) && ( /*_#IX__L15*/ meltfnum[14] < meltcit1__EACHTUP_ln); /*_#IX__L15*/ meltfnum[14]++) { /*_.FORB__V38*/ meltfptr[37] = melt_multiple_nth ((melt_ptr_t) ( /*_.SOPFORMALS__V27*/ meltfptr[26]), /*_#IX__L15*/ meltfnum[14]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1822:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L16*/ meltfnum[15] = melt_is_instance_of ((melt_ptr_t) ( /*_.FORB__V38*/ meltfptr[37]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[9])));; MELT_LOCATION ("warmelt-normal.melt:1822:/ cond"); /*cond */ if ( /*_#IS_A__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*_.IFELSE___V40*/ meltfptr[39] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:1822:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check forb"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (1822) ? (1822) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V40*/ meltfptr[39] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V39*/ meltfptr[38] = /*_.IFELSE___V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1822:/ clear"); /*clear *//*_#IS_A__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IFELSE___V40*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V39*/ meltfptr[38] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1823:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:1823:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1823:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1823; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_primitive forb"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FORB__V38*/ meltfptr[37]; /*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V42*/ meltfptr[41] = /*_.MELT_DEBUG_FUN__V43*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1823:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = 0; } ; } else { /*^cond.else */ /*_.IF___V42*/ meltfptr[41] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1823:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[42] = /*_.IF___V42*/ meltfptr[41];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[39] = /*_.PROGN___V44*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1823:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IF___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.PROGN___V44*/ meltfptr[42] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V41*/ meltfptr[39] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:1824:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FORB__V38*/ meltfptr[37]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.FORARG__V45*/ meltfptr[41] = slot; }; ; /*_.ACTARG__V46*/ meltfptr[42] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NARGS__V23*/ meltfptr[22]), ( /*_#IX__L15*/ meltfnum[14])));; MELT_LOCATION ("warmelt-normal.melt:1826:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FORB__V38*/ meltfptr[37]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.FORTYPE__V47*/ meltfptr[46] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1827:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*_.ACTYPE__V48*/ meltfptr[47] = meltgc_send ((melt_ptr_t) ( /*_.ACTARG__V46*/ meltfptr[42]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[10])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1829:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ meltfnum[17] = /*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:1829:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[15] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1829:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[15]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1829; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_primitive actarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.ACTARG__V46*/ meltfptr[42]; /*^apply.arg */ argtab[5].meltbp_cstring = " actype="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.ACTYPE__V48*/ meltfptr[47]; /*_.MELT_DEBUG_FUN__V51*/ meltfptr[50] = 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___V50*/ meltfptr[49] = /*_.MELT_DEBUG_FUN__V51*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1829:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V51*/ meltfptr[50] = 0; } ; } else { /*^cond.else */ /*_.IF___V50*/ meltfptr[49] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1829:/ quasiblock"); /*_.PROGN___V52*/ meltfptr[50] = /*_.IF___V50*/ meltfptr[49];; /*^compute */ /*_.IFCPP___V49*/ meltfptr[48] = /*_.PROGN___V52*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1829:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.PROGN___V52*/ meltfptr[50] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V49*/ meltfptr[48] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_A__L21*/ meltfnum[15] = melt_is_instance_of ((melt_ptr_t) ( /*_.FORTYPE__V47*/ meltfptr[46]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:1830:/ cond"); /*cond */ if ( /*_#IS_A__L21*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L23*/ meltfnum[22] = melt_is_instance_of ((melt_ptr_t) ( /*_.ACTYPE__V48*/ meltfptr[47]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:1830:/ cond"); /*cond */ if ( /*_#IS_A__L23*/ meltfnum[22]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#__L25*/ meltfnum[24] = (( /*_.FORTYPE__V47*/ meltfptr[46]) != ( /*_.ACTYPE__V48*/ meltfptr[47]));; /*^compute */ /*_#IF___L24*/ meltfnum[23] = /*_#__L25*/ meltfnum[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1830:/ clear"); /*clear *//*_#__L25*/ meltfnum[24] = 0; } ; } else { /*^cond.else */ /*_#IF___L24*/ meltfnum[23] = 0;; } ; /*^compute */ /*_#IF___L22*/ meltfnum[17] = /*_#IF___L24*/ meltfnum[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1830:/ clear"); /*clear *//*_#IS_A__L23*/ meltfnum[22] = 0; /*^clear */ /*clear *//*_#IF___L24*/ meltfnum[23] = 0; } ; } else { /*^cond.else */ /*_#IF___L22*/ meltfnum[17] = 0;; } ; MELT_LOCATION ("warmelt-normal.melt:1830:/ cond"); /*cond */ if ( /*_#IF___L22*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:1834:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("type mismatch between formals & actuals in primitive"), (melt_ptr_t) ( /*_.SOPNAMSTR__V26*/ meltfptr[25])); } ; MELT_LOCATION ("warmelt-normal.melt:1837:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FORARG__V45*/ meltfptr[41]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V53*/ meltfptr[49] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:1836:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("mismatched primitive formal name"), (melt_ptr_t) ( /*_.NAMED_NAME__V53*/ meltfptr[49])); } ; MELT_LOCATION ("warmelt-normal.melt:1839:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.ACTYPE__V48*/ meltfptr[47]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V54*/ meltfptr[50] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:1838:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("mismatched primitive actual type"), (melt_ptr_t) ( /*_.NAMED_NAME__V54*/ meltfptr[50])); } ; MELT_LOCATION ("warmelt-normal.melt:1841:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FORTYPE__V47*/ meltfptr[46]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V55*/ meltfptr[54] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:1840:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("mismatched primitive expected type"), (melt_ptr_t) ( /*_.NAMED_NAME__V55*/ meltfptr[54])); } ; MELT_LOCATION ("warmelt-normal.melt:1833:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1830:/ clear"); /*clear *//*_.NAMED_NAME__V53*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V54*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V55*/ meltfptr[54] = 0; } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-normal.melt:1843:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) ( /*_.BMAP__V36*/ meltfptr[33]), (meltobject_ptr_t) ( /*_.FORARG__V45*/ meltfptr[41]), (melt_ptr_t) ( /*_.ACTARG__V46*/ meltfptr[42])); } ; MELT_LOCATION ("warmelt-normal.melt:1824:/ clear"); /*clear *//*_.FORARG__V45*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.ACTARG__V46*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.FORTYPE__V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.ACTYPE__V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.IFCPP___V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_#IS_A__L21*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_#IF___L22*/ meltfnum[17] = 0; if ( /*_#IX__L15*/ meltfnum[14] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:1819:/ clear"); /*clear *//*_.FORB__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_#IX__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IFCPP___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.IFCPP___V41*/ meltfptr[39] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1845:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L26*/ 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:1845:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L26*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L27*/ meltfnum[22] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1845:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L27*/ meltfnum[22]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1845; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_primitive bmap in sopexp"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BMAP__V36*/ meltfptr[33]; /*_.MELT_DEBUG_FUN__V58*/ meltfptr[54] = 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___V57*/ meltfptr[50] = /*_.MELT_DEBUG_FUN__V58*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1845:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L27*/ meltfnum[22] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V58*/ meltfptr[54] = 0; } ; } else { /*^cond.else */ /*_.IF___V57*/ meltfptr[50] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1845:/ quasiblock"); /*_.PROGN___V59*/ meltfptr[41] = /*_.IF___V57*/ meltfptr[50];; /*^compute */ /*_.IFCPP___V56*/ meltfptr[49] = /*_.PROGN___V59*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1845:/ clear"); /*clear *//*_#MELT_NEED_DBG__L26*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.IF___V57*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.PROGN___V59*/ meltfptr[41] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V56*/ meltfptr[49] = ( /*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) /*_.SOPEXP__V29*/ meltfptr[28]); for ( /*_#JX__L28*/ meltfnum[23] = 0; ( /*_#JX__L28*/ meltfnum[23] >= 0) && ( /*_#JX__L28*/ meltfnum[23] < meltcit2__EACHTUP_ln); /*_#JX__L28*/ meltfnum[23]++) { /*_.EXCU__V60*/ meltfptr[42] = melt_multiple_nth ((melt_ptr_t) ( /*_.SOPEXP__V29*/ meltfptr[28]), /*_#JX__L28*/ meltfnum[23]); MELT_LOCATION ("warmelt-normal.melt:1849:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L29*/ meltfnum[15] = melt_is_instance_of ((melt_ptr_t) ( /*_.EXCU__V60*/ meltfptr[42]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout->tabval[11])));; MELT_LOCATION ("warmelt-normal.melt:1850:/ cond"); /*cond */ if ( /*_#IS_A__L29*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:1851:/ quasiblock"); /*_.BVAL__V63*/ meltfptr[48] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) ( /*_.BMAP__V36*/ meltfptr[33]), (meltobject_ptr_t) ( /*_.EXCU__V60*/ meltfptr[42]));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L30*/ meltfnum[17] = (( /*_.BVAL__V63*/ meltfptr[48]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:1852:/ cond"); /*cond */ if ( /*_#NULL__L30*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1859:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L31*/ meltfnum[22] = /*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:1859:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L31*/ meltfnum[22]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L32*/ meltfnum[24] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1859:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L32*/ meltfnum[24]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1859; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_primitive recv unexpected symbol in expansion recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = "excu="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.EXCU__V60*/ meltfptr[42]; /*_.MELT_DEBUG_FUN__V66*/ meltfptr[41] = 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___V65*/ meltfptr[50] = /*_.MELT_DEBUG_FUN__V66*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1859:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L32*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V66*/ meltfptr[41] = 0; } ; } else { /*^cond.else */ /*_.IF___V65*/ meltfptr[50] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1859:/ quasiblock"); /*_.PROGN___V67*/ meltfptr[41] = /*_.IF___V65*/ meltfptr[50];; /*^compute */ /*_.IFCPP___V64*/ meltfptr[54] = /*_.PROGN___V67*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1859:/ clear"); /*clear *//*_#MELT_NEED_DBG__L31*/ meltfnum[22] = 0; /*^clear */ /*clear *//*_.IF___V65*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.PROGN___V67*/ meltfptr[41] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V64*/ meltfptr[54] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:1861:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.EXCU__V60*/ meltfptr[42]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V68*/ meltfptr[50] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:1860:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("unexpected symbol in primitive expansion"), (melt_ptr_t) ( /*_.NAMED_NAME__V68*/ meltfptr[50])); } ; { MELT_LOCATION ("warmelt-normal.melt:1862:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("bad primitive name"), (melt_ptr_t) ( /*_.SOPNAMSTR__V26*/ meltfptr[25])); } ; MELT_LOCATION ("warmelt-normal.melt:1853:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1852:/ clear"); /*clear *//*_.IFCPP___V64*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V68*/ meltfptr[50] = 0; } ; } /*noelse */ ; /*_.LET___V62*/ meltfptr[47] = /*_.BVAL__V63*/ meltfptr[48];; MELT_LOCATION ("warmelt-normal.melt:1851:/ clear"); /*clear *//*_.BVAL__V63*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_#NULL__L30*/ meltfnum[17] = 0; /*_.EXVAL__V61*/ meltfptr[46] = /*_.LET___V62*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1850:/ clear"); /*clear *//*_.LET___V62*/ meltfptr[47] = 0; } ; } else { /*^cond.else */ /*_.EXVAL__V61*/ meltfptr[46] = /*_.EXCU__V60*/ meltfptr[42];; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L33*/ meltfnum[24] = (( /*_.EXVAL__V61*/ meltfptr[46]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:1866:/ cond"); /*cond */ if ( /*_#NULL__L33*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:1868:/ locexp"); melt_warning_str (0, (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("null expansion of primitive argument for"), (melt_ptr_t) ( /*_.SOPNAMSTR__V26*/ meltfptr[25])); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_A__L34*/ meltfnum[22] = melt_is_instance_of ((melt_ptr_t) ( /*_.EXCU__V60*/ meltfptr[42]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout-> tabval[12])));; MELT_LOCATION ("warmelt-normal.melt:1870:/ cond"); /*cond */ if ( /*_#IS_A__L34*/ meltfnum[22]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:1872:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.EXCU__V60*/ meltfptr[42]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V69*/ meltfptr[41] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:1871:/ locexp"); melt_warning_str (0, (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("null primitive original piece is"), (melt_ptr_t) ( /*_.NAMED_NAME__V69*/ meltfptr[41])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1870:/ clear"); /*clear *//*_.NAMED_NAME__V69*/ meltfptr[41] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:1867:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1866:/ clear"); /*clear *//*_#IS_A__L34*/ meltfnum[22] = 0; } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-normal.melt:1874:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.EXPARGS__V37*/ meltfptr[36]), ( /*_#JX__L28*/ meltfnum[23]), (melt_ptr_t) ( /*_.EXVAL__V61*/ meltfptr[46])); } ; MELT_LOCATION ("warmelt-normal.melt:1849:/ clear"); /*clear *//*_#IS_A__L29*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.EXVAL__V61*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_#NULL__L33*/ meltfnum[24] = 0; if ( /*_#JX__L28*/ meltfnum[23] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:1846:/ clear"); /*clear *//*_.EXCU__V60*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_#JX__L28*/ meltfnum[23] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1877:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L35*/ meltfnum[17] = /*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:1877:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L35*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L36*/ meltfnum[22] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1877:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L36*/ meltfnum[22]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1877; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_primitive soper"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SOPER__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V72*/ meltfptr[48] = 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[50] = /*_.MELT_DEBUG_FUN__V72*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1877:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L36*/ meltfnum[22] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V72*/ meltfptr[48] = 0; } ; } else { /*^cond.else */ /*_.IF___V71*/ meltfptr[50] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1877:/ quasiblock"); /*_.PROGN___V73*/ meltfptr[47] = /*_.IF___V71*/ meltfptr[50];; /*^compute */ /*_.IFCPP___V70*/ meltfptr[54] = /*_.PROGN___V73*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1877:/ clear"); /*clear *//*_#MELT_NEED_DBG__L35*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V71*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.PROGN___V73*/ meltfptr[47] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V70*/ meltfptr[54] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1878:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L37*/ meltfnum[15] = melt_is_instance_of ((melt_ptr_t) ( /*_.SOPER__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout-> tabval[12])));; MELT_LOCATION ("warmelt-normal.melt:1878:/ cond"); /*cond */ if ( /*_#IS_A__L37*/ meltfnum[15]) /*then */ { /*^cond.then */ /*_.IFELSE___V75*/ meltfptr[46] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:1878:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check soper is named"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (1878) ? (1878) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V75*/ meltfptr[46] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V74*/ meltfptr[41] = /*_.IFELSE___V75*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1878:/ clear"); /*clear *//*_#IS_A__L37*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IFELSE___V75*/ meltfptr[46] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V74*/ meltfptr[41] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:1879:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V77*/ meltfptr[50] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[13])), (melt_ptr_t) ( /*_.SOPER__V18*/ meltfptr[17]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1880:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHUNK */ meltfrout->tabval[14])), (4), "CLASS_NREP_CHUNK"); /*_.INST__V79*/ meltfptr[46] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[46]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_EXPANSION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[46]), (2), ( /*_.EXPARGS__V37*/ meltfptr[36]), "NCHUNK_EXPANSION"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_OPER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[46]), (3), ( /*_.SOPER__V18*/ meltfptr[17]), "NCHUNK_OPER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[46]), (1), ( /*_.SOPTYPE__V28*/ meltfptr[27]), "NEXPR_CTYP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V79*/ meltfptr[46], "newly made instance"); ; /*_.NCHUNK__V78*/ meltfptr[47] = /*_.INST__V79*/ meltfptr[46];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1886:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[15])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V81*/ meltfptr[80] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V81*/ meltfptr[80])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V81*/ meltfptr[80]), (3), ( /*_.SLOC__V17*/ meltfptr[16]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V81*/ meltfptr[80])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V81*/ meltfptr[80]), (0), ( /*_.CSYM__V77*/ meltfptr[50]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V81*/ meltfptr[80])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V81*/ meltfptr[80]), (1), ( /*_.SOPTYPE__V28*/ meltfptr[27]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V81*/ meltfptr[80])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V81*/ meltfptr[80]), (2), ( /*_.NCHUNK__V78*/ meltfptr[47]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V81*/ meltfptr[80], "newly made instance"); ; /*_.CBIND__V80*/ meltfptr[79] = /*_.INST__V81*/ meltfptr[80];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1892:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[16])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V83*/ meltfptr[82] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[82])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[82]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[82])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[82]), (2), ( /*_.SOPTYPE__V28*/ meltfptr[27]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[82])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[82]), (1), ( /*_.CSYM__V77*/ meltfptr[50]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[82])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[82]), (3), ( /*_.CBIND__V80*/ meltfptr[79]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V83*/ meltfptr[82], "newly made instance"); ; /*_.CLOCC__V82*/ meltfptr[81] = /*_.INST__V83*/ meltfptr[82];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1898:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:1898:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L38*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L39*/ meltfnum[22] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1898:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L39*/ meltfnum[22]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1898; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_primitive nchunk="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCHUNK__V78*/ meltfptr[47]; /*_.MELT_DEBUG_FUN__V86*/ meltfptr[85] = 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___V85*/ meltfptr[84] = /*_.MELT_DEBUG_FUN__V86*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1898:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L39*/ meltfnum[22] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V86*/ meltfptr[85] = 0; } ; } else { /*^cond.else */ /*_.IF___V85*/ meltfptr[84] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1898:/ quasiblock"); /*_.PROGN___V87*/ meltfptr[85] = /*_.IF___V85*/ meltfptr[84];; /*^compute */ /*_.IFCPP___V84*/ meltfptr[83] = /*_.PROGN___V87*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1898:/ clear"); /*clear *//*_#MELT_NEED_DBG__L38*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.IF___V85*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.PROGN___V87*/ meltfptr[85] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V84*/ meltfptr[83] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_LIST__L40*/ meltfnum[17] = (melt_magic_discr ((melt_ptr_t) ( /*_.NBIND__V24*/ meltfptr[23])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normal.melt:1899:/ cond"); /*cond */ if ( /*_#IS_LIST__L40*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:1900:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V24*/ meltfptr[23]), (melt_ptr_t) ( /*_.CBIND__V80*/ meltfptr[79])); } ; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normal.melt:1899:/ cond.else"); /*^block */ /*anyblock */ { /*_.MAKE_LIST__V88*/ meltfptr[84] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[17]))));; MELT_LOCATION ("warmelt-normal.melt:1902:/ compute"); /*_.NBIND__V24*/ meltfptr[23] = /*_.SETQ___V89*/ meltfptr[85] = /*_.MAKE_LIST__V88*/ meltfptr[84];; { MELT_LOCATION ("warmelt-normal.melt:1903:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V24*/ meltfptr[23]), (melt_ptr_t) ( /*_.CBIND__V80*/ meltfptr[79])); } ; MELT_LOCATION ("warmelt-normal.melt:1901:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1899:/ clear"); /*clear *//*_.MAKE_LIST__V88*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.SETQ___V89*/ meltfptr[85] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1905:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L41*/ 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:1905:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L41*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L42*/ meltfnum[22] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1905:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L42*/ meltfnum[22]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1905; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_primitive result clocc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V82*/ meltfptr[81]; /*_.MELT_DEBUG_FUN__V92*/ meltfptr[91] = 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___V91*/ meltfptr[85] = /*_.MELT_DEBUG_FUN__V92*/ meltfptr[91];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1905:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L42*/ meltfnum[22] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V92*/ meltfptr[91] = 0; } ; } else { /*^cond.else */ /*_.IF___V91*/ meltfptr[85] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1905:/ quasiblock"); /*_.PROGN___V93*/ meltfptr[91] = /*_.IF___V91*/ meltfptr[85];; /*^compute */ /*_.IFCPP___V90*/ meltfptr[84] = /*_.PROGN___V93*/ meltfptr[91];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1905:/ clear"); /*clear *//*_#MELT_NEED_DBG__L41*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IF___V91*/ meltfptr[85] = 0; /*^clear */ /*clear *//*_.PROGN___V93*/ meltfptr[91] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V90*/ meltfptr[84] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1906:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V82*/ meltfptr[81];; MELT_LOCATION ("warmelt-normal.melt:1906:/ 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) ( /*_.NBIND__V24*/ meltfptr[23]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V76*/ meltfptr[48] = /*_.RETURN___V94*/ meltfptr[85];; MELT_LOCATION ("warmelt-normal.melt:1879:/ clear"); /*clear *//*_.CSYM__V77*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.NCHUNK__V78*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.CBIND__V80*/ meltfptr[79] = 0; /*^clear */ /*clear *//*_.CLOCC__V82*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.IFCPP___V84*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_#IS_LIST__L40*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V90*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.RETURN___V94*/ meltfptr[85] = 0; /*_.LET___V35*/ meltfptr[32] = /*_.LET___V76*/ meltfptr[48];; MELT_LOCATION ("warmelt-normal.melt:1816:/ clear"); /*clear *//*_#I__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_#IRAW__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_#I__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.BMAP__V36*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.EXPARGS__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V56*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.IFCPP___V70*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.IFCPP___V74*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.LET___V76*/ meltfptr[48] = 0; /*_.LET___V25*/ meltfptr[24] = /*_.LET___V35*/ meltfptr[32];; MELT_LOCATION ("warmelt-normal.melt:1802:/ clear"); /*clear *//*_.SOPNAMSTR__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.SOPFORMALS__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.SOPTYPE__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.SOPEXP__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_#NBARG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#NBEXP__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L10*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_#I__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.LET___V35*/ meltfptr[32] = 0; /*_.MULTI___V22*/ meltfptr[20] = /*_.LET___V25*/ meltfptr[24];; MELT_LOCATION ("warmelt-normal.melt:1799:/ clear"); /*clear *//*_.LET___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.NBIND__V24*/ meltfptr[23] = 0; /*_.LET___V16*/ meltfptr[14] = /*_.MULTI___V22*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:1794:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SOPER__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SARGS__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.MULTI___V22*/ meltfptr[20] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1789:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:1789:/ 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 *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_PRIMITIVE", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_40_warmelt_normal_NORMEXP_PRIMITIVE_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_40_warmelt_normal_NORMEXP_PRIMITIVE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_warmelt_normal_NORMEXP_BOX (meltclosure_ptr_t meltclosp_, 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_41_warmelt_normal_NORMEXP_BOX_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_41_warmelt_normal_NORMEXP_BOX_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 95 melt_ptr_t mcfr_varptr[95]; #define MELTFRAM_NBVARNUM 24 long mcfr_varnum[24]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_41_warmelt_normal_NORMEXP_BOX is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_41_warmelt_normal_NORMEXP_BOX_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 95; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_41_warmelt_normal_NORMEXP_BOX nbval 95*/ meltfram__.mcfr_nbvar = 95 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_BOX", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:1921:/ 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:1922:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:1922:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1922:/ 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 = 1922; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_box recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1922:/ 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:1922:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1922:/ 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:1923:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_BOX */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:1923:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:1923:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check box recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (1923) ? (1923) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1923:/ 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1924:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:1924:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:1924:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (1924) ? (1924) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1924:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1925:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:1925:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:1925:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (1925) ? (1925) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1925:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:1926:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:1927:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_QUASI_BOX */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SBOXED"); /*_.SBOXED__V18*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.SBOXED__V18*/ meltfptr[17] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1929:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V21*/ meltfptr[20]; /*^multimsend.send */ /*_.NBOXED__V20*/ meltfptr[19] = meltgc_send ((melt_ptr_t) ( /*_.SBOXED__V18*/ meltfptr[17]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1932:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:1932:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1932:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 1932; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_box nboxed="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBOXED__V20*/ meltfptr[19]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__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 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:1932:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*_.IF___V23*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1932:/ quasiblock"); /*_.PROGN___V25*/ meltfptr[23] = /*_.IF___V23*/ meltfptr[22];; /*^compute */ /*_.IFCPP___V22*/ meltfptr[21] = /*_.PROGN___V25*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1932:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 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_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_LIST__L8*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.NBIND__V21*/ meltfptr[20])) == MELTOBMAG_LIST);; /*^compute */ /*_#NOT__L9*/ meltfnum[0] = (!( /*_#IS_LIST__L8*/ meltfnum[1]));; MELT_LOCATION ("warmelt-normal.melt:1933:/ cond"); /*cond */ if ( /*_#NOT__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:1934:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltlist_st rlist_0__LIST_; 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 */ /*inilist rlist_0__LIST_ */ /*_.LIST___V28*/ meltfptr[27] = (melt_ptr_t) & meltletrec_1_ptr->rlist_0__LIST_; meltletrec_1_ptr->rlist_0__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*_.LIST___V27*/ meltfptr[23] = /*_.LIST___V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1934:/ clear"); /*clear *//*_.LIST___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.LIST___V28*/ meltfptr[27] = 0; } /*end multiallocblock */ ; /*^compute */ /*_.NBIND__V21*/ meltfptr[20] = /*_.SETQ___V29*/ meltfptr[27] = /*_.LIST___V27*/ meltfptr[23];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1935:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:1935:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1935:/ 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 = 1935; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_box set nbind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V31*/ meltfptr[30] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1935:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IF___V31*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1935:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[31] = /*_.IF___V31*/ meltfptr[30];; /*^compute */ /*_.IFCPP___V30*/ meltfptr[29] = /*_.PROGN___V33*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1935:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[9] = 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:1933:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[30] = /*_.IFCPP___V30*/ meltfptr[29];; /*^compute */ /*_.IF___V26*/ meltfptr[22] = /*_.PROGN___V34*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1933:/ clear"); /*clear *//*_.LIST___V27*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.SETQ___V29*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*_.IF___V26*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1936:/ quasiblock"); 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__V3*/ meltfptr[2]; /*_.NCTYP__V36*/ meltfptr[23] = meltgc_send ((melt_ptr_t) ( /*_.NBOXED__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[6])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:1937:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 11, "CTYPE_AUTOBOXDISCR"); /*_.AUTOBOXDISCR__V37*/ meltfptr[27] = slot; }; ; } else { /*^cond.else */ /*_.AUTOBOXDISCR__V37*/ meltfptr[27] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1939:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L12*/ meltfnum[10] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:1939:/ cond"); /*cond */ if ( /*_#IS_A__L12*/ meltfnum[10]) /*then */ { /*^cond.then */ /*_.IFELSE___V39*/ meltfptr[30] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:1939:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_box check nctyp"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (1939) ? (1939) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V39*/ meltfptr[30] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V38*/ meltfptr[29] = /*_.IFELSE___V39*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1939:/ clear"); /*clear *//*_#IS_A__L12*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFELSE___V39*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1940:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:1940:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1940:/ 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 = 1940; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_box nctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCTYP__V36*/ meltfptr[23]; /*^apply.arg */ argtab[5].meltbp_cstring = " autoboxdiscr="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.AUTOBOXDISCR__V37*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V42*/ meltfptr[41] = 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___V41*/ meltfptr[40] = /*_.MELT_DEBUG_FUN__V42*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1940:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V42*/ meltfptr[41] = 0; } ; } else { /*^cond.else */ /*_.IF___V41*/ meltfptr[40] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1940:/ quasiblock"); /*_.PROGN___V43*/ meltfptr[41] = /*_.IF___V41*/ meltfptr[40];; /*^compute */ /*_.IFCPP___V40*/ meltfptr[30] = /*_.PROGN___V43*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1940:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.PROGN___V43*/ meltfptr[41] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V40*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_NOT_A__L15*/ meltfnum[10] = !melt_is_instance_of ((melt_ptr_t) ( /*_.AUTOBOXDISCR__V37*/ meltfptr[27]), (melt_ptr_t) (( /*!CLASS_DISCRIMINANT */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:1941:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L15*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:1943:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V45*/ meltfptr[41] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V45*/ meltfptr[41] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:1942:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("non-BOX-able stuff of ctype"), (melt_ptr_t) ( /*_.NAMED_NAME__V45*/ meltfptr[41])); } ; MELT_LOCATION ("warmelt-normal.melt:1944:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:1944:/ 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:1941:/ quasiblock"); /*_.PROGN___V47*/ meltfptr[46] = /*_.RETURN___V46*/ meltfptr[45];; /*^compute */ /*_.IF___V44*/ meltfptr[40] = /*_.PROGN___V47*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1941:/ clear"); /*clear *//*_.NAMED_NAME__V45*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.RETURN___V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.PROGN___V47*/ meltfptr[46] = 0; } ; } else { /*^cond.else */ /*_.IF___V44*/ meltfptr[40] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1945:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*_#__L16*/ meltfnum[9] = (( /*_.NCTYP__V36*/ meltfptr[23]) == (( /*!CTYPE_VALUE */ meltfrout->tabval[10])));; MELT_LOCATION ("warmelt-normal.melt:1948:/ cond"); /*cond */ if ( /*_#__L16*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:1949:/ compute"); /*_.AUTOBOXDISCR__V37*/ meltfptr[27] = /*_.SETQ___V50*/ meltfptr[46] = ( /*nil */ NULL);; MELT_LOCATION ("warmelt-normal.melt:1948:/ quasiblock"); /*_.PROGN___V51*/ meltfptr[50] = ( /*!konst_11 */ meltfrout->tabval[11]);; /*^compute */ /*_.BOXER__V49*/ meltfptr[45] = /*_.PROGN___V51*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1948:/ clear"); /*clear *//*_.SETQ___V50*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.PROGN___V51*/ meltfptr[50] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L17*/ meltfnum[16] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE_PLAIN */ meltfrout->tabval[12])));; MELT_LOCATION ("warmelt-normal.melt:1952:/ cond"); /*cond */ if ( /*_#IS_A__L17*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:1953:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE_PLAIN */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 13, "CTYPP_BOXING"); /*_.BOXING__V54*/ meltfptr[53] = slot; }; ; } else { /*^cond.else */ /*_.BOXING__V54*/ meltfptr[53] = NULL;; } ; /*^compute */ /*_.LET___V53*/ meltfptr[50] = /*_.BOXING__V54*/ meltfptr[53];; MELT_LOCATION ("warmelt-normal.melt:1953:/ clear"); /*clear *//*_.BOXING__V54*/ meltfptr[53] = 0; /*_.IFELSE___V52*/ meltfptr[46] = /*_.LET___V53*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1952:/ clear"); /*clear *//*_.LET___V53*/ meltfptr[50] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L18*/ meltfnum[17] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout-> tabval[13])));; MELT_LOCATION ("warmelt-normal.melt:1957:/ cond"); /*cond */ if ( /*_#IS_A__L18*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:1958:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[13]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 21, "CTYPG_BOXFUN"); /*_.BOXFUN__V57*/ meltfptr[56] = slot; }; ; } else { /*^cond.else */ /*_.BOXFUN__V57*/ meltfptr[56] = NULL;; } ; /*^compute */ /*_.LET___V56*/ meltfptr[50] = /*_.BOXFUN__V57*/ meltfptr[56];; MELT_LOCATION ("warmelt-normal.melt:1958:/ clear"); /*clear *//*_.BOXFUN__V57*/ meltfptr[56] = 0; /*_.IFELSE___V55*/ meltfptr[53] = /*_.LET___V56*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1957:/ clear"); /*clear *//*_.LET___V56*/ meltfptr[50] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:1964:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V58*/ meltfptr[56] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V58*/ meltfptr[56] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:1963:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("unexpected ctype for BOX"), (melt_ptr_t) ( /*_.NAMED_NAME__V58*/ meltfptr[56])); } ; MELT_LOCATION ("warmelt-normal.melt:1962:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1957:/ clear"); /*clear *//*_.NAMED_NAME__V58*/ meltfptr[56] = 0; } ; } ; /*_.IFELSE___V52*/ meltfptr[46] = /*_.IFELSE___V55*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1952:/ clear"); /*clear *//*_#IS_A__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IFELSE___V55*/ meltfptr[53] = 0; } ; } ; /*_.BOXER__V49*/ meltfptr[45] = /*_.IFELSE___V52*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1948:/ clear"); /*clear *//*_#IS_A__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IFELSE___V52*/ meltfptr[46] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:1967:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ meltfnum[17] = /*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:1967:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1967:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 1967; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_box boxer="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BOXER__V49*/ meltfptr[45]; /*_.MELT_DEBUG_FUN__V61*/ 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___V60*/ meltfptr[56] = /*_.MELT_DEBUG_FUN__V61*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1967:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V61*/ meltfptr[53] = 0; } ; } else { /*^cond.else */ /*_.IF___V60*/ meltfptr[56] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:1967:/ quasiblock"); /*_.PROGN___V62*/ meltfptr[46] = /*_.IF___V60*/ meltfptr[56];; /*^compute */ /*_.IFCPP___V59*/ meltfptr[50] = /*_.PROGN___V62*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1967:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V60*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.PROGN___V62*/ meltfptr[46] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V59*/ meltfptr[50] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:1968:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1969:/ apply"); /*apply */ { /*_.CSYM__V64*/ meltfptr[56] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[14])), (melt_ptr_t) (( /*!konst_15_BOX */ meltfrout-> tabval[15])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1975:/ cond"); /*cond */ if ( /*_.AUTOBOXDISCR__V37*/ meltfptr[27]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:1976:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1978:/ 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[16]; /*^apply.arg */ argtab[2].meltbp_cstring = "autoboxing discriminant"; /*_.PREDEFDISCR__V67*/ meltfptr[66] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[18])), (melt_ptr_t) ( /*_.AUTOBOXDISCR__V37*/ meltfptr[27]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.CLONE_WITH_DISCRIMINANT__V68*/ meltfptr[67] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_19 */ meltfrout-> tabval[19])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[20])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V69*/ meltfptr[68] = meltgc_clone_with_discriminant ((melt_ptr_t) ( /*_.BOXER__V49*/ meltfptr[45]), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[20])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V70*/ meltfptr[69] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_21 */ meltfrout-> tabval[21])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[20])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V71*/ meltfptr[70] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_22 */ meltfrout-> tabval[22])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[20])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V72*/ meltfptr[71] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_23 */ meltfrout-> tabval[23])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[20])));; MELT_LOCATION ("warmelt-normal.melt:1981:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_2_st { struct MELT_MULTIPLE_STRUCT (7) rtup_0__TUPLREC__x2; long meltletrec_2_endgap; } *meltletrec_2_ptr = 0; meltletrec_2_ptr = (struct meltletrec_2_st *) meltgc_allocate (sizeof (struct meltletrec_2_st), 0); /*^blockmultialloc.initfill */ /*inimult rtup_0__TUPLREC__x2 */ /*_.TUPLREC___V74*/ meltfptr[73] = (melt_ptr_t) & meltletrec_2_ptr->rtup_0__TUPLREC__x2; meltletrec_2_ptr->rtup_0__TUPLREC__x2.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_2_ptr->rtup_0__TUPLREC__x2.nbval = 7; /*^putuple */ /*putupl#2 */ melt_assertmsg ("putupl [:1981] #2 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1981] #2 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73]))-> tabval[0] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V68*/ meltfptr[67]); ; /*^putuple */ /*putupl#3 */ melt_assertmsg ("putupl [:1981] #3 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1981] #3 checkoff", (1 >= 0 && 1 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73]))-> tabval[1] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V69*/ meltfptr[68]); ; /*^putuple */ /*putupl#4 */ melt_assertmsg ("putupl [:1981] #4 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1981] #4 checkoff", (2 >= 0 && 2 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73]))-> tabval[2] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V70*/ meltfptr[69]); ; /*^putuple */ /*putupl#5 */ melt_assertmsg ("putupl [:1981] #5 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1981] #5 checkoff", (3 >= 0 && 3 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73]))-> tabval[3] = (melt_ptr_t) ( /*_.PREDEFDISCR__V67*/ meltfptr[66]); ; /*^putuple */ /*putupl#6 */ melt_assertmsg ("putupl [:1981] #6 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1981] #6 checkoff", (4 >= 0 && 4 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73]))-> tabval[4] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V71*/ meltfptr[70]); ; /*^putuple */ /*putupl#7 */ melt_assertmsg ("putupl [:1981] #7 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1981] #7 checkoff", (5 >= 0 && 5 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73]))-> tabval[5] = (melt_ptr_t) ( /*_.NBOXED__V20*/ meltfptr[19]); ; /*^putuple */ /*putupl#8 */ melt_assertmsg ("putupl [:1981] #8 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1981] #8 checkoff", (6 >= 0 && 6 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V74*/ meltfptr[73]))-> tabval[6] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V72*/ meltfptr[71]); ; /*^touch */ meltgc_touch ( /*_.TUPLREC___V74*/ meltfptr[73]); ; /*_.TUPLE___V73*/ meltfptr[72] = /*_.TUPLREC___V74*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1981:/ clear"); /*clear *//*_.TUPLREC___V74*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.TUPLREC___V74*/ meltfptr[73] = 0; } /*end multiallocblock */ ; /*_.LET___V66*/ meltfptr[65] = /*_.TUPLE___V73*/ meltfptr[72];; MELT_LOCATION ("warmelt-normal.melt:1976:/ clear"); /*clear *//*_.PREDEFDISCR__V67*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V69*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V70*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V71*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V72*/ meltfptr[71] = 0; /*^clear */ /*clear *//*_.TUPLE___V73*/ meltfptr[72] = 0; /*_.IFELSE___V65*/ meltfptr[46] = /*_.LET___V66*/ meltfptr[65];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1975:/ clear"); /*clear *//*_.LET___V66*/ meltfptr[65] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { /*_.CLONE_WITH_DISCRIMINANT__V75*/ meltfptr[73] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_24 */ meltfrout-> tabval[24])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[20])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V76*/ meltfptr[66] = meltgc_clone_with_discriminant ((melt_ptr_t) ( /*_.BOXER__V49*/ meltfptr[45]), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[20])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V77*/ meltfptr[67] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_25 */ meltfrout-> tabval[25])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[20])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V78*/ meltfptr[68] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_26 */ meltfrout-> tabval[26])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[20])));; MELT_LOCATION ("warmelt-normal.melt:1990:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_3_st { struct MELT_MULTIPLE_STRUCT (5) rtup_0__TUPLREC__x3; long meltletrec_3_endgap; } *meltletrec_3_ptr = 0; meltletrec_3_ptr = (struct meltletrec_3_st *) meltgc_allocate (sizeof (struct meltletrec_3_st), 0); /*^blockmultialloc.initfill */ /*inimult rtup_0__TUPLREC__x3 */ /*_.TUPLREC___V80*/ meltfptr[70] = (melt_ptr_t) & meltletrec_3_ptr->rtup_0__TUPLREC__x3; meltletrec_3_ptr->rtup_0__TUPLREC__x3.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_3_ptr->rtup_0__TUPLREC__x3.nbval = 5; /*^putuple */ /*putupl#9 */ melt_assertmsg ("putupl [:1990] #9 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1990] #9 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70]))-> tabval[0] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V75*/ meltfptr[73]); ; /*^putuple */ /*putupl#10 */ melt_assertmsg ("putupl [:1990] #10 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1990] #10 checkoff", (1 >= 0 && 1 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70]))-> tabval[1] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V76*/ meltfptr[66]); ; /*^putuple */ /*putupl#11 */ melt_assertmsg ("putupl [:1990] #11 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1990] #11 checkoff", (2 >= 0 && 2 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70]))-> tabval[2] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V77*/ meltfptr[67]); ; /*^putuple */ /*putupl#12 */ melt_assertmsg ("putupl [:1990] #12 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1990] #12 checkoff", (3 >= 0 && 3 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70]))-> tabval[3] = (melt_ptr_t) ( /*_.NBOXED__V20*/ meltfptr[19]); ; /*^putuple */ /*putupl#13 */ melt_assertmsg ("putupl [:1990] #13 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:1990] #13 checkoff", (4 >= 0 && 4 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V80*/ meltfptr[70]))-> tabval[4] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V78*/ meltfptr[68]); ; /*^touch */ meltgc_touch ( /*_.TUPLREC___V80*/ meltfptr[70]); ; /*_.TUPLE___V79*/ meltfptr[69] = /*_.TUPLREC___V80*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1990:/ clear"); /*clear *//*_.TUPLREC___V80*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.TUPLREC___V80*/ meltfptr[70] = 0; } /*end multiallocblock */ ; /*_.IFELSE___V65*/ meltfptr[46] = /*_.TUPLE___V79*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:1975:/ clear"); /*clear *//*_.CLONE_WITH_DISCRIMINANT__V75*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V76*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V77*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V78*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.TUPLE___V79*/ meltfptr[69] = 0; } ; } ; MELT_LOCATION ("warmelt-normal.melt:1970:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHUNK */ meltfrout->tabval[16])), (4), "CLASS_NREP_CHUNK"); /*_.INST__V82*/ meltfptr[72] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[72])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[72]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_OPER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[72])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[72]), (3), (( /*!konst_15_BOX */ meltfrout->tabval[15])), "NCHUNK_OPER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[72])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[72]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[10])), "NEXPR_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_EXPANSION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[72])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[72]), (2), ( /*_.IFELSE___V65*/ meltfptr[46]), "NCHUNK_EXPANSION"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V82*/ meltfptr[72], "newly made instance"); ; /*_.NCHUNK__V81*/ meltfptr[71] = /*_.INST__V82*/ meltfptr[72];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1998:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[27])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V84*/ meltfptr[70] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V84*/ meltfptr[70])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V84*/ meltfptr[70]), (3), ( /*_.SLOC__V17*/ meltfptr[16]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V84*/ meltfptr[70])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V84*/ meltfptr[70]), (0), ( /*_.CSYM__V64*/ meltfptr[56]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V84*/ meltfptr[70])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V84*/ meltfptr[70]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[10])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V84*/ meltfptr[70])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V84*/ meltfptr[70]), (2), ( /*_.NCHUNK__V81*/ meltfptr[71]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V84*/ meltfptr[70], "newly made instance"); ; /*_.CBIND__V83*/ meltfptr[65] = /*_.INST__V84*/ meltfptr[70];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2004:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[28])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V86*/ meltfptr[66] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V86*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V86*/ meltfptr[66]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V86*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V86*/ meltfptr[66]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[10])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V86*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V86*/ meltfptr[66]), (1), ( /*_.CSYM__V64*/ meltfptr[56]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V86*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V86*/ meltfptr[66]), (3), ( /*_.CBIND__V83*/ meltfptr[65]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V86*/ meltfptr[66], "newly made instance"); ; /*_.CLOCC__V85*/ meltfptr[73] = /*_.INST__V86*/ meltfptr[66];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2010:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L21*/ 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:2010:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L21*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[17] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2010:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2010; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_box nchunk="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCHUNK__V81*/ meltfptr[71]; /*^apply.arg */ argtab[5].meltbp_cstring = " clocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V85*/ meltfptr[73]; /*_.MELT_DEBUG_FUN__V89*/ meltfptr[69] = 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___V88*/ meltfptr[68] = /*_.MELT_DEBUG_FUN__V89*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2010:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L22*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V89*/ meltfptr[69] = 0; } ; } else { /*^cond.else */ /*_.IF___V88*/ meltfptr[68] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2010:/ quasiblock"); /*_.PROGN___V90*/ meltfptr[69] = /*_.IF___V88*/ meltfptr[68];; /*^compute */ /*_.IFCPP___V87*/ meltfptr[67] = /*_.PROGN___V90*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2010:/ clear"); /*clear *//*_#MELT_NEED_DBG__L21*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V88*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.PROGN___V90*/ meltfptr[69] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V87*/ meltfptr[67] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:2011:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V21*/ meltfptr[20]), (melt_ptr_t) ( /*_.CBIND__V83*/ meltfptr[65])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2012:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L23*/ meltfnum[17] = /*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:2012:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L23*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2012:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2012; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_box return clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V85*/ meltfptr[73]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V93*/ meltfptr[92] = 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___V92*/ meltfptr[69] = /*_.MELT_DEBUG_FUN__V93*/ meltfptr[92];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2012:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L24*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V93*/ meltfptr[92] = 0; } ; } else { /*^cond.else */ /*_.IF___V92*/ meltfptr[69] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2012:/ quasiblock"); /*_.PROGN___V94*/ meltfptr[92] = /*_.IF___V92*/ meltfptr[69];; /*^compute */ /*_.IFCPP___V91*/ meltfptr[68] = /*_.PROGN___V94*/ meltfptr[92];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2012:/ clear"); /*clear *//*_#MELT_NEED_DBG__L23*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V92*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.PROGN___V94*/ meltfptr[92] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V91*/ meltfptr[68] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2013:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V85*/ meltfptr[73];; MELT_LOCATION ("warmelt-normal.melt:2013:/ 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) ( /*_.NBIND__V21*/ meltfptr[20]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V63*/ meltfptr[53] = /*_.RETURN___V95*/ meltfptr[69];; MELT_LOCATION ("warmelt-normal.melt:1968:/ clear"); /*clear *//*_.CSYM__V64*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.IFELSE___V65*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.NCHUNK__V81*/ meltfptr[71] = 0; /*^clear */ /*clear *//*_.CBIND__V83*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.CLOCC__V85*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.IFCPP___V87*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.IFCPP___V91*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.RETURN___V95*/ meltfptr[69] = 0; /*_.LET___V48*/ meltfptr[41] = /*_.LET___V63*/ meltfptr[53];; MELT_LOCATION ("warmelt-normal.melt:1945:/ clear"); /*clear *//*_#__L16*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.BOXER__V49*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.IFCPP___V59*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.LET___V63*/ meltfptr[53] = 0; /*_.LET___V35*/ meltfptr[31] = /*_.LET___V48*/ meltfptr[41];; MELT_LOCATION ("warmelt-normal.melt:1936:/ clear"); /*clear *//*_.NCTYP__V36*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.AUTOBOXDISCR__V37*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.IFCPP___V40*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L15*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V44*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.LET___V48*/ meltfptr[41] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V19*/ meltfptr[18] = /*_.LET___V35*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:1929:/ clear"); /*clear *//*_.IFCPP___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_#IS_LIST__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#NOT__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V26*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.LET___V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.NBIND__V21*/ meltfptr[20] = 0; /*_.LET___V16*/ meltfptr[14] = /*_.MULTI___V19*/ meltfptr[18];; MELT_LOCATION ("warmelt-normal.melt:1926:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SBOXED__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.MULTI___V19*/ meltfptr[18] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:1921:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:1921:/ 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 *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_BOX", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_41_warmelt_normal_NORMEXP_BOX_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_41_warmelt_normal_NORMEXP_BOX */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_warmelt_normal_NORMEXP_CONSTBOX (meltclosure_ptr_t meltclosp_, 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_42_warmelt_normal_NORMEXP_CONSTBOX_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_42_warmelt_normal_NORMEXP_CONSTBOX_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 92 melt_ptr_t mcfr_varptr[92]; #define MELTFRAM_NBVARNUM 23 long mcfr_varnum[23]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_42_warmelt_normal_NORMEXP_CONSTBOX is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_42_warmelt_normal_NORMEXP_CONSTBOX_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 92; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_42_warmelt_normal_NORMEXP_CONSTBOX nbval 92*/ meltfram__.mcfr_nbvar = 92 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_CONSTBOX", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:2019:/ 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:2020:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2020:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2020:/ 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 = 2020; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_box recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2020:/ 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:2020:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2020:/ 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:2021:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_CONSTANT_BOX */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:2021:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2021:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check box recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2021) ? (2021) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2021:/ 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2022:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:2022:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2022:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2022) ? (2022) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2022:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2023:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:2023:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2023:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2023) ? (2023) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2023:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2024:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2025:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_QUASI_BOX */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SBOXED"); /*_.SBOXED__V18*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.SBOXED__V18*/ meltfptr[17] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2027:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V21*/ meltfptr[20]; /*^multimsend.send */ /*_.NBOXED__V20*/ meltfptr[19] = meltgc_send ((melt_ptr_t) ( /*_.SBOXED__V18*/ meltfptr[17]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2030:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2030:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2030:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 2030; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_constbox nboxed="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBOXED__V20*/ meltfptr[19]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__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 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:2030:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*_.IF___V23*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2030:/ quasiblock"); /*_.PROGN___V25*/ meltfptr[23] = /*_.IF___V23*/ meltfptr[22];; /*^compute */ /*_.IFCPP___V22*/ meltfptr[21] = /*_.PROGN___V25*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2030:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 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_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_LIST__L8*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.NBIND__V21*/ meltfptr[20])) == MELTOBMAG_LIST);; /*^compute */ /*_#NOT__L9*/ meltfnum[0] = (!( /*_#IS_LIST__L8*/ meltfnum[1]));; MELT_LOCATION ("warmelt-normal.melt:2031:/ cond"); /*cond */ if ( /*_#NOT__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2032:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltlist_st rlist_0__LIST_; 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 */ /*inilist rlist_0__LIST_ */ /*_.LIST___V28*/ meltfptr[27] = (melt_ptr_t) & meltletrec_1_ptr->rlist_0__LIST_; meltletrec_1_ptr->rlist_0__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*_.LIST___V27*/ meltfptr[23] = /*_.LIST___V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2032:/ clear"); /*clear *//*_.LIST___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.LIST___V28*/ meltfptr[27] = 0; } /*end multiallocblock */ ; /*^compute */ /*_.NBIND__V21*/ meltfptr[20] = /*_.SETQ___V29*/ meltfptr[27] = /*_.LIST___V27*/ meltfptr[23];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2033:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2033:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2033:/ 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 = 2033; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_constbox set nbind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V31*/ meltfptr[30] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2033:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IF___V31*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2033:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[31] = /*_.IF___V31*/ meltfptr[30];; /*^compute */ /*_.IFCPP___V30*/ meltfptr[29] = /*_.PROGN___V33*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2033:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[9] = 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:2031:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[30] = /*_.IFCPP___V30*/ meltfptr[29];; /*^compute */ /*_.IF___V26*/ meltfptr[22] = /*_.PROGN___V34*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2031:/ clear"); /*clear *//*_.LIST___V27*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.SETQ___V29*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*_.IF___V26*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2034:/ quasiblock"); 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__V3*/ meltfptr[2]; /*_.NCTYP__V36*/ meltfptr[23] = meltgc_send ((melt_ptr_t) ( /*_.NBOXED__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[6])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2035:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 12, "CTYPE_AUTOCONSTBOXDISCR"); /*_.AUTOBOXDISCR__V37*/ meltfptr[27] = slot; }; ; } else { /*^cond.else */ /*_.AUTOBOXDISCR__V37*/ meltfptr[27] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2037:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L12*/ meltfnum[10] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:2037:/ cond"); /*cond */ if ( /*_#IS_A__L12*/ meltfnum[10]) /*then */ { /*^cond.then */ /*_.IFELSE___V39*/ meltfptr[30] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2037:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_constbox check nctyp"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2037) ? (2037) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V39*/ meltfptr[30] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V38*/ meltfptr[29] = /*_.IFELSE___V39*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2037:/ clear"); /*clear *//*_#IS_A__L12*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFELSE___V39*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2038:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2038:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2038:/ 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 = 2038; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_constbox nctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCTYP__V36*/ meltfptr[23]; /*^apply.arg */ argtab[5].meltbp_cstring = " autoboxdiscr="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.AUTOBOXDISCR__V37*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V42*/ meltfptr[41] = 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___V41*/ meltfptr[40] = /*_.MELT_DEBUG_FUN__V42*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2038:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V42*/ meltfptr[41] = 0; } ; } else { /*^cond.else */ /*_.IF___V41*/ meltfptr[40] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2038:/ quasiblock"); /*_.PROGN___V43*/ meltfptr[41] = /*_.IF___V41*/ meltfptr[40];; /*^compute */ /*_.IFCPP___V40*/ meltfptr[30] = /*_.PROGN___V43*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2038:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.PROGN___V43*/ meltfptr[41] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V40*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_NOT_A__L15*/ meltfnum[10] = !melt_is_instance_of ((melt_ptr_t) ( /*_.AUTOBOXDISCR__V37*/ meltfptr[27]), (melt_ptr_t) (( /*!CLASS_DISCRIMINANT */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:2039:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L15*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2041:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V45*/ meltfptr[41] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V45*/ meltfptr[41] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2040:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("non-CONSTANT_BOX-able stuff of ctype"), (melt_ptr_t) ( /*_.NAMED_NAME__V45*/ meltfptr[41])); } ; MELT_LOCATION ("warmelt-normal.melt:2042:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:2042:/ 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:2039:/ quasiblock"); /*_.PROGN___V47*/ meltfptr[46] = /*_.RETURN___V46*/ meltfptr[45];; /*^compute */ /*_.IF___V44*/ meltfptr[40] = /*_.PROGN___V47*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2039:/ clear"); /*clear *//*_.NAMED_NAME__V45*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.RETURN___V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.PROGN___V47*/ meltfptr[46] = 0; } ; } else { /*^cond.else */ /*_.IF___V44*/ meltfptr[40] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2043:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L16*/ meltfnum[9] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE_PLAIN */ meltfrout-> tabval[10])));; MELT_LOCATION ("warmelt-normal.melt:2046:/ cond"); /*cond */ if ( /*_#IS_A__L16*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2047:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE_PLAIN */ meltfrout->tabval[10]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 13, "CTYPP_BOXING"); /*_.BOXING__V51*/ meltfptr[50] = slot; }; ; } else { /*^cond.else */ /*_.BOXING__V51*/ meltfptr[50] = NULL;; } ; /*^compute */ /*_.LET___V50*/ meltfptr[46] = /*_.BOXING__V51*/ meltfptr[50];; MELT_LOCATION ("warmelt-normal.melt:2047:/ clear"); /*clear *//*_.BOXING__V51*/ meltfptr[50] = 0; /*_.BOXER__V49*/ meltfptr[45] = /*_.LET___V50*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2046:/ clear"); /*clear *//*_.LET___V50*/ meltfptr[46] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L17*/ meltfnum[16] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[11])));; MELT_LOCATION ("warmelt-normal.melt:2051:/ cond"); /*cond */ if ( /*_#IS_A__L17*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2052:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[11]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 21, "CTYPG_BOXFUN"); /*_.BOXFUN__V54*/ meltfptr[53] = slot; }; ; } else { /*^cond.else */ /*_.BOXFUN__V54*/ meltfptr[53] = NULL;; } ; /*^compute */ /*_.LET___V53*/ meltfptr[46] = /*_.BOXFUN__V54*/ meltfptr[53];; MELT_LOCATION ("warmelt-normal.melt:2052:/ clear"); /*clear *//*_.BOXFUN__V54*/ meltfptr[53] = 0; /*_.IFELSE___V52*/ meltfptr[50] = /*_.LET___V53*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2051:/ clear"); /*clear *//*_.LET___V53*/ meltfptr[46] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2058:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V36*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V55*/ meltfptr[53] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V55*/ meltfptr[53] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2057:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("unexpected ctype for BOX"), (melt_ptr_t) ( /*_.NAMED_NAME__V55*/ meltfptr[53])); } ; MELT_LOCATION ("warmelt-normal.melt:2056:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2051:/ clear"); /*clear *//*_.NAMED_NAME__V55*/ meltfptr[53] = 0; } ; } ; /*_.BOXER__V49*/ meltfptr[45] = /*_.IFELSE___V52*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2046:/ clear"); /*clear *//*_#IS_A__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IFELSE___V52*/ meltfptr[50] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2061:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L18*/ 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:2061:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2061:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2061; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_box boxer="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BOXER__V49*/ meltfptr[45]; /*_.MELT_DEBUG_FUN__V58*/ meltfptr[50] = 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___V57*/ meltfptr[53] = /*_.MELT_DEBUG_FUN__V58*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2061:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V58*/ meltfptr[50] = 0; } ; } else { /*^cond.else */ /*_.IF___V57*/ meltfptr[53] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2061:/ quasiblock"); /*_.PROGN___V59*/ meltfptr[50] = /*_.IF___V57*/ meltfptr[53];; /*^compute */ /*_.IFCPP___V56*/ meltfptr[46] = /*_.PROGN___V59*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2061:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V57*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.PROGN___V59*/ meltfptr[50] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V56*/ meltfptr[46] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2062:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2063:/ apply"); /*apply */ { /*_.CSYM__V61*/ meltfptr[50] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[12])), (melt_ptr_t) (( /*!konst_13_BOX */ meltfrout-> tabval[13])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2069:/ cond"); /*cond */ if ( /*_.AUTOBOXDISCR__V37*/ meltfptr[27]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2070:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2072:/ 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[16]; /*^apply.arg */ argtab[2].meltbp_cstring = "autoconstboxing discriminant"; /*_.PREDEFDISCR__V64*/ meltfptr[63] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.AUTOBOXDISCR__V37*/ meltfptr[27]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.CLONE_WITH_DISCRIMINANT__V65*/ meltfptr[64] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_18 */ meltfrout-> tabval[18])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[19])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V66*/ meltfptr[65] = meltgc_clone_with_discriminant ((melt_ptr_t) ( /*_.BOXER__V49*/ meltfptr[45]), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[19])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V67*/ meltfptr[66] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_20 */ meltfrout-> tabval[20])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[19])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V68*/ meltfptr[67] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_21 */ meltfrout-> tabval[21])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[19])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V69*/ meltfptr[68] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_22 */ meltfrout-> tabval[22])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[19])));; MELT_LOCATION ("warmelt-normal.melt:2075:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_2_st { struct MELT_MULTIPLE_STRUCT (7) rtup_0__TUPLREC__x4; long meltletrec_2_endgap; } *meltletrec_2_ptr = 0; meltletrec_2_ptr = (struct meltletrec_2_st *) meltgc_allocate (sizeof (struct meltletrec_2_st), 0); /*^blockmultialloc.initfill */ /*inimult rtup_0__TUPLREC__x4 */ /*_.TUPLREC___V71*/ meltfptr[70] = (melt_ptr_t) & meltletrec_2_ptr->rtup_0__TUPLREC__x4; meltletrec_2_ptr->rtup_0__TUPLREC__x4.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_2_ptr->rtup_0__TUPLREC__x4.nbval = 7; /*^putuple */ /*putupl#14 */ melt_assertmsg ("putupl [:2075] #14 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2075] #14 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70]))-> tabval[0] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V65*/ meltfptr[64]); ; /*^putuple */ /*putupl#15 */ melt_assertmsg ("putupl [:2075] #15 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2075] #15 checkoff", (1 >= 0 && 1 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70]))-> tabval[1] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V66*/ meltfptr[65]); ; /*^putuple */ /*putupl#16 */ melt_assertmsg ("putupl [:2075] #16 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2075] #16 checkoff", (2 >= 0 && 2 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70]))-> tabval[2] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V67*/ meltfptr[66]); ; /*^putuple */ /*putupl#17 */ melt_assertmsg ("putupl [:2075] #17 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2075] #17 checkoff", (3 >= 0 && 3 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70]))-> tabval[3] = (melt_ptr_t) ( /*_.PREDEFDISCR__V64*/ meltfptr[63]); ; /*^putuple */ /*putupl#18 */ melt_assertmsg ("putupl [:2075] #18 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2075] #18 checkoff", (4 >= 0 && 4 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70]))-> tabval[4] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V68*/ meltfptr[67]); ; /*^putuple */ /*putupl#19 */ melt_assertmsg ("putupl [:2075] #19 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2075] #19 checkoff", (5 >= 0 && 5 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70]))-> tabval[5] = (melt_ptr_t) ( /*_.NBOXED__V20*/ meltfptr[19]); ; /*^putuple */ /*putupl#20 */ melt_assertmsg ("putupl [:2075] #20 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2075] #20 checkoff", (6 >= 0 && 6 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V71*/ meltfptr[70]))-> tabval[6] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V69*/ meltfptr[68]); ; /*^touch */ meltgc_touch ( /*_.TUPLREC___V71*/ meltfptr[70]); ; /*_.TUPLE___V70*/ meltfptr[69] = /*_.TUPLREC___V71*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2075:/ clear"); /*clear *//*_.TUPLREC___V71*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.TUPLREC___V71*/ meltfptr[70] = 0; } /*end multiallocblock */ ; /*_.LET___V63*/ meltfptr[62] = /*_.TUPLE___V70*/ meltfptr[69];; MELT_LOCATION ("warmelt-normal.melt:2070:/ clear"); /*clear *//*_.PREDEFDISCR__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V65*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V67*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V69*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.TUPLE___V70*/ meltfptr[69] = 0; /*_.IFELSE___V62*/ meltfptr[61] = /*_.LET___V63*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2069:/ clear"); /*clear *//*_.LET___V63*/ meltfptr[62] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { /*_.CLONE_WITH_DISCRIMINANT__V72*/ meltfptr[70] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_23 */ meltfrout-> tabval[23])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[19])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V73*/ meltfptr[63] = meltgc_clone_with_discriminant ((melt_ptr_t) ( /*_.BOXER__V49*/ meltfptr[45]), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[19])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V74*/ meltfptr[64] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_24 */ meltfrout-> tabval[24])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[19])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V75*/ meltfptr[65] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_25 */ meltfrout-> tabval[25])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[19])));; MELT_LOCATION ("warmelt-normal.melt:2084:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_3_st { struct MELT_MULTIPLE_STRUCT (5) rtup_0__TUPLREC__x5; long meltletrec_3_endgap; } *meltletrec_3_ptr = 0; meltletrec_3_ptr = (struct meltletrec_3_st *) meltgc_allocate (sizeof (struct meltletrec_3_st), 0); /*^blockmultialloc.initfill */ /*inimult rtup_0__TUPLREC__x5 */ /*_.TUPLREC___V77*/ meltfptr[67] = (melt_ptr_t) & meltletrec_3_ptr->rtup_0__TUPLREC__x5; meltletrec_3_ptr->rtup_0__TUPLREC__x5.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_3_ptr->rtup_0__TUPLREC__x5.nbval = 5; /*^putuple */ /*putupl#21 */ melt_assertmsg ("putupl [:2084] #21 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2084] #21 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67]))-> tabval[0] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V72*/ meltfptr[70]); ; /*^putuple */ /*putupl#22 */ melt_assertmsg ("putupl [:2084] #22 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2084] #22 checkoff", (1 >= 0 && 1 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67]))-> tabval[1] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V73*/ meltfptr[63]); ; /*^putuple */ /*putupl#23 */ melt_assertmsg ("putupl [:2084] #23 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2084] #23 checkoff", (2 >= 0 && 2 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67]))-> tabval[2] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V74*/ meltfptr[64]); ; /*^putuple */ /*putupl#24 */ melt_assertmsg ("putupl [:2084] #24 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2084] #24 checkoff", (3 >= 0 && 3 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67]))-> tabval[3] = (melt_ptr_t) ( /*_.NBOXED__V20*/ meltfptr[19]); ; /*^putuple */ /*putupl#25 */ melt_assertmsg ("putupl [:2084] #25 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2084] #25 checkoff", (4 >= 0 && 4 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V77*/ meltfptr[67]))-> tabval[4] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V75*/ meltfptr[65]); ; /*^touch */ meltgc_touch ( /*_.TUPLREC___V77*/ meltfptr[67]); ; /*_.TUPLE___V76*/ meltfptr[66] = /*_.TUPLREC___V77*/ meltfptr[67];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2084:/ clear"); /*clear *//*_.TUPLREC___V77*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.TUPLREC___V77*/ meltfptr[67] = 0; } /*end multiallocblock */ ; /*_.IFELSE___V62*/ meltfptr[61] = /*_.TUPLE___V76*/ meltfptr[66];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2069:/ clear"); /*clear *//*_.CLONE_WITH_DISCRIMINANT__V72*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V73*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V74*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V75*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.TUPLE___V76*/ meltfptr[66] = 0; } ; } ; MELT_LOCATION ("warmelt-normal.melt:2064:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHUNK */ meltfrout->tabval[14])), (4), "CLASS_NREP_CHUNK"); /*_.INST__V79*/ meltfptr[69] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[69])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[69]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_OPER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[69])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[69]), (3), (( /*!konst_13_BOX */ meltfrout->tabval[13])), "NCHUNK_OPER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[69])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[69]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[16])), "NEXPR_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_EXPANSION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[69])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[69]), (2), ( /*_.IFELSE___V62*/ meltfptr[61]), "NCHUNK_EXPANSION"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V79*/ meltfptr[69], "newly made instance"); ; /*_.NCHUNK__V78*/ meltfptr[68] = /*_.INST__V79*/ meltfptr[69];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2092:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[26])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V81*/ meltfptr[67] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V81*/ meltfptr[67])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V81*/ meltfptr[67]), (3), ( /*_.SLOC__V17*/ meltfptr[16]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V81*/ meltfptr[67])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V81*/ meltfptr[67]), (0), ( /*_.CSYM__V61*/ meltfptr[50]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V81*/ meltfptr[67])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V81*/ meltfptr[67]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[16])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V81*/ meltfptr[67])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V81*/ meltfptr[67]), (2), ( /*_.NCHUNK__V78*/ meltfptr[68]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V81*/ meltfptr[67], "newly made instance"); ; /*_.CBIND__V80*/ meltfptr[62] = /*_.INST__V81*/ meltfptr[67];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2098:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[27])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V83*/ meltfptr[63] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[63]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[63]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[16])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[63]), (1), ( /*_.CSYM__V61*/ meltfptr[50]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[63]), (3), ( /*_.CBIND__V80*/ meltfptr[62]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V83*/ meltfptr[63], "newly made instance"); ; /*_.CLOCC__V82*/ meltfptr[70] = /*_.INST__V83*/ meltfptr[63];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2104:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L20*/ 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:2104:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L20*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2104:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 2104; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_constbox nchunk="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCHUNK__V78*/ meltfptr[68]; /*^apply.arg */ argtab[5].meltbp_cstring = " clocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V82*/ meltfptr[70]; /*_.MELT_DEBUG_FUN__V86*/ meltfptr[66] = 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___V85*/ meltfptr[65] = /*_.MELT_DEBUG_FUN__V86*/ meltfptr[66];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2104:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L21*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V86*/ meltfptr[66] = 0; } ; } else { /*^cond.else */ /*_.IF___V85*/ meltfptr[65] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2104:/ quasiblock"); /*_.PROGN___V87*/ meltfptr[66] = /*_.IF___V85*/ meltfptr[65];; /*^compute */ /*_.IFCPP___V84*/ meltfptr[64] = /*_.PROGN___V87*/ meltfptr[66];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2104:/ clear"); /*clear *//*_#MELT_NEED_DBG__L20*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.IF___V85*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.PROGN___V87*/ meltfptr[66] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V84*/ meltfptr[64] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:2105:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V21*/ meltfptr[20]), (melt_ptr_t) ( /*_.CBIND__V80*/ meltfptr[62])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2106:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L22*/ 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:2106:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L22*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L23*/ meltfnum[18] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2106:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L23*/ meltfnum[18]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2106; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_constbox return clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V82*/ meltfptr[70]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V90*/ meltfptr[89] = 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[66] = /*_.MELT_DEBUG_FUN__V90*/ meltfptr[89];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2106:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L23*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V90*/ meltfptr[89] = 0; } ; } else { /*^cond.else */ /*_.IF___V89*/ meltfptr[66] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2106:/ quasiblock"); /*_.PROGN___V91*/ meltfptr[89] = /*_.IF___V89*/ meltfptr[66];; /*^compute */ /*_.IFCPP___V88*/ meltfptr[65] = /*_.PROGN___V91*/ meltfptr[89];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2106:/ clear"); /*clear *//*_#MELT_NEED_DBG__L22*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V89*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.PROGN___V91*/ meltfptr[89] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V88*/ meltfptr[65] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2107:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V82*/ meltfptr[70];; MELT_LOCATION ("warmelt-normal.melt:2107:/ 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) ( /*_.NBIND__V21*/ meltfptr[20]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V60*/ meltfptr[53] = /*_.RETURN___V92*/ meltfptr[66];; MELT_LOCATION ("warmelt-normal.melt:2062:/ clear"); /*clear *//*_.CSYM__V61*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.IFELSE___V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.NCHUNK__V78*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.CBIND__V80*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.CLOCC__V82*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.IFCPP___V84*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.IFCPP___V88*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.RETURN___V92*/ meltfptr[66] = 0; /*_.LET___V48*/ meltfptr[41] = /*_.LET___V60*/ meltfptr[53];; MELT_LOCATION ("warmelt-normal.melt:2043:/ clear"); /*clear *//*_#IS_A__L16*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.BOXER__V49*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.IFCPP___V56*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.LET___V60*/ meltfptr[53] = 0; /*_.LET___V35*/ meltfptr[31] = /*_.LET___V48*/ meltfptr[41];; MELT_LOCATION ("warmelt-normal.melt:2034:/ clear"); /*clear *//*_.NCTYP__V36*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.AUTOBOXDISCR__V37*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.IFCPP___V40*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L15*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V44*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.LET___V48*/ meltfptr[41] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V19*/ meltfptr[18] = /*_.LET___V35*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:2027:/ clear"); /*clear *//*_.IFCPP___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_#IS_LIST__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#NOT__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V26*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.LET___V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.NBIND__V21*/ meltfptr[20] = 0; /*_.LET___V16*/ meltfptr[14] = /*_.MULTI___V19*/ meltfptr[18];; MELT_LOCATION ("warmelt-normal.melt:2024:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SBOXED__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.MULTI___V19*/ meltfptr[18] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2019:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:2019:/ 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 *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_CONSTBOX", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_42_warmelt_normal_NORMEXP_CONSTBOX_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_42_warmelt_normal_NORMEXP_CONSTBOX */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_warmelt_normal_NORMEXP_UNBOX (meltclosure_ptr_t meltclosp_, 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_43_warmelt_normal_NORMEXP_UNBOX_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_43_warmelt_normal_NORMEXP_UNBOX_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 76 melt_ptr_t mcfr_varptr[76]; #define MELTFRAM_NBVARNUM 22 long mcfr_varnum[22]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_43_warmelt_normal_NORMEXP_UNBOX is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_43_warmelt_normal_NORMEXP_UNBOX_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 76; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_43_warmelt_normal_NORMEXP_UNBOX nbval 76*/ meltfram__.mcfr_nbvar = 76 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_UNBOX", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:2114:/ 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:2115:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2115:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2115:/ 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 = 2115; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_unbox recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2115:/ 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:2115:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2115:/ 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:2116:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_UNBOX */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:2116:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2116:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check unbox recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2116) ? (2116) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2116:/ 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2117:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:2117:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2117:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2117) ? (2117) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2117:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2118:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:2118:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2118:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2118) ? (2118) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2118:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2119:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2120:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_UNBOX */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SUNBOX_EXPR"); /*_.SEXP__V18*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.SEXP__V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2121:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_UNBOX */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SUNBOX_CTYPE"); /*_.CTYP__V19*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.CTYP__V19*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2122:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CTYP__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYP__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "CTYPE_CNAME"); /*_.CNAME__V20*/ meltfptr[19] = slot; }; ; } else { /*^cond.else */ /*_.CNAME__V20*/ meltfptr[19] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2124:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2124:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2124:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2124; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_unbox ctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CTYP__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V22*/ meltfptr[21] = /*_.MELT_DEBUG_FUN__V23*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2124:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V23*/ meltfptr[22] = 0; } ; } else { /*^cond.else */ /*_.IF___V22*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2124:/ quasiblock"); /*_.PROGN___V24*/ meltfptr[22] = /*_.IF___V22*/ meltfptr[21];; /*^compute */ /*_.IFCPP___V21*/ meltfptr[20] = /*_.PROGN___V24*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2124:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PROGN___V24*/ meltfptr[22] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[20] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2125:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L8*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CTYP__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:2125:/ cond"); /*cond */ if ( /*_#IS_A__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V26*/ meltfptr[22] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2125:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctyp"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2125) ? (2125) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V26*/ meltfptr[22] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V25*/ meltfptr[21] = /*_.IFELSE___V26*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2125:/ clear"); /*clear *//*_#IS_A__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V26*/ meltfptr[22] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V25*/ meltfptr[21] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2126:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CTYP__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_CTYPE_PLAIN */ meltfrout-> tabval[5])));; MELT_LOCATION ("warmelt-normal.melt:2127:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2128:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CTYP__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_CTYPE_PLAIN */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYP__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 14, "CTYPP_UNBOXING"); /*_.CTYPP_UNBOXING__V29*/ meltfptr[28] = slot; }; ; } else { /*^cond.else */ /*_.CTYPP_UNBOXING__V29*/ meltfptr[28] = NULL;; } ; /*^compute */ /*_.UNBOXER__V28*/ meltfptr[27] = /*_.CTYPP_UNBOXING__V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2127:/ clear"); /*clear *//*_.CTYPP_UNBOXING__V29*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CTYP__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:2129:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2130:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CTYP__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYP__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 22, "CTYPG_UNBOXFUN"); /*_.CTYPG_UNBOXFUN__V31*/ meltfptr[30] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_UNBOXFUN__V31*/ meltfptr[30] = NULL;; } ; /*^compute */ /*_.IFELSE___V30*/ meltfptr[28] = /*_.CTYPG_UNBOXFUN__V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2129:/ clear"); /*clear *//*_.CTYPG_UNBOXFUN__V31*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2132:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("unexpected ctype for UNBOX"), (melt_ptr_t) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2133:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:2133:/ 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:2131:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[32] = /*_.RETURN___V32*/ meltfptr[30];; /*^compute */ /*_.IFELSE___V30*/ meltfptr[28] = /*_.PROGN___V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2129:/ clear"); /*clear *//*_.RETURN___V32*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.PROGN___V33*/ meltfptr[32] = 0; } ; } ; /*_.UNBOXER__V28*/ meltfptr[27] = /*_.IFELSE___V30*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2127:/ clear"); /*clear *//*_#IS_A__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V30*/ meltfptr[28] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2135:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ 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:2135:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2135:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 2135; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_unbox unboxer="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.UNBOXER__V28*/ meltfptr[27]; /*^apply.arg */ argtab[5].meltbp_cstring = " cname="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CNAME__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V36*/ meltfptr[28] = 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[32] = /*_.MELT_DEBUG_FUN__V36*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2135:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V36*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*_.IF___V35*/ meltfptr[32] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2135:/ quasiblock"); /*_.PROGN___V37*/ meltfptr[28] = /*_.IF___V35*/ meltfptr[32];; /*^compute */ /*_.IFCPP___V34*/ meltfptr[30] = /*_.PROGN___V37*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2135:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V35*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.PROGN___V37*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2136:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V40*/ meltfptr[39]; /*^multimsend.send */ /*_.NEXP__V39*/ meltfptr[28] = meltgc_send ((melt_ptr_t) ( /*_.SEXP__V18*/ meltfptr[17]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[7]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2139:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ meltfnum[11] = /*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:2139:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2139:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2139; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_unbox nexp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEXP__V39*/ meltfptr[28]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V40*/ meltfptr[39]; /*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR 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:2139:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = 0; } ; } else { /*^cond.else */ /*_.IF___V42*/ meltfptr[41] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2139:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[42] = /*_.IF___V42*/ meltfptr[41];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[40] = /*_.PROGN___V44*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2139:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.PROGN___V44*/ meltfptr[42] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V41*/ meltfptr[40] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_LIST__L15*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.NBIND__V40*/ meltfptr[39])) == MELTOBMAG_LIST);; /*^compute */ /*_#NOT__L16*/ meltfnum[11] = (!( /*_#IS_LIST__L15*/ meltfnum[1]));; MELT_LOCATION ("warmelt-normal.melt:2140:/ cond"); /*cond */ if ( /*_#NOT__L16*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2141:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltlist_st rlist_0__LIST_; 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 */ /*inilist rlist_0__LIST_ */ /*_.LIST___V47*/ meltfptr[46] = (melt_ptr_t) & meltletrec_1_ptr->rlist_0__LIST_; meltletrec_1_ptr->rlist_0__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*_.LIST___V46*/ meltfptr[42] = /*_.LIST___V47*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2141:/ clear"); /*clear *//*_.LIST___V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.LIST___V47*/ meltfptr[46] = 0; } /*end multiallocblock */ ; /*^compute */ /*_.NBIND__V40*/ meltfptr[39] = /*_.SETQ___V48*/ meltfptr[46] = /*_.LIST___V46*/ meltfptr[42];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2142:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ 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:2142:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2142:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2142; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_unbox set nbind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V40*/ meltfptr[39]; /*_.MELT_DEBUG_FUN__V51*/ meltfptr[50] = 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___V50*/ meltfptr[49] = /*_.MELT_DEBUG_FUN__V51*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2142:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V51*/ meltfptr[50] = 0; } ; } else { /*^cond.else */ /*_.IF___V50*/ meltfptr[49] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2142:/ quasiblock"); /*_.PROGN___V52*/ meltfptr[50] = /*_.IF___V50*/ meltfptr[49];; /*^compute */ /*_.IFCPP___V49*/ meltfptr[48] = /*_.PROGN___V52*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2142:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.PROGN___V52*/ meltfptr[50] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V49*/ meltfptr[48] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2140:/ quasiblock"); /*_.PROGN___V53*/ meltfptr[49] = /*_.IFCPP___V49*/ meltfptr[48];; /*^compute */ /*_.IF___V45*/ meltfptr[41] = /*_.PROGN___V53*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2140:/ clear"); /*clear *//*_.LIST___V46*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.SETQ___V48*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.IFCPP___V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.PROGN___V53*/ meltfptr[49] = 0; } ; } else { /*^cond.else */ /*_.IF___V45*/ meltfptr[41] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2143:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2144:/ apply"); /*apply */ { /*_.CSYM__V55*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[8])), (melt_ptr_t) (( /*!konst_9_UNBOX */ meltfrout-> tabval[9])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*_.CLONE_WITH_DISCRIMINANT__V56*/ meltfptr[46] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_12 */ meltfrout-> tabval[12])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[13])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V57*/ meltfptr[48] = meltgc_clone_with_discriminant ((melt_ptr_t) ( /*_.UNBOXER__V28*/ meltfptr[27]), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[13])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V58*/ meltfptr[49] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_14 */ meltfrout-> tabval[14])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[13])));; /*^compute */ /*_.CLONE_WITH_DISCRIMINANT__V59*/ meltfptr[58] = meltgc_clone_with_discriminant ((melt_ptr_t) (( /*!konst_15 */ meltfrout-> tabval[15])), (melt_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[13])));; MELT_LOCATION ("warmelt-normal.melt:2151:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_2_st { struct MELT_MULTIPLE_STRUCT (5) rtup_0__TUPLREC__x6; long meltletrec_2_endgap; } *meltletrec_2_ptr = 0; meltletrec_2_ptr = (struct meltletrec_2_st *) meltgc_allocate (sizeof (struct meltletrec_2_st), 0); /*^blockmultialloc.initfill */ /*inimult rtup_0__TUPLREC__x6 */ /*_.TUPLREC___V61*/ meltfptr[60] = (melt_ptr_t) & meltletrec_2_ptr->rtup_0__TUPLREC__x6; meltletrec_2_ptr->rtup_0__TUPLREC__x6.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_2_ptr->rtup_0__TUPLREC__x6.nbval = 5; /*^putuple */ /*putupl#26 */ melt_assertmsg ("putupl [:2151] #26 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2151] #26 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60]))->tabval[0] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V56*/ meltfptr[46]); ; /*^putuple */ /*putupl#27 */ melt_assertmsg ("putupl [:2151] #27 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2151] #27 checkoff", (1 >= 0 && 1 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60]))->tabval[1] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V57*/ meltfptr[48]); ; /*^putuple */ /*putupl#28 */ melt_assertmsg ("putupl [:2151] #28 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2151] #28 checkoff", (2 >= 0 && 2 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60]))->tabval[2] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V58*/ meltfptr[49]); ; /*^putuple */ /*putupl#29 */ melt_assertmsg ("putupl [:2151] #29 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2151] #29 checkoff", (3 >= 0 && 3 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60]))->tabval[3] = (melt_ptr_t) ( /*_.NEXP__V39*/ meltfptr[28]); ; /*^putuple */ /*putupl#30 */ melt_assertmsg ("putupl [:2151] #30 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:2151] #30 checkoff", (4 >= 0 && 4 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V61*/ meltfptr[60]))->tabval[4] = (melt_ptr_t) ( /*_.CLONE_WITH_DISCRIMINANT__V59*/ meltfptr[58]); ; /*^touch */ meltgc_touch ( /*_.TUPLREC___V61*/ meltfptr[60]); ; /*_.TUPLE___V60*/ meltfptr[59] = /*_.TUPLREC___V61*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2151:/ clear"); /*clear *//*_.TUPLREC___V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.TUPLREC___V61*/ meltfptr[60] = 0; } /*end multiallocblock */ ; MELT_LOCATION ("warmelt-normal.melt:2146:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHUNK */ meltfrout->tabval[10])), (4), "CLASS_NREP_CHUNK"); /*_.INST__V63*/ meltfptr[62] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V63*/ meltfptr[62]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_OPER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V63*/ meltfptr[62]), (3), (( /*!konst_9_UNBOX */ meltfrout->tabval[9])), "NCHUNK_OPER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V63*/ meltfptr[62]), (1), ( /*_.CTYP__V19*/ meltfptr[18]), "NEXPR_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_EXPANSION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V63*/ meltfptr[62]), (2), ( /*_.TUPLE___V60*/ meltfptr[59]), "NCHUNK_EXPANSION"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V63*/ meltfptr[62], "newly made instance"); ; /*_.NCHUNK__V62*/ meltfptr[60] = /*_.INST__V63*/ meltfptr[62];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2158:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[16])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V65*/ meltfptr[64] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (3), ( /*_.SLOC__V17*/ meltfptr[16]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (0), ( /*_.CSYM__V55*/ meltfptr[42]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (1), ( /*_.CTYP__V19*/ meltfptr[18]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (2), ( /*_.NCHUNK__V62*/ meltfptr[60]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V65*/ meltfptr[64], "newly made instance"); ; /*_.CBIND__V64*/ meltfptr[63] = /*_.INST__V65*/ meltfptr[64];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2164:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[17])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V67*/ meltfptr[66] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (2), ( /*_.CTYP__V19*/ meltfptr[18]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (1), ( /*_.CSYM__V55*/ meltfptr[42]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (3), ( /*_.CBIND__V64*/ meltfptr[63]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V67*/ meltfptr[66], "newly made instance"); ; /*_.CLOCC__V66*/ meltfptr[65] = /*_.INST__V67*/ meltfptr[66];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2170:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ meltfnum[17] = /*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:2170:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2170:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2170; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_unbox nchunk="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCHUNK__V62*/ meltfptr[60]; /*^apply.arg */ argtab[5].meltbp_cstring = " clocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V66*/ meltfptr[65]; /*_.MELT_DEBUG_FUN__V70*/ meltfptr[69] = 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___V69*/ meltfptr[68] = /*_.MELT_DEBUG_FUN__V70*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2170:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V70*/ meltfptr[69] = 0; } ; } else { /*^cond.else */ /*_.IF___V69*/ meltfptr[68] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2170:/ quasiblock"); /*_.PROGN___V71*/ meltfptr[69] = /*_.IF___V69*/ meltfptr[68];; /*^compute */ /*_.IFCPP___V68*/ meltfptr[67] = /*_.PROGN___V71*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2170:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V69*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.PROGN___V71*/ meltfptr[69] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V68*/ meltfptr[67] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:2171:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V40*/ meltfptr[39]), (melt_ptr_t) ( /*_.CBIND__V64*/ meltfptr[63])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2172:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L21*/ 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:2172:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L21*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[17] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2172:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2172; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_unbox return clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V66*/ meltfptr[65]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V40*/ meltfptr[39]; /*_.MELT_DEBUG_FUN__V74*/ meltfptr[73] = 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___V73*/ meltfptr[69] = /*_.MELT_DEBUG_FUN__V74*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2172:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L22*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V74*/ meltfptr[73] = 0; } ; } else { /*^cond.else */ /*_.IF___V73*/ meltfptr[69] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2172:/ quasiblock"); /*_.PROGN___V75*/ meltfptr[73] = /*_.IF___V73*/ meltfptr[69];; /*^compute */ /*_.IFCPP___V72*/ meltfptr[68] = /*_.PROGN___V75*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2172:/ clear"); /*clear *//*_#MELT_NEED_DBG__L21*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V73*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.PROGN___V75*/ meltfptr[73] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V72*/ meltfptr[68] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2173:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V66*/ meltfptr[65];; MELT_LOCATION ("warmelt-normal.melt:2173:/ 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) ( /*_.NBIND__V40*/ meltfptr[39]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V54*/ meltfptr[50] = /*_.RETURN___V76*/ meltfptr[69];; MELT_LOCATION ("warmelt-normal.melt:2143:/ clear"); /*clear *//*_.CSYM__V55*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V56*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V57*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V58*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.CLONE_WITH_DISCRIMINANT__V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.TUPLE___V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.NCHUNK__V62*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.CBIND__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.CLOCC__V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.IFCPP___V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.IFCPP___V72*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.RETURN___V76*/ meltfptr[69] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V38*/ meltfptr[32] = /*_.LET___V54*/ meltfptr[50];; MELT_LOCATION ("warmelt-normal.melt:2136:/ clear"); /*clear *//*_.IFCPP___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_#IS_LIST__L15*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#NOT__L16*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V45*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.LET___V54*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.NBIND__V40*/ meltfptr[39] = 0; /*_.LET___V27*/ meltfptr[22] = /*_.MULTI___V38*/ meltfptr[32];; MELT_LOCATION ("warmelt-normal.melt:2126:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.UNBOXER__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V34*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.MULTI___V38*/ meltfptr[32] = 0; /*_.LET___V16*/ meltfptr[14] = /*_.LET___V27*/ meltfptr[22];; MELT_LOCATION ("warmelt-normal.melt:2119:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SEXP__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.CTYP__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CNAME__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.IFCPP___V25*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.LET___V27*/ meltfptr[22] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2114:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:2114:/ 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 *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_UNBOX", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_43_warmelt_normal_NORMEXP_UNBOX_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_43_warmelt_normal_NORMEXP_UNBOX */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_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_) { long current_blocklevel_signals_meltrout_44_warmelt_normal_NORMEXP_CODE_CHUNK_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_44_warmelt_normal_NORMEXP_CODE_CHUNK_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 45 melt_ptr_t mcfr_varptr[45]; #define MELTFRAM_NBVARNUM 9 long mcfr_varnum[9]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_44_warmelt_normal_NORMEXP_CODE_CHUNK is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_44_warmelt_normal_NORMEXP_CODE_CHUNK_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 45; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_44_warmelt_normal_NORMEXP_CODE_CHUNK nbval 45*/ meltfram__.mcfr_nbvar = 45 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_CODE_CHUNK", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:2180:/ 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:2181:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2181:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2181:/ 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 = 2181; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_code_chunk recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2181:/ 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:2181:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2181:/ 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:2182:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_CODECHUNK */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:2182:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2182:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check code_chunk recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2182) ? (2182) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2182:/ 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2183:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:2183:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2183:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2183) ? (2183) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2183:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2184:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:2184:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2184:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2184) ? (2184) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2184:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2185:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2186:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SCH_CHUNKS"); /*_.SCHK__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2187:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SCH_GENSYM"); /*_.GSYM__V19*/ meltfptr[18] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2188:/ apply"); /*apply */ { /*_.CSYM__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.GSYM__V19*/ meltfptr[18]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2189:/ quasiblock"); /*_.SBUF__V22*/ meltfptr[21] = (melt_ptr_t) meltgc_new_strbuf ((meltobject_ptr_t) (( /*!DISCR_STRBUF */ meltfrout->tabval[5])), (const char *) 0);; MELT_LOCATION ("warmelt-normal.melt:2190:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CSYM__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CSYM__V20*/ meltfptr[19]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V23*/ meltfptr[22] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V23*/ meltfptr[22] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2190:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.SBUF__V22*/ meltfptr[21]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V23*/ meltfptr[22]))); } ; { MELT_LOCATION ("warmelt-normal.melt:2191:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.SBUF__V22*/ meltfptr[21]), ("__")); } ; MELT_LOCATION ("warmelt-normal.melt:2192:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CSYM__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_CLONED_SYMBOL */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CSYM__V20*/ meltfptr[19]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "CSYM_URANK"); /*_.CSYM_URANK__V24*/ meltfptr[23] = slot; }; ; } else { /*^cond.else */ /*_.CSYM_URANK__V24*/ meltfptr[23] = NULL;; } ; /*^compute */ /*_#GET_INT__L6*/ meltfnum[0] = (melt_get_int ((melt_ptr_t) ( /*_.CSYM_URANK__V24*/ meltfptr[23])));; { MELT_LOCATION ("warmelt-normal.melt:2192:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.SBUF__V22*/ meltfptr[21]), ( /*_#GET_INT__L6*/ meltfnum[0])); } ; /*_.STRBUF2STRING__V25*/ meltfptr[24] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_VERBATIM_STRING */ meltfrout->tabval[8])), melt_strbuf_str ((melt_ptr_t) ( /*_.SBUF__V22*/ meltfptr[21]))));; /*^compute */ /*_.LET___V21*/ meltfptr[20] = /*_.STRBUF2STRING__V25*/ meltfptr[24];; MELT_LOCATION ("warmelt-normal.melt:2189:/ clear"); /*clear *//*_.SBUF__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.CSYM_URANK__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#GET_INT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.STRBUF2STRING__V25*/ meltfptr[24] = 0; /*_.CSYMSTR__V26*/ meltfptr[21] = /*_.LET___V21*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:2197:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V28*/ meltfptr[23] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_12 */ meltfrout-> tabval[12])), (5)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V28*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V28*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V28*/ meltfptr[23])->tabval[0] = (melt_ptr_t) ( /*_.GSYM__V19*/ meltfptr[18]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V28*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V28*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V28*/ meltfptr[23])->tabval[1] = (melt_ptr_t) ( /*_.CSYMSTR__V26*/ meltfptr[21]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V28*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V28*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V28*/ meltfptr[23])->tabval[2] = (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V28*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 3 >= 0 && 3 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V28*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V28*/ meltfptr[23])->tabval[3] = (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V28*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 4 >= 0 && 4 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V28*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V28*/ meltfptr[23])->tabval[4] = (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]); ; /*_.LAMBDA___V27*/ meltfptr[22] = /*_.LAMBDA___V28*/ meltfptr[23];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2195:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V27*/ meltfptr[22]; /*_.NCHK__V29*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.SCHK__V18*/ meltfptr[17]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2211:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHUNK */ meltfrout->tabval[15])), (4), "CLASS_NREP_CHUNK"); /*_.INST__V31*/ meltfptr[30] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_EXPANSION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (2), ( /*_.NCHK__V29*/ meltfptr[24]), "NCHUNK_EXPANSION"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_OPER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (3), ( /*_.CSYM__V20*/ meltfptr[19]), "NCHUNK_OPER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[14])), "NEXPR_CTYP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V31*/ meltfptr[30], "newly made instance"); ; /*_.INST___V30*/ meltfptr[29] = /*_.INST__V31*/ meltfptr[30];; MELT_LOCATION ("warmelt-normal.melt:2206:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[13])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V33*/ meltfptr[32] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (3), ( /*_.SLOC__V17*/ meltfptr[16]), "LETBIND_LOC"); ; /*^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), ( /*_.CSYM__V20*/ meltfptr[19]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[14])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (2), ( /*_.INST___V30*/ meltfptr[29]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V33*/ meltfptr[32], "newly made instance"); ; /*_.CBIND__V32*/ meltfptr[31] = /*_.INST__V33*/ meltfptr[32];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2217:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[16])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V35*/ meltfptr[34] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (2), (( /*!CTYPE_VOID */ meltfrout->tabval[14])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (1), ( /*_.CSYM__V20*/ meltfptr[19]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (3), ( /*_.CBIND__V32*/ meltfptr[31]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V35*/ meltfptr[34], "newly made instance"); ; /*_.CLOCC__V34*/ meltfptr[33] = /*_.INST__V35*/ meltfptr[34];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2223:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:2223:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2223:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2223; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_code_chunk clocc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V34*/ meltfptr[33]; /*_.MELT_DEBUG_FUN__V38*/ meltfptr[37] = 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___V37*/ meltfptr[36] = /*_.MELT_DEBUG_FUN__V38*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2223:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V38*/ meltfptr[37] = 0; } ; } else { /*^cond.else */ /*_.IF___V37*/ meltfptr[36] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2223:/ quasiblock"); /*_.PROGN___V39*/ meltfptr[37] = /*_.IF___V37*/ meltfptr[36];; /*^compute */ /*_.IFCPP___V36*/ meltfptr[35] = /*_.PROGN___V39*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2223:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.PROGN___V39*/ meltfptr[37] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V36*/ meltfptr[35] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2224:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L9*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.NCHK__V29*/ meltfptr[24])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-normal.melt:2224:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V41*/ meltfptr[37] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2224:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nchk"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2224) ? (2224) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V41*/ meltfptr[37] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V40*/ meltfptr[36] = /*_.IFELSE___V41*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2224:/ clear"); /*clear *//*_#IS_MULTIPLE__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V41*/ meltfptr[37] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V40*/ meltfptr[36] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2225:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltpair_st rpair_0__CBIND_x1; struct meltlist_st rlist_1__LIST_; 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 */ /*inipair rpair_0__CBIND_x1 */ /*_.CBIND__V43*/ meltfptr[42] = (melt_ptr_t) & meltletrec_1_ptr->rpair_0__CBIND_x1; meltletrec_1_ptr->rpair_0__CBIND_x1.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_1__LIST_ */ /*_.LIST___V44*/ meltfptr[43] = (melt_ptr_t) & meltletrec_1_ptr->rlist_1__LIST_; meltletrec_1_ptr->rlist_1__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*^putpairhead */ /*putpairhead */ melt_assertmsg ("putpairhead /1 checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V43*/ meltfptr[42])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CBIND__V43*/ meltfptr[42]))->hd = (melt_ptr_t) ( /*_.CBIND__V32*/ meltfptr[31]); ; /*^touch */ meltgc_touch ( /*_.CBIND__V43*/ meltfptr[42]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.LIST___V44*/ meltfptr[43])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.LIST___V44*/ meltfptr[43]))->first = (meltpair_ptr_t) ( /*_.CBIND__V43*/ meltfptr[42]); ((meltlist_ptr_t) ( /*_.LIST___V44*/ meltfptr[43]))->last = (meltpair_ptr_t) ( /*_.CBIND__V43*/ meltfptr[42]); ; /*^touch */ meltgc_touch ( /*_.LIST___V44*/ meltfptr[43]); ; /*_.LIST___V42*/ meltfptr[37] = /*_.LIST___V44*/ meltfptr[43];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2225:/ clear"); /*clear *//*_.CBIND__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.LIST___V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.CBIND__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.LIST___V44*/ meltfptr[43] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V34*/ meltfptr[33];; MELT_LOCATION ("warmelt-normal.melt:2225:/ 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) ( /*_.LIST___V42*/ meltfptr[37]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V16*/ meltfptr[14] = /*_.RETURN___V45*/ meltfptr[42];; MELT_LOCATION ("warmelt-normal.melt:2185:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SCHK__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.GSYM__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CSYM__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LET___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CSYMSTR__V26*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.LAMBDA___V27*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.NCHK__V29*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.INST___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.CBIND__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CLOCC__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.IFCPP___V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.IFCPP___V40*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.LIST___V42*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.RETURN___V45*/ meltfptr[42] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2180:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:2180:/ 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 *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_CODE_CHUNK", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_44_warmelt_normal_NORMEXP_CODE_CHUNK_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_44_warmelt_normal_NORMEXP_CODE_CHUNK */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_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_) { long current_blocklevel_signals_meltrout_45_warmelt_normal_LAMBDA___11___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_45_warmelt_normal_LAMBDA___11___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 9 melt_ptr_t mcfr_varptr[9]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_45_warmelt_normal_LAMBDA___11__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_45_warmelt_normal_LAMBDA___11___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_45_warmelt_normal_LAMBDA___11__ nbval 9*/ meltfram__.mcfr_nbvar = 9 /*nbval */ ; 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:2197:/ getarg"); /*_.CURCOMP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#CURIX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L2*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.CURCOMP__V2*/ meltfptr[1])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-normal.melt:2199:/ cond"); /*cond */ if ( /*_#IS_STRING__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V3*/ meltfptr[2] = /*_.CURCOMP__V2*/ meltfptr[1];; } else { MELT_LOCATION ("warmelt-normal.melt:2199:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#__L3*/ meltfnum[2] = (( /*_.CURCOMP__V2*/ meltfptr[1]) == (( /*~GSYM */ meltfclos->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:2200:/ cond"); /*cond */ if ( /*_#__L3*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V4*/ meltfptr[3] = ( /*~CSYMSTR */ meltfclos->tabval[1]);; } else { MELT_LOCATION ("warmelt-normal.melt:2200:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[3] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCOMP__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:2201:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2202:/ msend"); /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~ENV */ meltfclos->tabval[2]); /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & ( /*~NCX */ meltfclos->tabval[3]); /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & ( /*~SLOC */ meltfclos->tabval[4]); /*_.NORMAL_EXP__V6*/ meltfptr[5] = meltgc_send ((melt_ptr_t) ( /*_.CURCOMP__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[1])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IFELSE___V5*/ meltfptr[4] = /*_.NORMAL_EXP__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2201:/ clear"); /*clear *//*_.NORMAL_EXP__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2204:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V8*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2204:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("impossible curcomp in src code_chunk"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2204) ? (2204) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V8*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[5] = /*_.IFELSE___V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2204:/ 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:2203:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IFCPP___V7*/ meltfptr[5];; /*^compute */ /*_.IFELSE___V5*/ meltfptr[4] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2201:/ clear"); /*clear *//*_.IFCPP___V7*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } ; } ; /*_.IFELSE___V4*/ meltfptr[3] = /*_.IFELSE___V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2200:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V5*/ meltfptr[4] = 0; } ; } ; /*_.IFELSE___V3*/ meltfptr[2] = /*_.IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2199:/ clear"); /*clear *//*_#__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; } ; } ; MELT_LOCATION ("warmelt-normal.melt:2197:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFELSE___V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normal.melt:2197:/ 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 *//*_#IS_STRING__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_45_warmelt_normal_LAMBDA___11___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_45_warmelt_normal_LAMBDA___11__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_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_) { long current_blocklevel_signals_meltrout_46_warmelt_normal_NORMEXP_CMATCHEXPR_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_46_warmelt_normal_NORMEXP_CMATCHEXPR_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 67 melt_ptr_t mcfr_varptr[67]; #define MELTFRAM_NBVARNUM 20 long mcfr_varnum[20]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_46_warmelt_normal_NORMEXP_CMATCHEXPR is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_46_warmelt_normal_NORMEXP_CMATCHEXPR_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_46_warmelt_normal_NORMEXP_CMATCHEXPR nbval 67*/ meltfram__.mcfr_nbvar = 67 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_CMATCHEXPR", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:2231:/ 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:2232:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2232:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2232:/ 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 = 2232; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_cmatchexpr recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2232:/ 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:2232:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2232:/ 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:2233:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_CMATCHEXPR */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:2233:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2233:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2233) ? (2233) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2233:/ 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2234:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:2234:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2234:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2234) ? (2234) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2234:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2235:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:2235:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2235:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2235) ? (2235) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2235:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2236:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2237:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SCMATX_CMATCHER"); /*_.SCMAT__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2238:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SARGOP_ARGS"); /*_.SARGS__V19*/ meltfptr[18] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2240:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SCMAT__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_CMATCHER */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:2240:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V21*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2240:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check scmat"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2240) ? (2240) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_.IFELSE___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2240:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2241:/ 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[16]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V24*/ meltfptr[23]; /*^multiapply.appl */ /*_.NARGS__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.SARGS__V19*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_LOCATION ("warmelt-normal.melt:2244:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SCMAT__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.CMANAMSTR__V26*/ meltfptr[25] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2246:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SCMAT__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "AMATCH_OUT"); /*_.OFORMALS__V27*/ meltfptr[26] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2248:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SCMAT__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "AMATCH_MATCHBIND"); /*_.MB__V29*/ meltfptr[28] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2249:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.MB__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:2249:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V31*/ meltfptr[30] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2249:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check mabind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2249) ? (2249) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V31*/ meltfptr[30] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V30*/ meltfptr[29] = /*_.IFELSE___V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2249:/ clear"); /*clear *//*_#IS_A__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V31*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V28*/ meltfptr[27] = /*_.MB__V29*/ meltfptr[28];; MELT_LOCATION ("warmelt-normal.melt:2248:/ clear"); /*clear *//*_.MB__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[29] = 0; /*_.MABIND__V32*/ meltfptr[30] = /*_.LET___V28*/ meltfptr[27];; MELT_LOCATION ("warmelt-normal.melt:2252:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MABIND__V32*/ meltfptr[30]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.OTYPE__V33*/ meltfptr[28] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2253:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SCMAT__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 8, "CMATCH_EXPOPER"); /*_.SOPEXP__V34*/ meltfptr[29] = slot; }; ; /*_#NBARG__L8*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.NARGS__V23*/ meltfptr[22])));; /*^compute */ /*_#NBEXP__L9*/ meltfnum[1] = (melt_multiple_length ((melt_ptr_t) ( /*_.SOPEXP__V34*/ meltfptr[29])));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2257:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[9] = melt_is_instance_of ((melt_ptr_t) ( /*_.OTYPE__V33*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:2257:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[9]) /*then */ { /*^cond.then */ /*_.IFELSE___V36*/ meltfptr[35] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2257:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check otype"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2257) ? (2257) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V36*/ meltfptr[35] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V35*/ meltfptr[34] = /*_.IFELSE___V36*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2257:/ clear"); /*clear *//*_#IS_A__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V36*/ meltfptr[35] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V35*/ meltfptr[34] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#MULTIPLE_LENGTH__L11*/ meltfnum[9] = (melt_multiple_length ((melt_ptr_t) ( /*_.OFORMALS__V27*/ meltfptr[26])));; /*^compute */ /*_#I__L12*/ meltfnum[11] = (( /*_#NBARG__L8*/ meltfnum[0]) != ( /*_#MULTIPLE_LENGTH__L11*/ meltfnum[9]));; MELT_LOCATION ("warmelt-normal.melt:2258:/ cond"); /*cond */ if ( /*_#I__L12*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2260:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("length mismatch between formals & actuals in cmatch expr"), (melt_ptr_t) ( /*_.CMANAMSTR__V26*/ meltfptr[25])); } ; MELT_LOCATION ("warmelt-normal.melt:2262:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:2262:/ 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:2259:/ quasiblock"); /*_.PROGN___V39*/ meltfptr[38] = /*_.RETURN___V38*/ meltfptr[37];; /*^compute */ /*_.IF___V37*/ meltfptr[35] = /*_.PROGN___V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2258:/ clear"); /*clear *//*_.RETURN___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.PROGN___V39*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.IF___V37*/ meltfptr[35] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2264:/ quasiblock"); /*_#I__L13*/ meltfnum[12] = ((3) * ( /*_#NBARG__L8*/ meltfnum[0]));; /*^compute */ /*_#IRAW__L14*/ meltfnum[13] = (( /*_#I__L13*/ meltfnum[12]) / (2));; /*^compute */ /*_#I__L15*/ meltfnum[14] = ((5) + ( /*_#IRAW__L14*/ meltfnum[13]));; /*^compute */ /*_.BMAP__V41*/ meltfptr[38] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[8])), ( /*_#I__L15*/ meltfnum[14])));; /*^compute */ /*_.EXPARGS__V42*/ meltfptr[41] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[9])), ( /*_#NBEXP__L9*/ meltfnum[1])));; MELT_LOCATION ("warmelt-normal.melt:2269:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V44*/ meltfptr[43] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_15 */ meltfrout-> tabval[15])), (5)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43]))); ((meltclosure_ptr_t) /*_.LAMBDA___V44*/ meltfptr[43])->tabval[0] = (melt_ptr_t) ( /*_.NARGS__V23*/ meltfptr[22]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43]))); ((meltclosure_ptr_t) /*_.LAMBDA___V44*/ meltfptr[43])->tabval[1] = (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43]))); ((meltclosure_ptr_t) /*_.LAMBDA___V44*/ meltfptr[43])->tabval[2] = (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 3 >= 0 && 3 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43]))); ((meltclosure_ptr_t) /*_.LAMBDA___V44*/ meltfptr[43])->tabval[3] = (melt_ptr_t) ( /*_.CMANAMSTR__V26*/ meltfptr[25]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 4 >= 0 && 4 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V44*/ meltfptr[43]))); ((meltclosure_ptr_t) /*_.LAMBDA___V44*/ meltfptr[43])->tabval[4] = (melt_ptr_t) ( /*_.BMAP__V41*/ meltfptr[38]); ; /*_.LAMBDA___V43*/ meltfptr[42] = /*_.LAMBDA___V44*/ meltfptr[43];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2267:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V43*/ meltfptr[42]; /*_.MULTIPLE_EVERY__V45*/ meltfptr[44] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.OFORMALS__V27*/ meltfptr[26]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2293:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ 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:2293:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2293:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2293; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_cmatchexpr bmap in sopexp"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BMAP__V41*/ meltfptr[38]; /*_.MELT_DEBUG_FUN__V48*/ meltfptr[47] = 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___V47*/ meltfptr[46] = /*_.MELT_DEBUG_FUN__V48*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2293:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V48*/ meltfptr[47] = 0; } ; } else { /*^cond.else */ /*_.IF___V47*/ meltfptr[46] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2293:/ quasiblock"); /*_.PROGN___V49*/ meltfptr[47] = /*_.IF___V47*/ meltfptr[46];; /*^compute */ /*_.IFCPP___V46*/ meltfptr[45] = /*_.PROGN___V49*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2293:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IF___V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.PROGN___V49*/ meltfptr[47] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V46*/ meltfptr[45] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2296:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V51*/ meltfptr[47] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_19 */ meltfrout-> tabval[19])), (5)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V51*/ meltfptr[47])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V51*/ meltfptr[47]))); ((meltclosure_ptr_t) /*_.LAMBDA___V51*/ meltfptr[47])->tabval[0] = (melt_ptr_t) ( /*_.BMAP__V41*/ meltfptr[38]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V51*/ meltfptr[47])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V51*/ meltfptr[47]))); ((meltclosure_ptr_t) /*_.LAMBDA___V51*/ meltfptr[47])->tabval[1] = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V51*/ meltfptr[47])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V51*/ meltfptr[47]))); ((meltclosure_ptr_t) /*_.LAMBDA___V51*/ meltfptr[47])->tabval[2] = (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V51*/ meltfptr[47])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 3 >= 0 && 3 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V51*/ meltfptr[47]))); ((meltclosure_ptr_t) /*_.LAMBDA___V51*/ meltfptr[47])->tabval[3] = (melt_ptr_t) ( /*_.CMANAMSTR__V26*/ meltfptr[25]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V51*/ meltfptr[47])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 4 >= 0 && 4 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V51*/ meltfptr[47]))); ((meltclosure_ptr_t) /*_.LAMBDA___V51*/ meltfptr[47])->tabval[4] = (melt_ptr_t) ( /*_.EXPARGS__V42*/ meltfptr[41]); ; /*_.LAMBDA___V50*/ meltfptr[46] = /*_.LAMBDA___V51*/ meltfptr[47];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2294:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V50*/ meltfptr[46]; /*_.MULTIPLE_EVERY__V52*/ meltfptr[51] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.SOPEXP__V34*/ meltfptr[29]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2326:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V54*/ meltfptr[53] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[20])), (melt_ptr_t) ( /*_.CMANAMSTR__V26*/ meltfptr[25]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2332:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHUNK */ meltfrout->tabval[22])), (4), "CLASS_NREP_CHUNK"); /*_.INST__V56*/ meltfptr[55] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V56*/ meltfptr[55])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V56*/ meltfptr[55]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_EXPANSION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V56*/ meltfptr[55])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V56*/ meltfptr[55]), (2), ( /*_.EXPARGS__V42*/ meltfptr[41]), "NCHUNK_EXPANSION"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCHUNK_OPER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V56*/ meltfptr[55])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V56*/ meltfptr[55]), (3), ( /*_.SCMAT__V18*/ meltfptr[17]), "NCHUNK_OPER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V56*/ meltfptr[55])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V56*/ meltfptr[55]), (1), ( /*_.OTYPE__V33*/ meltfptr[28]), "NEXPR_CTYP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V56*/ meltfptr[55], "newly made instance"); ; /*_.INST___V55*/ meltfptr[54] = /*_.INST__V56*/ meltfptr[55];; MELT_LOCATION ("warmelt-normal.melt:2327:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[21])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V58*/ meltfptr[57] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V58*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V58*/ meltfptr[57]), (3), ( /*_.SLOC__V17*/ meltfptr[16]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V58*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V58*/ meltfptr[57]), (0), ( /*_.CSYM__V54*/ meltfptr[53]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V58*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V58*/ meltfptr[57]), (1), ( /*_.OTYPE__V33*/ meltfptr[28]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V58*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V58*/ meltfptr[57]), (2), ( /*_.INST___V55*/ meltfptr[54]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V58*/ meltfptr[57], "newly made instance"); ; /*_.CBIND__V57*/ meltfptr[56] = /*_.INST__V58*/ meltfptr[57];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2338:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[23])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V60*/ meltfptr[59] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (2), ( /*_.OTYPE__V33*/ meltfptr[28]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (1), ( /*_.CSYM__V54*/ meltfptr[53]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (3), ( /*_.CBIND__V57*/ meltfptr[56]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V60*/ meltfptr[59], "newly made instance"); ; /*_.CLOCC__V59*/ meltfptr[58] = /*_.INST__V60*/ meltfptr[59];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_LIST__L18*/ meltfnum[16] = (melt_magic_discr ((melt_ptr_t) ( /*_.NBIND__V24*/ meltfptr[23])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normal.melt:2344:/ cond"); /*cond */ if ( /*_#IS_LIST__L18*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2345:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V24*/ meltfptr[23]), (melt_ptr_t) ( /*_.CBIND__V57*/ meltfptr[56])); } ; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normal.melt:2344:/ cond.else"); /*^block */ /*anyblock */ { /*_.MAKE_LIST__V61*/ meltfptr[60] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[24]))));; MELT_LOCATION ("warmelt-normal.melt:2347:/ compute"); /*_.NBIND__V24*/ meltfptr[23] = /*_.SETQ___V62*/ meltfptr[61] = /*_.MAKE_LIST__V61*/ meltfptr[60];; { MELT_LOCATION ("warmelt-normal.melt:2348:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V24*/ meltfptr[23]), (melt_ptr_t) ( /*_.CBIND__V57*/ meltfptr[56])); } ; MELT_LOCATION ("warmelt-normal.melt:2346:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2344:/ clear"); /*clear *//*_.MAKE_LIST__V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.SETQ___V62*/ meltfptr[61] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2350:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ 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:2350:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[19] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2350:/ 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 = 2350; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_cmatchexpr result clocc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V59*/ meltfptr[58]; /*_.MELT_DEBUG_FUN__V65*/ meltfptr[64] = 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___V64*/ meltfptr[61] = /*_.MELT_DEBUG_FUN__V65*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2350:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V65*/ meltfptr[64] = 0; } ; } else { /*^cond.else */ /*_.IF___V64*/ meltfptr[61] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2350:/ quasiblock"); /*_.PROGN___V66*/ meltfptr[64] = /*_.IF___V64*/ meltfptr[61];; /*^compute */ /*_.IFCPP___V63*/ meltfptr[60] = /*_.PROGN___V66*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2350:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IF___V64*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.PROGN___V66*/ meltfptr[64] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V63*/ meltfptr[60] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2351:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V59*/ meltfptr[58];; MELT_LOCATION ("warmelt-normal.melt:2351:/ 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) ( /*_.NBIND__V24*/ meltfptr[23]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V53*/ meltfptr[52] = /*_.RETURN___V67*/ meltfptr[61];; MELT_LOCATION ("warmelt-normal.melt:2326:/ clear"); /*clear *//*_.CSYM__V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.INST___V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.CBIND__V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.CLOCC__V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_#IS_LIST__L18*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V63*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.RETURN___V67*/ meltfptr[61] = 0; /*_.LET___V40*/ meltfptr[37] = /*_.LET___V53*/ meltfptr[52];; MELT_LOCATION ("warmelt-normal.melt:2264:/ clear"); /*clear *//*_#I__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_#IRAW__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_#I__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.BMAP__V41*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.EXPARGS__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.LAMBDA___V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.IFCPP___V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.LAMBDA___V50*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.LET___V53*/ meltfptr[52] = 0; /*_.LET___V25*/ meltfptr[24] = /*_.LET___V40*/ meltfptr[37];; MELT_LOCATION ("warmelt-normal.melt:2244:/ clear"); /*clear *//*_.CMANAMSTR__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.OFORMALS__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.LET___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.MABIND__V32*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.OTYPE__V33*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.SOPEXP__V34*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_#NBARG__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#NBEXP__L9*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFCPP___V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L11*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_#I__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V37*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.LET___V40*/ meltfptr[37] = 0; /*_.MULTI___V22*/ meltfptr[20] = /*_.LET___V25*/ meltfptr[24];; MELT_LOCATION ("warmelt-normal.melt:2241:/ clear"); /*clear *//*_.LET___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.NBIND__V24*/ meltfptr[23] = 0; /*_.LET___V16*/ meltfptr[14] = /*_.MULTI___V22*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:2236:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SCMAT__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SARGS__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.MULTI___V22*/ meltfptr[20] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2231:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:2231:/ 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 *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_CMATCHEXPR", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_46_warmelt_normal_NORMEXP_CMATCHEXPR_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_46_warmelt_normal_NORMEXP_CMATCHEXPR */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_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_) { long current_blocklevel_signals_meltrout_47_warmelt_normal_LAMBDA___12___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_47_warmelt_normal_LAMBDA___12___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 19 melt_ptr_t mcfr_varptr[19]; #define MELTFRAM_NBVARNUM 11 long mcfr_varnum[11]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_47_warmelt_normal_LAMBDA___12__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_47_warmelt_normal_LAMBDA___12___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 19; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_47_warmelt_normal_LAMBDA___12__ nbval 19*/ meltfram__.mcfr_nbvar = 19 /*nbval */ ; 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:2269:/ getarg"); /*_.FORB__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2270:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.FORB__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:2270:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2270:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check forb"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2270) ? (2270) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2270:/ 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2271:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ 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:2271:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2271:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2271; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_cmatchexpr forb"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FORB__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:2271:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0; } ; } else { /*^cond.else */ /*_.IF___V6*/ meltfptr[5] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2271:/ quasiblock"); /*_.PROGN___V8*/ meltfptr[6] = /*_.IF___V6*/ meltfptr[5];; /*^compute */ /*_.IFCPP___V5*/ meltfptr[3] = /*_.PROGN___V8*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2271:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 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:2272:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FORB__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.FORARG__V9*/ meltfptr[5] = slot; }; ; /*_.ACTARG__V10*/ meltfptr[6] = (melt_multiple_nth ((melt_ptr_t) (( /*~NARGS */ meltfclos->tabval[0])), ( /*_#IX__L1*/ meltfnum[0])));; MELT_LOCATION ("warmelt-normal.melt:2274:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FORB__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.FORTYPE__V11*/ meltfptr[10] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2275:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~ENV */ meltfclos->tabval[1]); /*_.ACTYPE__V12*/ meltfptr[11] = meltgc_send ((melt_ptr_t) ( /*_.ACTARG__V10*/ meltfptr[6]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[2])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2277:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[3] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:2277:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2277:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2277; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_cmatchexpr actarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.ACTARG__V10*/ meltfptr[6]; /*^apply.arg */ argtab[5].meltbp_cstring = " actype="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.ACTYPE__V12*/ meltfptr[11]; /*_.MELT_DEBUG_FUN__V15*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V14*/ meltfptr[13] = /*_.MELT_DEBUG_FUN__V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2277:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V15*/ meltfptr[14] = 0; } ; } else { /*^cond.else */ /*_.IF___V14*/ meltfptr[13] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2277:/ quasiblock"); /*_.PROGN___V16*/ meltfptr[14] = /*_.IF___V14*/ meltfptr[13];; /*^compute */ /*_.IFCPP___V13*/ meltfptr[12] = /*_.PROGN___V16*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2277:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.PROGN___V16*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_A__L7*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.FORTYPE__V11*/ meltfptr[10]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:2278:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[8] = melt_is_instance_of ((melt_ptr_t) ( /*_.ACTYPE__V12*/ meltfptr[11]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:2278:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#__L11*/ meltfnum[10] = (( /*_.FORTYPE__V11*/ meltfptr[10]) != ( /*_.ACTYPE__V12*/ meltfptr[11]));; /*^compute */ /*_#IF___L10*/ meltfnum[9] = /*_#__L11*/ meltfnum[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2278:/ clear"); /*clear *//*_#__L11*/ meltfnum[10] = 0; } ; } else { /*^cond.else */ /*_#IF___L10*/ meltfnum[9] = 0;; } ; /*^compute */ /*_#IF___L8*/ meltfnum[3] = /*_#IF___L10*/ meltfnum[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2278:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_#IF___L10*/ meltfnum[9] = 0; } ; } else { /*^cond.else */ /*_#IF___L8*/ meltfnum[3] = 0;; } ; MELT_LOCATION ("warmelt-normal.melt:2278:/ cond"); /*cond */ if ( /*_#IF___L8*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2282:/ locexp"); melt_error_str ((melt_ptr_t) (( /*~SLOC */ meltfclos->tabval[2])), ("type mismatch between formals & actuals in cmatch oper"), (melt_ptr_t) (( /*~CMANAMSTR */ meltfclos-> tabval[3]))); } ; MELT_LOCATION ("warmelt-normal.melt:2285:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FORARG__V9*/ meltfptr[5]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V17*/ meltfptr[13] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:2284:/ locexp"); melt_inform_str ((melt_ptr_t) (( /*~SLOC */ meltfclos->tabval[2])), ("mismatched primitive formal name"), (melt_ptr_t) ( /*_.NAMED_NAME__V17*/ meltfptr[13])); } ; MELT_LOCATION ("warmelt-normal.melt:2287:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.ACTYPE__V12*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V18*/ meltfptr[14] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:2286:/ locexp"); melt_inform_str ((melt_ptr_t) (( /*~SLOC */ meltfclos->tabval[2])), ("mismatched primitive actual type"), (melt_ptr_t) ( /*_.NAMED_NAME__V18*/ meltfptr[14])); } ; MELT_LOCATION ("warmelt-normal.melt:2289:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FORTYPE__V11*/ meltfptr[10]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V19*/ meltfptr[18] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:2288:/ locexp"); melt_inform_str ((melt_ptr_t) (( /*~SLOC */ meltfclos->tabval[2])), ("mismatched primitive expected type"), (melt_ptr_t) ( /*_.NAMED_NAME__V19*/ meltfptr[18])); } ; MELT_LOCATION ("warmelt-normal.melt:2281:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2278:/ clear"); /*clear *//*_.NAMED_NAME__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V18*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V19*/ meltfptr[18] = 0; } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-normal.melt:2291:/ locexp"); meltgc_put_mapobjects ((meltmapobjects_ptr_t) (( /*~BMAP */ meltfclos->tabval[4])), (meltobject_ptr_t) ( /*_.FORARG__V9*/ meltfptr[5]), (melt_ptr_t) ( /*_.ACTARG__V10*/ meltfptr[6])); } ; MELT_LOCATION ("warmelt-normal.melt:2272:/ clear"); /*clear *//*_.FORARG__V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.ACTARG__V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.FORTYPE__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.ACTYPE__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_#IS_A__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#IF___L8*/ meltfnum[3] = 0; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2269:/ clear"); /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.IFCPP___V5*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_47_warmelt_normal_LAMBDA___12___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_47_warmelt_normal_LAMBDA___12__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_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_) { long current_blocklevel_signals_meltrout_48_warmelt_normal_LAMBDA___13___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_48_warmelt_normal_LAMBDA___13___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 11 melt_ptr_t mcfr_varptr[11]; #define MELTFRAM_NBVARNUM 7 long mcfr_varnum[7]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_48_warmelt_normal_LAMBDA___13__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_48_warmelt_normal_LAMBDA___13___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 11; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_48_warmelt_normal_LAMBDA___13__ nbval 11*/ meltfram__.mcfr_nbvar = 11 /*nbval */ ; 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:2296:/ getarg"); /*_.EXCU__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#JX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normal.melt:2298:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.EXCU__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:2299:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2300:/ quasiblock"); /*_.BVAL__V5*/ meltfptr[4] = /*mapobject_get */ melt_get_mapobjects ((meltmapobjects_ptr_t) (( /*~BMAP */ meltfclos->tabval[0])), (meltobject_ptr_t) ( /*_.EXCU__V2*/ meltfptr[1]));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L3*/ meltfnum[2] = (( /*_.BVAL__V5*/ meltfptr[4]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:2301:/ cond"); /*cond */ if ( /*_#NULL__L3*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2308:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2308:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2308:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 2308; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_cmatchexpr unexpected symbol in expansion recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & ( /*~RECV */ meltfclos-> tabval[1]); /*^apply.arg */ argtab[5].meltbp_cstring = " excu="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.EXCU__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[1])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2308:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2308:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2308:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ meltfnum[3] = 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:2310:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.EXCU__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V10*/ meltfptr[6] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:2309:/ locexp"); melt_error_str ((melt_ptr_t) (( /*~SLOC */ meltfclos->tabval[2])), ("unexpected symbol in cmatch expression expansion"), (melt_ptr_t) ( /*_.NAMED_NAME__V10*/ meltfptr[6])); } ; { MELT_LOCATION ("warmelt-normal.melt:2311:/ locexp"); melt_error_str ((melt_ptr_t) (( /*~SLOC */ meltfclos->tabval[2])), ("bad primitive name"), (melt_ptr_t) (( /*~CMANAMSTR */ meltfclos-> tabval[3]))); } ; MELT_LOCATION ("warmelt-normal.melt:2302:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2301:/ clear"); /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V10*/ meltfptr[6] = 0; } ; } /*noelse */ ; /*_.LET___V4*/ meltfptr[3] = /*_.BVAL__V5*/ meltfptr[4];; MELT_LOCATION ("warmelt-normal.melt:2300:/ clear"); /*clear *//*_.BVAL__V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_#NULL__L3*/ meltfnum[2] = 0; /*_.EXVAL__V3*/ meltfptr[2] = /*_.LET___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2299:/ clear"); /*clear *//*_.LET___V4*/ meltfptr[3] = 0; } ; } else { /*^cond.else */ /*_.EXVAL__V3*/ meltfptr[2] = /*_.EXCU__V2*/ meltfptr[1];; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L6*/ meltfnum[4] = (( /*_.EXVAL__V3*/ meltfptr[2]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:2315:/ cond"); /*cond */ if ( /*_#NULL__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2317:/ locexp"); melt_warning_str (0, (melt_ptr_t) (( /*~SLOC */ meltfclos-> tabval[2])), ("null expansion of cmatch expression argument for"), (melt_ptr_t) (( /*~CMANAMSTR */ meltfclos-> tabval[3]))); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[3] = melt_is_instance_of ((melt_ptr_t) ( /*_.EXCU__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout-> tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:2319:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2321:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.EXCU__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V11*/ meltfptr[7] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:2320:/ locexp"); melt_warning_str (0, (melt_ptr_t) (( /*~SLOC */ meltfclos-> tabval[2])), ("null cmatch expression original piece is"), (melt_ptr_t) ( /*_.NAMED_NAME__V11*/ meltfptr[7])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2319:/ clear"); /*clear *//*_.NAMED_NAME__V11*/ meltfptr[7] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:2316:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2315:/ clear"); /*clear *//*_#IS_A__L7*/ meltfnum[3] = 0; } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-normal.melt:2324:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) (( /*~EXPARGS */ meltfclos->tabval[4])), ( /*_#JX__L1*/ meltfnum[0]), (melt_ptr_t) ( /*_.EXVAL__V3*/ meltfptr[2])); } ; MELT_LOCATION ("warmelt-normal.melt:2298:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.EXVAL__V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_#NULL__L6*/ meltfnum[4] = 0; /*epilog */ } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_48_warmelt_normal_LAMBDA___13___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_48_warmelt_normal_LAMBDA___13__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_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_) { long current_blocklevel_signals_meltrout_49_warmelt_normal_NORMEXP_FUNMATCHEXPR_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_49_warmelt_normal_NORMEXP_FUNMATCHEXPR_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 71 melt_ptr_t mcfr_varptr[71]; #define MELTFRAM_NBVARNUM 17 long mcfr_varnum[17]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_49_warmelt_normal_NORMEXP_FUNMATCHEXPR is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_49_warmelt_normal_NORMEXP_FUNMATCHEXPR_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 71; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_49_warmelt_normal_NORMEXP_FUNMATCHEXPR nbval 71*/ meltfram__.mcfr_nbvar = 71 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_FUNMATCHEXPR", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:2361:/ 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:2362:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2362:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2362:/ 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 = 2362; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_funmatchexpr recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2362:/ 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:2362:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2362:/ 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:2363:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_FUNMATCHEXPR */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:2363:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2363:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2363) ? (2363) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2363:/ 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2364:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:2364:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2364:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2364) ? (2364) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2364:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2365:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:2365:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2365:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2365) ? (2365) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2365:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2366:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2367:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SFMATX_FMATCHER"); /*_.SFMAT__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2368:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "SFMATX_FMATBIND"); /*_.SFBIND__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2369:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SARGOP_ARGS"); /*_.SARGS__V20*/ meltfptr[19] = slot; }; ; /*_.NBIND__V21*/ meltfptr[20] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[4]))));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2372:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SFMAT__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_FUNMATCHER */ meltfrout->tabval[5])));; MELT_LOCATION ("warmelt-normal.melt:2372:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V23*/ meltfptr[22] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2372:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sfmat"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2372) ? (2372) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V23*/ meltfptr[22] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V22*/ meltfptr[21] = /*_.IFELSE___V23*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2372:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V23*/ meltfptr[22] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V22*/ meltfptr[21] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2373:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SFBIND__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:2373:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V25*/ meltfptr[24] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2373:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sfbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2373) ? (2373) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V25*/ meltfptr[24] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V24*/ meltfptr[22] = /*_.IFELSE___V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2373:/ clear"); /*clear *//*_#IS_A__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V25*/ meltfptr[24] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V24*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2374:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2374:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2374:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2374; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_funmatchexpr sfbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SFBIND__V19*/ meltfptr[18]; /*_.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:2374:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V28*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2374:/ quasiblock"); /*_.PROGN___V29*/ meltfptr[27] = /*_.IF___V27*/ meltfptr[26];; /*^compute */ /*_.IFCPP___V26*/ meltfptr[24] = /*_.PROGN___V29*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2374:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.PROGN___V29*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[24] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2375:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SFBIND__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.FMATSYM__V31*/ meltfptr[27] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2376:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.FMATSYM__V31*/ meltfptr[27]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:2376:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V33*/ meltfptr[32] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2376:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fmatsym"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2376) ? (2376) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V33*/ meltfptr[32] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V32*/ meltfptr[31] = /*_.IFELSE___V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2376:/ clear"); /*clear *//*_#IS_A__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V33*/ meltfptr[32] = 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:2377:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.FMATSYM__V31*/ meltfptr[27]; /*_.FIND_ENV__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!FIND_ENV */ meltfrout->tabval[8])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_#__L11*/ meltfnum[0] = (( /*_.SFBIND__V19*/ meltfptr[18]) == ( /*_.FIND_ENV__V35*/ meltfptr[34]));; MELT_LOCATION ("warmelt-normal.melt:2377:/ cond"); /*cond */ if ( /*_#__L11*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V36*/ meltfptr[35] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2377:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check good sfbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2377) ? (2377) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V36*/ meltfptr[35] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V34*/ meltfptr[32] = /*_.IFELSE___V36*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2377:/ clear"); /*clear *//*_.FIND_ENV__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_#__L11*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V36*/ meltfptr[35] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[32] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2378:/ quasiblock"); 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 *) & /*_.PSLOC__V5*/ meltfptr[4]; /*_.NFMAT__V38*/ meltfptr[35] = meltgc_send ((melt_ptr_t) ( /*_.FMATSYM__V31*/ meltfptr[27]), (melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[9])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2379:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ 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:2379:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2379:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2379; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_funmatchexpr nfmat"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NFMAT__V38*/ meltfptr[35]; /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40] = 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___V40*/ meltfptr[39] = /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2379:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V41*/ meltfptr[40] = 0; } ; } else { /*^cond.else */ /*_.IF___V40*/ meltfptr[39] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2379:/ quasiblock"); /*_.PROGN___V42*/ meltfptr[40] = /*_.IF___V40*/ meltfptr[39];; /*^compute */ /*_.IFCPP___V39*/ meltfptr[38] = /*_.PROGN___V42*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2379:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.PROGN___V42*/ meltfptr[40] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V39*/ meltfptr[38] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2382:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V44*/ meltfptr[40] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.FMATSYM__V31*/ meltfptr[27]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2388:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_UNSAFE_GET_FIELD */ meltfrout->tabval[13])), (3), "CLASS_NREP_UNSAFE_GET_FIELD"); /*_.INST__V46*/ meltfptr[45] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V46*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V46*/ meltfptr[45]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUGET_OBJ", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V46*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V46*/ meltfptr[45]), (1), ( /*_.NFMAT__V38*/ meltfptr[35]), "NUGET_OBJ"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUGET_FIELD", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V46*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V46*/ meltfptr[45]), (2), (( /*!FMATCH_APPLYF */ meltfrout->tabval[14])), "NUGET_FIELD"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V46*/ meltfptr[45], "newly made instance"); ; /*_.INST___V45*/ meltfptr[44] = /*_.INST__V46*/ meltfptr[45];; MELT_LOCATION ("warmelt-normal.melt:2383:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[11])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V48*/ meltfptr[47] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (3), ( /*_.SLOC__V17*/ meltfptr[16]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (0), ( /*_.CSYM__V44*/ meltfptr[40]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[12])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (2), ( /*_.INST___V45*/ meltfptr[44]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V48*/ meltfptr[47], "newly made instance"); ; /*_.CBIND__V47*/ meltfptr[46] = /*_.INST__V48*/ meltfptr[47];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2393:/ 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__V50*/ meltfptr[49] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V50*/ meltfptr[49]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V50*/ meltfptr[49]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[12])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V50*/ meltfptr[49]), (1), ( /*_.CSYM__V44*/ meltfptr[40]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V50*/ meltfptr[49]), (3), ( /*_.CBIND__V47*/ meltfptr[46]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V50*/ meltfptr[49], "newly made instance"); ; /*_.CLOCC__V49*/ meltfptr[48] = /*_.INST__V50*/ meltfptr[49];; { MELT_LOCATION ("warmelt-normal.melt:2399:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V21*/ meltfptr[20]), (melt_ptr_t) ( /*_.CBIND__V47*/ meltfptr[46])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2400:/ 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[16]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NARGBIND__V53*/ meltfptr[52]; /*^multiapply.appl */ /*_.NARGS__V52*/ meltfptr[51] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[16])), (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:2403:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ 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:2403:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2403:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2403; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_funmatchexpr nargs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NARGS__V52*/ meltfptr[51]; /*^apply.arg */ argtab[5].meltbp_cstring = " nargbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NARGBIND__V53*/ meltfptr[52]; /*_.MELT_DEBUG_FUN__V56*/ meltfptr[55] = 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___V55*/ meltfptr[54] = /*_.MELT_DEBUG_FUN__V56*/ meltfptr[55];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2403:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V56*/ meltfptr[55] = 0; } ; } else { /*^cond.else */ /*_.IF___V55*/ meltfptr[54] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2403:/ quasiblock"); /*_.PROGN___V57*/ meltfptr[55] = /*_.IF___V55*/ meltfptr[54];; /*^compute */ /*_.IFCPP___V54*/ meltfptr[53] = /*_.PROGN___V57*/ meltfptr[55];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2403:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[0] = 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2404:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NARGBIND__V53*/ meltfptr[52]; /*_.LIST_APPEND2LIST__V58*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.NBIND__V21*/ meltfptr[20]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2405:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2406:/ apply"); /*apply */ { /*_.ASYM__V60*/ meltfptr[59] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.FMATSYM__V31*/ meltfptr[27]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2412:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_APPLY */ meltfrout->tabval[18])), (4), "CLASS_NREP_APPLY"); /*_.INST__V62*/ meltfptr[61] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[12])), "NEXPR_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NAPP_FUN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (3), ( /*_.CLOCC__V49*/ meltfptr[48]), "NAPP_FUN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_ARGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (2), ( /*_.NARGS__V52*/ meltfptr[51]), "NEXPR_ARGS"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V62*/ meltfptr[61], "newly made instance"); ; /*_.INST___V61*/ meltfptr[60] = /*_.INST__V62*/ meltfptr[61];; MELT_LOCATION ("warmelt-normal.melt:2407:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[11])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V64*/ meltfptr[63] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V64*/ meltfptr[63]), (3), ( /*_.SLOC__V17*/ meltfptr[16]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V64*/ meltfptr[63]), (0), ( /*_.ASYM__V60*/ meltfptr[59]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V64*/ meltfptr[63]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[12])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V64*/ meltfptr[63]), (2), ( /*_.INST___V61*/ meltfptr[60]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V64*/ meltfptr[63], "newly made instance"); ; /*_.ABIND__V63*/ meltfptr[62] = /*_.INST__V64*/ meltfptr[63];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2418:/ 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__V66*/ meltfptr[65] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V66*/ meltfptr[65])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V66*/ meltfptr[65]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V66*/ meltfptr[65])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V66*/ meltfptr[65]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[12])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V66*/ meltfptr[65])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V66*/ meltfptr[65]), (1), ( /*_.ASYM__V60*/ meltfptr[59]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V66*/ meltfptr[65])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V66*/ meltfptr[65]), (3), ( /*_.ABIND__V63*/ meltfptr[62]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V66*/ meltfptr[65], "newly made instance"); ; /*_.CALOCC__V65*/ meltfptr[64] = /*_.INST__V66*/ meltfptr[65];; { MELT_LOCATION ("warmelt-normal.melt:2425:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V21*/ meltfptr[20]), (melt_ptr_t) ( /*_.ABIND__V63*/ meltfptr[62])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2426:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ 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:2426:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2426:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2426; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_funmatchexpr final calocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CALOCC__V65*/ meltfptr[64]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V69*/ 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V68*/ meltfptr[67] = /*_.MELT_DEBUG_FUN__V69*/ meltfptr[68];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2426:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V69*/ meltfptr[68] = 0; } ; } else { /*^cond.else */ /*_.IF___V68*/ meltfptr[67] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2426:/ quasiblock"); /*_.PROGN___V70*/ meltfptr[68] = /*_.IF___V68*/ meltfptr[67];; /*^compute */ /*_.IFCPP___V67*/ meltfptr[66] = /*_.PROGN___V70*/ meltfptr[68];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2426:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.PROGN___V70*/ meltfptr[68] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V67*/ meltfptr[66] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2427:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CALOCC__V65*/ meltfptr[64];; MELT_LOCATION ("warmelt-normal.melt:2427:/ 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) ( /*_.NBIND__V21*/ meltfptr[20]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V59*/ meltfptr[55] = /*_.RETURN___V71*/ meltfptr[67];; MELT_LOCATION ("warmelt-normal.melt:2405:/ clear"); /*clear *//*_.ASYM__V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.INST___V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.ABIND__V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.CALOCC__V65*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.IFCPP___V67*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.RETURN___V71*/ meltfptr[67] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V51*/ meltfptr[50] = /*_.LET___V59*/ meltfptr[55];; MELT_LOCATION ("warmelt-normal.melt:2400:/ clear"); /*clear *//*_.IFCPP___V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V58*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.LET___V59*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.NARGBIND__V53*/ meltfptr[52] = 0; /*_.LET___V43*/ meltfptr[39] = /*_.MULTI___V51*/ meltfptr[50];; MELT_LOCATION ("warmelt-normal.melt:2382:/ clear"); /*clear *//*_.CSYM__V44*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.INST___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.CBIND__V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.CLOCC__V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.MULTI___V51*/ meltfptr[50] = 0; /*_.LET___V37*/ meltfptr[34] = /*_.LET___V43*/ meltfptr[39];; MELT_LOCATION ("warmelt-normal.melt:2378:/ clear"); /*clear *//*_.NFMAT__V38*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.IFCPP___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.LET___V43*/ meltfptr[39] = 0; /*_.LET___V30*/ meltfptr[26] = /*_.LET___V37*/ meltfptr[34];; MELT_LOCATION ("warmelt-normal.melt:2375:/ clear"); /*clear *//*_.FMATSYM__V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.IFCPP___V34*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.LET___V37*/ meltfptr[34] = 0; /*_.LET___V16*/ meltfptr[14] = /*_.LET___V30*/ meltfptr[26];; MELT_LOCATION ("warmelt-normal.melt:2366:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SFMAT__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SFBIND__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.SARGS__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NBIND__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.IFCPP___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.IFCPP___V24*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.LET___V30*/ meltfptr[26] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2361:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:2361:/ 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 *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_FUNMATCHEXPR", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_49_warmelt_normal_NORMEXP_FUNMATCHEXPR_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_49_warmelt_normal_NORMEXP_FUNMATCHEXPR */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_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_) { long current_blocklevel_signals_meltrout_50_warmelt_normal_NORMEXP_APPLY_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_50_warmelt_normal_NORMEXP_APPLY_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 83 melt_ptr_t mcfr_varptr[83]; #define MELTFRAM_NBVARNUM 23 long mcfr_varnum[23]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_50_warmelt_normal_NORMEXP_APPLY is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_50_warmelt_normal_NORMEXP_APPLY_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 83; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_50_warmelt_normal_NORMEXP_APPLY nbval 83*/ meltfram__.mcfr_nbvar = 83 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_APPLY", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:2433:/ 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:2434:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_APPLY */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:2434:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2434:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check apply recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2434) ? (2434) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2434:/ 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:2435:/ cppif.then"); /*^block */ /*anyblock */ { 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:2435:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2435:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2435) ? (2435) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2435:/ 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:2436:/ cppif.then"); /*^block */ /*anyblock */ { 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:2436:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2436:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2436) ? (2436) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2436:/ 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 */ ; MELT_LOCATION ("warmelt-normal.melt:2437:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V13*/ meltfptr[12] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2438:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SAPP_FUN"); /*_.SFUN__V14*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2439:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SARGOP_ARGS"); /*_.SARGS__V15*/ meltfptr[14] = slot; }; ; MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SFUN__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:2440:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.SFUSYMB__V16*/ meltfptr[15] = /*_.SFUN__V14*/ meltfptr[13];; } else { MELT_LOCATION ("warmelt-normal.melt:2440:/ cond.else"); /*_.SFUSYMB__V16*/ meltfptr[15] = ( /*!konst_4_FUN_ */ meltfrout->tabval[4]);; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2442:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V13*/ meltfptr[12]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDFUN__V19*/ meltfptr[18]; /*^multimsend.send */ /*_.NFUN__V18*/ meltfptr[17] = meltgc_send ((melt_ptr_t) ( /*_.SFUN__V14*/ meltfptr[13]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2445:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L5*/ meltfnum[4] = (( /*_.NBINDFUN__V19*/ meltfptr[18]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDFUN__V19*/ meltfptr[18])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:2445:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L5*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V21*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2445:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindfun"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2445) ? (2445) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_.IFELSE___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2445:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2446:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2446:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2446:/ 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 = 2446; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_apply nfun"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NFUN__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[6])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V23*/ meltfptr[22] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2446:/ 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:2446:/ quasiblock"); /*_.PROGN___V25*/ meltfptr[23] = /*_.IF___V23*/ meltfptr[22];; /*^compute */ /*_.IFCPP___V22*/ meltfptr[20] = /*_.PROGN___V25*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2446:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.PROGN___V25*/ meltfptr[23] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V22*/ meltfptr[20] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2447:/ quasiblock"); 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__V3*/ meltfptr[2]; /*_.NFUNCTYP__V27*/ meltfptr[23] = meltgc_send ((melt_ptr_t) ( /*_.NFUN__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[7])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2449:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[6] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:2449:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2449:/ apply"); /*apply */ { union meltparam_un argtab[5]; 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 = 2449; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_apply nfunctyp"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NFUNCTYP__V27*/ meltfptr[23]; /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[6])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V29*/ meltfptr[28] = /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2449:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = 0; } ; } else { /*^cond.else */ /*_.IF___V29*/ meltfptr[28] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2449:/ quasiblock"); /*_.PROGN___V31*/ meltfptr[29] = /*_.IF___V29*/ meltfptr[28];; /*^compute */ /*_.IFCPP___V28*/ meltfptr[27] = /*_.PROGN___V31*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2449:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.PROGN___V31*/ meltfptr[29] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V28*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#__L10*/ meltfnum[4] = (( /*_.NFUNCTYP__V27*/ meltfptr[23]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:2450:/ cond"); /*cond */ if ( /*_#__L10*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2452:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ 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:2452:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2452:/ apply"); /*apply */ { union meltparam_un argtab[11]; 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 = 2452; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_apply bad nfun="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NFUN__V18*/ meltfptr[17]; /*^apply.arg */ argtab[5].meltbp_cstring = " sfun="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SFUN__V14*/ meltfptr[13]; /*^apply.arg */ argtab[7].meltbp_cstring = " nfunctyp="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NFUNCTYP__V27*/ meltfptr[23]; /*^apply.arg */ argtab[9].meltbp_cstring = " recv="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[6])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V34*/ meltfptr[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2452:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*_.IF___V34*/ meltfptr[33] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2452:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[34] = /*_.IF___V34*/ meltfptr[33];; /*^compute */ /*_.IFCPP___V33*/ meltfptr[29] = /*_.PROGN___V36*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2452:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.PROGN___V36*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V33*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2454:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NFUNCTYP__V27*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NFUNCTYP__V27*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V37*/ meltfptr[33] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V37*/ meltfptr[33] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2453:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V13*/ meltfptr[12]), ("applied function should be a value, but has bad ctype"), (melt_ptr_t) ( /*_.NAMED_NAME__V37*/ meltfptr[33])); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L13*/ meltfnum[11] = (melt_magic_discr ((melt_ptr_t) ( /*_.SFUN__V14*/ meltfptr[13])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-normal.melt:2456:/ cond"); /*cond */ if ( /*_#IS_STRING__L13*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2457:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V13*/ meltfptr[12]), ("bad applied string, not a function"), (melt_ptr_t) ( /*_.SFUN__V14*/ meltfptr[13])); } ; /*clear *//*_.IFELSE___V38*/ meltfptr[34] = 0; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normal.melt:2456:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L14*/ meltfnum[6] = melt_is_instance_of ((melt_ptr_t) ( /*_.SFUN__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout-> tabval[9])));; MELT_LOCATION ("warmelt-normal.melt:2458:/ cond"); /*cond */ if ( /*_#IS_A__L14*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2460:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SFUN__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SFUN__V14*/ meltfptr[13]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V40*/ meltfptr[39] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V40*/ meltfptr[39] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2459:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V13*/ meltfptr[12]), ("bad applied function, named"), (melt_ptr_t) ( /*_.NAMED_NAME__V40*/ meltfptr[39])); } ; /*clear *//*_.IFELSE___V39*/ meltfptr[38] = 0; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2458:/ clear"); /*clear *//*_.NAMED_NAME__V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L15*/ meltfnum[14] = melt_is_instance_of ((melt_ptr_t) ( /*_.SFUN__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[10])));; MELT_LOCATION ("warmelt-normal.melt:2461:/ cond"); /*cond */ if ( /*_#IS_A__L15*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2462:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SFUN__V14*/ meltfptr[13]), (melt_ptr_t) (( /*!CLASS_LOCATED */ meltfrout->tabval[10]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SFUN__V14*/ meltfptr[13]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V42*/ meltfptr[41] = slot; }; ; } else { /*^cond.else */ /*_.LOCA_LOCATION__V42*/ meltfptr[41] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2462:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOCA_LOCATION__V42*/ meltfptr[41]), ("here is the wrong applied function"), (melt_ptr_t) 0); } ; /*clear *//*_.IFELSE___V41*/ meltfptr[39] = 0; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2461:/ clear"); /*clear *//*_.LOCA_LOCATION__V42*/ meltfptr[41] = 0; } ; } else { /*^cond.else */ /*_.IFELSE___V41*/ meltfptr[39] = NULL;; } ; /*^compute */ /*_.IFELSE___V39*/ meltfptr[38] = /*_.IFELSE___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2458:/ clear"); /*clear *//*_#IS_A__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IFELSE___V41*/ meltfptr[39] = 0; } ; } ; /*_.IFELSE___V38*/ meltfptr[34] = /*_.IFELSE___V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2456:/ clear"); /*clear *//*_#IS_A__L14*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V39*/ meltfptr[38] = 0; } ; } ; MELT_LOCATION ("warmelt-normal.melt:2451:/ quasiblock"); /*_.PROGN___V43*/ meltfptr[41] = /*_.IFELSE___V38*/ meltfptr[34];; /*^compute */ /*_.IF___V32*/ meltfptr[28] = /*_.PROGN___V43*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2450:/ clear"); /*clear *//*_.IFCPP___V33*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V37*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_#IS_STRING__L13*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IFELSE___V38*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.PROGN___V43*/ meltfptr[41] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[28] = NULL;; } ; /*^compute */ /*_.LET___V26*/ meltfptr[22] = /*_.IF___V32*/ meltfptr[28];; MELT_LOCATION ("warmelt-normal.melt:2447:/ clear"); /*clear *//*_.NFUNCTYP__V27*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.IFCPP___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_#__L10*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[28] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2465:/ 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__V13*/ meltfptr[12]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDARGS__V46*/ meltfptr[29]; /*^multiapply.appl */ /*_.NARGS__V45*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[11])), (melt_ptr_t) ( /*_.SARGS__V15*/ meltfptr[14]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2468:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L16*/ meltfnum[14] = (( /*_.NBINDARGS__V46*/ meltfptr[29]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDARGS__V46*/ meltfptr[29])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:2468:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L16*/ meltfnum[14]) /*then */ { /*^cond.then */ /*_.IFELSE___V48*/ meltfptr[34] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2468:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindargs"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2468) ? (2468) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V48*/ meltfptr[34] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V47*/ meltfptr[33] = /*_.IFELSE___V48*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2468:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L16*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IFELSE___V48*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V47*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2470:/ quasiblock"); /*_.NARGFIRST__V49*/ meltfptr[41] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NARGS__V45*/ meltfptr[38]), (0)));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2472:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ 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:2472:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2472:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2472; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_apply nargfirst"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NARGFIRST__V49*/ meltfptr[41]; /*_.MELT_DEBUG_FUN__V52*/ meltfptr[28] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[6])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V51*/ meltfptr[27] = /*_.MELT_DEBUG_FUN__V52*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2472:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V52*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*_.IF___V51*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2472:/ quasiblock"); /*_.PROGN___V53*/ meltfptr[34] = /*_.IF___V51*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V50*/ meltfptr[23] = /*_.PROGN___V53*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2472:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V51*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V53*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V50*/ meltfptr[23] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2473:/ cond"); /*cond */ if ( /*_.NARGFIRST__V49*/ meltfptr[41]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2474:/ quasiblock"); 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__V3*/ meltfptr[2]; /*_.NARGFIRSTCTYPE__V54*/ meltfptr[28] = meltgc_send ((melt_ptr_t) ( /*_.NARGFIRST__V49*/ meltfptr[41]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[7])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2476:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ 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:2476:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[14] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2476:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2476; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_apply nargfirstctype"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NARGFIRSTCTYPE__V54*/ meltfptr[28]; /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[6])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V56*/ meltfptr[34] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2476:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V57*/ meltfptr[56] = 0; } ; } else { /*^cond.else */ /*_.IF___V56*/ meltfptr[34] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2476:/ quasiblock"); /*_.PROGN___V58*/ meltfptr[56] = /*_.IF___V56*/ meltfptr[34];; /*^compute */ /*_.IFCPP___V55*/ meltfptr[27] = /*_.PROGN___V58*/ meltfptr[56];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2476:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V56*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.PROGN___V58*/ meltfptr[56] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V55*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#__L21*/ meltfnum[11] = (( /*_.NARGFIRSTCTYPE__V54*/ meltfptr[28]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:2477:/ cond"); /*cond */ if ( /*_#__L21*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2478:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V13*/ meltfptr[12]), ("first argument of function application should be a value"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:2474:/ clear"); /*clear *//*_.NARGFIRSTCTYPE__V54*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V55*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_#__L21*/ meltfnum[11] = 0; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:2470:/ clear"); /*clear *//*_.NARGFIRST__V49*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.IFCPP___V50*/ meltfptr[23] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2483:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V13*/ meltfptr[12]; /*_.CHECK_CTYPE_NARGS__V59*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!CHECK_CTYPE_NARGS */ meltfrout->tabval[12])), (melt_ptr_t) ( /*_.NARGS__V45*/ meltfptr[38]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2484:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDFUN__V19*/ meltfptr[18]; /*_.LIST_APPEND2LIST__V60*/ meltfptr[56] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[13])), (melt_ptr_t) ( /*_.NBINDARGS__V46*/ meltfptr[29]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^compute */ /*_.NBINDARGS__V46*/ meltfptr[29] = /*_.SETQ___V61*/ meltfptr[28] = /*_.LIST_APPEND2LIST__V60*/ meltfptr[56];; MELT_LOCATION ("warmelt-normal.melt:2486:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CINTSYM__V63*/ meltfptr[41] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[14])), (melt_ptr_t) ( /*_.SFUSYMB__V16*/ meltfptr[15]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2487:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHECKSIGNAL */ meltfrout->tabval[15])), (1), "CLASS_NREP_CHECKSIGNAL"); /*_.INST__V65*/ meltfptr[64] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (0), ( /*_.SLOC__V13*/ meltfptr[12]), "NREP_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V65*/ meltfptr[64], "newly made instance"); ; /*_.NCHINT__V64*/ meltfptr[23] = /*_.INST__V65*/ meltfptr[64];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2489:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[16])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V67*/ meltfptr[66] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (3), ( /*_.SLOC__V13*/ meltfptr[12]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (0), ( /*_.CINTSYM__V63*/ meltfptr[41]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[17])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (2), ( /*_.NCHINT__V64*/ meltfptr[23]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V67*/ meltfptr[66], "newly made instance"); ; /*_.CINTBIND__V66*/ meltfptr[65] = /*_.INST__V67*/ meltfptr[66];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L22*/ meltfnum[6] = (( /*_.NBINDARGS__V46*/ meltfptr[29]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:2495:/ cond"); /*cond */ if ( /*_#NULL__L22*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2496:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltpair_st rpair_0__CINTBIND_x1; struct meltlist_st rlist_1__LIST_; 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 */ /*inipair rpair_0__CINTBIND_x1 */ /*_.CINTBIND__V70*/ meltfptr[69] = (melt_ptr_t) & meltletrec_1_ptr->rpair_0__CINTBIND_x1; meltletrec_1_ptr->rpair_0__CINTBIND_x1.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_1__LIST_ */ /*_.LIST___V71*/ meltfptr[70] = (melt_ptr_t) & meltletrec_1_ptr->rlist_1__LIST_; meltletrec_1_ptr->rlist_1__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*^putpairhead */ /*putpairhead */ melt_assertmsg ("putpairhead /2 checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CINTBIND__V70*/ meltfptr[69])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CINTBIND__V70*/ meltfptr[69]))->hd = (melt_ptr_t) ( /*_.CINTBIND__V66*/ meltfptr[65]); ; /*^touch */ meltgc_touch ( /*_.CINTBIND__V70*/ meltfptr[69]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.LIST___V71*/ meltfptr[70])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.LIST___V71*/ meltfptr[70]))->first = (meltpair_ptr_t) ( /*_.CINTBIND__V70*/ meltfptr[69]); ((meltlist_ptr_t) ( /*_.LIST___V71*/ meltfptr[70]))->last = (meltpair_ptr_t) ( /*_.CINTBIND__V70*/ meltfptr[69]); ; /*^touch */ meltgc_touch ( /*_.LIST___V71*/ meltfptr[70]); ; /*_.LIST___V69*/ meltfptr[68] = /*_.LIST___V71*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2496:/ clear"); /*clear *//*_.CINTBIND__V70*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.LIST___V71*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.CINTBIND__V70*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.LIST___V71*/ meltfptr[70] = 0; } /*end multiallocblock */ ; /*^compute */ /*_.NBINDARGS__V46*/ meltfptr[29] = /*_.SETQ___V72*/ meltfptr[69] = /*_.LIST___V69*/ meltfptr[68];; /*_.IFELSE___V68*/ meltfptr[67] = /*_.SETQ___V72*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2495:/ clear"); /*clear *//*_.LIST___V69*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.SETQ___V72*/ meltfptr[69] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2497:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDARGS__V46*/ meltfptr[29]), (melt_ptr_t) ( /*_.CINTBIND__V66*/ meltfptr[65])); } ; /*clear *//*_.IFELSE___V68*/ meltfptr[67] = 0; /*epilog */ } ; } ; /*^compute */ /*_.LET___V62*/ meltfptr[27] = /*_.IFELSE___V68*/ meltfptr[67];; MELT_LOCATION ("warmelt-normal.melt:2486:/ clear"); /*clear *//*_.CINTSYM__V63*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.NCHINT__V64*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.CINTBIND__V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_#NULL__L22*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V68*/ meltfptr[67] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2499:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L23*/ meltfnum[14] = (melt_magic_discr ((melt_ptr_t) ( /*_.NBINDARGS__V46*/ meltfptr[29])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normal.melt:2499:/ cond"); /*cond */ if ( /*_#IS_LIST__L23*/ meltfnum[14]) /*then */ { /*^cond.then */ /*_.IFELSE___V74*/ meltfptr[68] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2499:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindargs"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2499) ? (2499) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V74*/ meltfptr[68] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V73*/ meltfptr[70] = /*_.IFELSE___V74*/ meltfptr[68];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2499:/ clear"); /*clear *//*_#IS_LIST__L23*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IFELSE___V74*/ meltfptr[68] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V73*/ meltfptr[70] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2501:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V76*/ meltfptr[41] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[14])), (melt_ptr_t) ( /*_.SFUSYMB__V16*/ meltfptr[15]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2507:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_APPLY */ meltfrout->tabval[18])), (4), "CLASS_NREP_APPLY"); /*_.INST__V78*/ meltfptr[65] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V78*/ meltfptr[65])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V78*/ meltfptr[65]), (0), ( /*_.SLOC__V13*/ meltfptr[12]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V78*/ meltfptr[65])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V78*/ meltfptr[65]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[8])), "NEXPR_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NAPP_FUN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V78*/ meltfptr[65])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V78*/ meltfptr[65]), (3), ( /*_.NFUN__V18*/ meltfptr[17]), "NAPP_FUN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_ARGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V78*/ meltfptr[65])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V78*/ meltfptr[65]), (2), ( /*_.NARGS__V45*/ meltfptr[38]), "NEXPR_ARGS"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V78*/ meltfptr[65], "newly made instance"); ; /*_.INST___V77*/ meltfptr[23] = /*_.INST__V78*/ meltfptr[65];; MELT_LOCATION ("warmelt-normal.melt:2502:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[16])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V80*/ meltfptr[68] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V80*/ meltfptr[68])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V80*/ meltfptr[68]), (3), ( /*_.SLOC__V13*/ meltfptr[12]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V80*/ meltfptr[68])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V80*/ meltfptr[68]), (0), ( /*_.CSYM__V76*/ meltfptr[41]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V80*/ meltfptr[68])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V80*/ meltfptr[68]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[8])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V80*/ meltfptr[68])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V80*/ meltfptr[68]), (2), ( /*_.INST___V77*/ meltfptr[23]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V80*/ meltfptr[68], "newly made instance"); ; /*_.CBIND__V79*/ meltfptr[67] = /*_.INST__V80*/ meltfptr[68];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2513:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[19])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V82*/ meltfptr[81] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[81])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[81]), (0), ( /*_.SLOC__V13*/ meltfptr[12]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[81])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[81]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[8])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[81])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[81]), (1), ( /*_.CSYM__V76*/ meltfptr[41]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[81])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[81]), (3), ( /*_.CBIND__V79*/ meltfptr[67]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V82*/ meltfptr[81], "newly made instance"); ; /*_.CLOCC__V81*/ meltfptr[80] = /*_.INST__V82*/ meltfptr[81];; { MELT_LOCATION ("warmelt-normal.melt:2520:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDARGS__V46*/ meltfptr[29]), (melt_ptr_t) ( /*_.CBIND__V79*/ meltfptr[67])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2521:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V81*/ meltfptr[80];; MELT_LOCATION ("warmelt-normal.melt:2521:/ 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) ( /*_.NBINDARGS__V46*/ meltfptr[29]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V75*/ meltfptr[69] = /*_.RETURN___V83*/ meltfptr[82];; MELT_LOCATION ("warmelt-normal.melt:2501:/ clear"); /*clear *//*_.CSYM__V76*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.INST___V77*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.CBIND__V79*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.CLOCC__V81*/ meltfptr[80] = 0; /*^clear */ /*clear *//*_.RETURN___V83*/ meltfptr[82] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V44*/ meltfptr[39] = /*_.LET___V75*/ meltfptr[69];; MELT_LOCATION ("warmelt-normal.melt:2465:/ clear"); /*clear *//*_.IFCPP___V47*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.CHECK_CTYPE_NARGS__V59*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V60*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.SETQ___V61*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.LET___V62*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V73*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.LET___V75*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.NBINDARGS__V46*/ meltfptr[29] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V17*/ meltfptr[16] = /*_.MULTI___V44*/ meltfptr[39];; MELT_LOCATION ("warmelt-normal.melt:2442:/ clear"); /*clear *//*_.IFCPP___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.IFCPP___V22*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.LET___V26*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.MULTI___V44*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.NBINDFUN__V19*/ meltfptr[18] = 0; /*_.LET___V12*/ meltfptr[10] = /*_.MULTI___V17*/ meltfptr[16];; MELT_LOCATION ("warmelt-normal.melt:2437:/ clear"); /*clear *//*_.SLOC__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.SFUN__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SARGS__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.SFUSYMB__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.MULTI___V17*/ meltfptr[16] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2433:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V12*/ meltfptr[10];; { MELT_LOCATION ("warmelt-normal.melt:2433:/ 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 *//*_.LET___V12*/ meltfptr[10] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_APPLY", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_50_warmelt_normal_NORMEXP_APPLY_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_50_warmelt_normal_NORMEXP_APPLY */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_51_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_) { long current_blocklevel_signals_meltrout_51_warmelt_normal_NORMEXP_MSEND_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_51_warmelt_normal_NORMEXP_MSEND_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 109 melt_ptr_t mcfr_varptr[109]; #define MELTFRAM_NBVARNUM 34 long mcfr_varnum[34]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_51_warmelt_normal_NORMEXP_MSEND is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_51_warmelt_normal_NORMEXP_MSEND_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 109; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_51_warmelt_normal_NORMEXP_MSEND nbval 109*/ meltfram__.mcfr_nbvar = 109 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_MSEND", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:2527:/ getarg"); /*_.MSND__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:2528:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.MSND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_MSEND */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:2528:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2528:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check msnd"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2528) ? (2528) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2528:/ 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:2529:/ cppif.then"); /*^block */ /*anyblock */ { 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:2529:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2529:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2529) ? (2529) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2529:/ 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:2530:/ cppif.then"); /*^block */ /*anyblock */ { 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:2530:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2530:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2530) ? (2530) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2530:/ 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:2531:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2531:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2531:/ 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 = 2531; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_msend msnd"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.MSND__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:2531:/ 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:2531:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2531:/ 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:2532:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MSND__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "MSEND_RECV"); /*_.MSRECV__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2533:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MSND__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SARGOP_ARGS"); /*_.MSARGS__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2534:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MSND__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "MSEND_SELSYMB"); /*_.SELNAM__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2535:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]) /*=obj*/ ; melt_object_get_field (slot, obj, 10, "NCTX_CURPROC"); /*_.CURPROC__V20*/ meltfptr[19] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2536:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.MSND__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V21*/ meltfptr[20] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2537:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V21*/ meltfptr[20]; /*_.NSEL__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!NORMEXP_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.SELNAM__V19*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2538:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SELNAM__V19*/ meltfptr[18]; /*_.SELBIND__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!FIND_ENV */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2540:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2540:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2540:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 2540; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_msend curproc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURPROC__V20*/ meltfptr[19]; /*^apply.arg */ argtab[5].meltbp_cstring = " selbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SELBIND__V23*/ meltfptr[22]; /*_.MELT_DEBUG_FUN__V26*/ meltfptr[25] = 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___V25*/ meltfptr[24] = /*_.MELT_DEBUG_FUN__V26*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2540:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V26*/ meltfptr[25] = 0; } ; } else { /*^cond.else */ /*_.IF___V25*/ meltfptr[24] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2540:/ quasiblock"); /*_.PROGN___V27*/ meltfptr[25] = /*_.IF___V25*/ meltfptr[24];; /*^compute */ /*_.IFCPP___V24*/ meltfptr[23] = /*_.PROGN___V27*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2540:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[4] = 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 */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2542:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V21*/ meltfptr[20]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDRECV__V30*/ meltfptr[29]; /*^multimsend.send */ /*_.NRECV__V29*/ meltfptr[25] = meltgc_send ((melt_ptr_t) ( /*_.MSRECV__V17*/ meltfptr[13]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[6]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2545:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L8*/ meltfnum[0] = (( /*_.NBINDRECV__V30*/ meltfptr[29]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDRECV__V30*/ meltfptr[29])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:2545:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V32*/ meltfptr[31] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2545:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindrecv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2545) ? (2545) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V32*/ meltfptr[31] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V31*/ meltfptr[30] = /*_.IFELSE___V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2545:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V32*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2547:/ quasiblock"); 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__V3*/ meltfptr[2]; /*_.CTYPR__V33*/ meltfptr[31] = meltgc_send ((melt_ptr_t) ( /*_.NRECV__V29*/ meltfptr[25]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[7])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2548:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.CTYPR__V33*/ meltfptr[31]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:2548:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V35*/ meltfptr[34] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2548:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_msend check ctypr "), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2548) ? (2548) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V35*/ meltfptr[34] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V34*/ meltfptr[33] = /*_.IFELSE___V35*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2548:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V35*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#__L10*/ meltfnum[0] = (( /*_.CTYPR__V33*/ meltfptr[31]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[9])));; MELT_LOCATION ("warmelt-normal.melt:2549:/ cond"); /*cond */ if ( /*_#__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2551:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SELNAM__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V36*/ meltfptr[34] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:2550:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V21*/ meltfptr[20]), ("non value receiver for message send of selector"), (melt_ptr_t) ( /*_.NAMED_NAME__V36*/ meltfptr[34])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2549:/ clear"); /*clear *//*_.NAMED_NAME__V36*/ meltfptr[34] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:2547:/ clear"); /*clear *//*_.CTYPR__V33*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.IFCPP___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_#__L10*/ meltfnum[0] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2553:/ 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__V21*/ meltfptr[20]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDARGS__V39*/ meltfptr[33]; /*^multiapply.appl */ /*_.NARGS__V38*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.MSARGS__V18*/ meltfptr[17]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2556:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L11*/ meltfnum[4] = (( /*_.NBINDARGS__V39*/ meltfptr[33]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDARGS__V39*/ meltfptr[33])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:2556:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L11*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V41*/ meltfptr[40] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2556:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindargs"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2556) ? (2556) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V41*/ meltfptr[40] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V40*/ meltfptr[39] = /*_.IFELSE___V41*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2556:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L11*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V41*/ meltfptr[40] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V40*/ meltfptr[39] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2558:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2559:/ apply"); /*apply */ { /*_.CINTSYM__V43*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[11])), (melt_ptr_t) ( /*_.SELNAM__V19*/ meltfptr[18]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2560:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHECKSIGNAL */ meltfrout->tabval[12])), (1), "CLASS_NREP_CHECKSIGNAL"); /*_.INST__V45*/ meltfptr[44] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V45*/ meltfptr[44])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V45*/ meltfptr[44]), (0), ( /*_.SLOC__V21*/ meltfptr[20]), "NREP_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V45*/ meltfptr[44], "newly made instance"); ; /*_.NINT__V44*/ meltfptr[43] = /*_.INST__V45*/ meltfptr[44];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2562:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[13])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V47*/ meltfptr[46] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V47*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V47*/ meltfptr[46]), (3), ( /*_.SLOC__V21*/ meltfptr[20]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V47*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V47*/ meltfptr[46]), (0), ( /*_.CINTSYM__V43*/ meltfptr[42]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V47*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V47*/ meltfptr[46]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[14])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V47*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V47*/ meltfptr[46]), (2), ( /*_.NINT__V44*/ meltfptr[43]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V47*/ meltfptr[46], "newly made instance"); ; /*_.CINTBIND__V46*/ meltfptr[45] = /*_.INST__V47*/ meltfptr[46];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_LIST__L12*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.NBINDARGS__V39*/ meltfptr[33])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normal.melt:2568:/ cond"); /*cond */ if ( /*_#IS_LIST__L12*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2569:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDARGS__V39*/ meltfptr[33]), (melt_ptr_t) ( /*_.CINTBIND__V46*/ meltfptr[45])); } ; /*clear *//*_.IFELSE___V48*/ meltfptr[47] = 0; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normal.melt:2568:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2570:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltpair_st rpair_0__CINTBIND_x2; struct meltlist_st rlist_1__LIST_; 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 */ /*inipair rpair_0__CINTBIND_x2 */ /*_.CINTBIND__V50*/ meltfptr[49] = (melt_ptr_t) & meltletrec_1_ptr->rpair_0__CINTBIND_x2; meltletrec_1_ptr->rpair_0__CINTBIND_x2.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_1__LIST_ */ /*_.LIST___V51*/ meltfptr[50] = (melt_ptr_t) & meltletrec_1_ptr->rlist_1__LIST_; meltletrec_1_ptr->rlist_1__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*^putpairhead */ /*putpairhead */ melt_assertmsg ("putpairhead /3 checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CINTBIND__V50*/ meltfptr[49])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CINTBIND__V50*/ meltfptr[49]))->hd = (melt_ptr_t) ( /*_.CINTBIND__V46*/ meltfptr[45]); ; /*^touch */ meltgc_touch ( /*_.CINTBIND__V50*/ meltfptr[49]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.LIST___V51*/ meltfptr[50])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.LIST___V51*/ meltfptr[50]))->first = (meltpair_ptr_t) ( /*_.CINTBIND__V50*/ meltfptr[49]); ((meltlist_ptr_t) ( /*_.LIST___V51*/ meltfptr[50]))->last = (meltpair_ptr_t) ( /*_.CINTBIND__V50*/ meltfptr[49]); ; /*^touch */ meltgc_touch ( /*_.LIST___V51*/ meltfptr[50]); ; /*_.LIST___V49*/ meltfptr[48] = /*_.LIST___V51*/ meltfptr[50];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2570:/ clear"); /*clear *//*_.CINTBIND__V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.LIST___V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.CINTBIND__V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.LIST___V51*/ meltfptr[50] = 0; } /*end multiallocblock */ ; /*^compute */ /*_.NBINDARGS__V39*/ meltfptr[33] = /*_.SETQ___V52*/ meltfptr[49] = /*_.LIST___V49*/ meltfptr[48];; /*_.IFELSE___V48*/ meltfptr[47] = /*_.SETQ___V52*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2568:/ clear"); /*clear *//*_.LIST___V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.SETQ___V52*/ meltfptr[49] = 0; } ; } ; /*_.LET___V42*/ meltfptr[40] = /*_.IFELSE___V48*/ meltfptr[47];; MELT_LOCATION ("warmelt-normal.melt:2558:/ clear"); /*clear *//*_.CINTSYM__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.NINT__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.CINTBIND__V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_#IS_LIST__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V48*/ meltfptr[47] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2573:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDARGS__V39*/ meltfptr[33]; /*_.LIST_APPEND2LIST__V53*/ meltfptr[50] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[15])), (melt_ptr_t) ( /*_.NBINDRECV__V30*/ meltfptr[29]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^compute */ /*_.NBINDRECV__V30*/ meltfptr[29] = /*_.SETQ___V54*/ meltfptr[48] = /*_.LIST_APPEND2LIST__V53*/ meltfptr[50];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2574:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V21*/ meltfptr[20]; /*_.CHECK_CTYPE_NARGS__V55*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t) (( /*!CHECK_CTYPE_NARGS */ meltfrout->tabval[16])), (melt_ptr_t) ( /*_.NARGS__V38*/ meltfptr[31]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2575:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*_#IS_A__L13*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.SELBIND__V23*/ meltfptr[22]), (melt_ptr_t) (( /*!CLASS_SELECTOR_BINDING */ meltfrout->tabval[17])));; MELT_LOCATION ("warmelt-normal.melt:2576:/ cond"); /*cond */ if ( /*_#IS_A__L13*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2577:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SELBIND__V23*/ meltfptr[22]), (melt_ptr_t) (( /*!CLASS_SELECTOR_BINDING */ meltfrout->tabval[17]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SELBIND__V23*/ meltfptr[22]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SBIND_SELECTORDEF"); /*_.SBIND_SELECTORDEF__V58*/ meltfptr[45] = slot; }; ; } else { /*^cond.else */ /*_.SBIND_SELECTORDEF__V58*/ meltfptr[45] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2577:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SBIND_SELECTORDEF__V58*/ meltfptr[45]), (melt_ptr_t) (( /*!CLASS_SOURCE_DEFSELECTOR */ meltfrout->tabval[18]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SBIND_SELECTORDEF__V58*/ meltfptr[45]) /*=obj*/ ; melt_object_get_field (slot, obj, 9, "SDEFSEL_FORMALS"); /*_.SDEFSEL_FORMALS__V59*/ meltfptr[47] = slot; }; ; } else { /*^cond.else */ /*_.SDEFSEL_FORMALS__V59*/ meltfptr[47] = NULL;; } ; /*^compute */ /*_.SELFORMALS__V57*/ meltfptr[43] = /*_.SDEFSEL_FORMALS__V59*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2576:/ clear"); /*clear *//*_.SBIND_SELECTORDEF__V58*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.SDEFSEL_FORMALS__V59*/ meltfptr[47] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L14*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SELBIND__V23*/ meltfptr[22]), (melt_ptr_t) (( /*!CLASS_VALUE_BINDING */ meltfrout->tabval[19])));; MELT_LOCATION ("warmelt-normal.melt:2580:/ cond"); /*cond */ if ( /*_#IS_A__L14*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2581:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SELBIND__V23*/ meltfptr[22]), (melt_ptr_t) (( /*!CLASS_VALUE_BINDING */ meltfrout->tabval[19]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SELBIND__V23*/ meltfptr[22]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "VBIND_VALUE"); /*_.VALSEL__V62*/ meltfptr[61] = slot; }; ; } else { /*^cond.else */ /*_.VALSEL__V62*/ meltfptr[61] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2582:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L15*/ meltfnum[14] = melt_is_instance_of ((melt_ptr_t) ( /*_.VALSEL__V62*/ meltfptr[61]), (melt_ptr_t) (( /*!CLASS_SELECTOR */ meltfrout-> tabval[20])));; MELT_LOCATION ("warmelt-normal.melt:2582:/ cond"); /*cond */ if ( /*_#IS_A__L15*/ meltfnum[14]) /*then */ { /*^cond.then */ /*_.IFELSE___V64*/ meltfptr[63] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2582:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check valsel"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2582) ? (2582) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V64*/ meltfptr[63] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V63*/ meltfptr[62] = /*_.IFELSE___V64*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2582:/ clear"); /*clear *//*_#IS_A__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IFELSE___V64*/ meltfptr[63] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V63*/ meltfptr[62] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2583:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.VALSEL__V62*/ meltfptr[61]), (melt_ptr_t) (( /*!CLASS_SELECTOR */ meltfrout->tabval[20]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.VALSEL__V62*/ meltfptr[61]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SEL_SIGNATURE"); /*_.SEL_SIGNATURE__V65*/ meltfptr[63] = slot; }; ; } else { /*^cond.else */ /*_.SEL_SIGNATURE__V65*/ meltfptr[63] = NULL;; } ; /*^compute */ /*_.LET___V61*/ meltfptr[47] = /*_.SEL_SIGNATURE__V65*/ meltfptr[63];; MELT_LOCATION ("warmelt-normal.melt:2581:/ clear"); /*clear *//*_.VALSEL__V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.IFCPP___V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.SEL_SIGNATURE__V65*/ meltfptr[63] = 0; /*_.IFELSE___V60*/ meltfptr[45] = /*_.LET___V61*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2580:/ clear"); /*clear *//*_.LET___V61*/ meltfptr[47] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2586:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V67*/ meltfptr[62] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2586:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("invalid selbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2586) ? (2586) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V67*/ meltfptr[62] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V66*/ meltfptr[61] = /*_.IFELSE___V67*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2586:/ clear"); /*clear *//*_.IFELSE___V67*/ meltfptr[62] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V66*/ meltfptr[61] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2585:/ quasiblock"); /*_.PROGN___V68*/ meltfptr[63] = ( /*nil */ NULL);; /*^compute */ /*_.IFELSE___V60*/ meltfptr[45] = /*_.PROGN___V68*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2580:/ clear"); /*clear *//*_.IFCPP___V66*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.PROGN___V68*/ meltfptr[63] = 0; } ; } ; /*_.SELFORMALS__V57*/ meltfptr[43] = /*_.IFELSE___V60*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2576:/ clear"); /*clear *//*_#IS_A__L14*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V60*/ meltfptr[45] = 0; } ; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2588:/ apply"); /*apply */ { /*_.CSYM__V69*/ meltfptr[47] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[11])), (melt_ptr_t) ( /*_.SELNAM__V19*/ meltfptr[18]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2589:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_MSEND */ meltfrout->tabval[21])), (5), "CLASS_NREP_MSEND"); /*_.INST__V71*/ meltfptr[61] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V71*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V71*/ meltfptr[61]), (0), ( /*_.SLOC__V21*/ meltfptr[20]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V71*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V71*/ meltfptr[61]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[9])), "NEXPR_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSEND_SEL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V71*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V71*/ meltfptr[61]), (3), ( /*_.NSEL__V22*/ meltfptr[21]), "NSEND_SEL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSEND_RECV", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V71*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V71*/ meltfptr[61]), (4), ( /*_.NRECV__V29*/ meltfptr[25]), "NSEND_RECV"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_ARGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V71*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V71*/ meltfptr[61]), (2), ( /*_.NARGS__V38*/ meltfptr[31]), "NEXPR_ARGS"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V71*/ meltfptr[61], "newly made instance"); ; /*_.NSEND__V70*/ meltfptr[62] = /*_.INST__V71*/ meltfptr[61];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2596:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[13])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V73*/ meltfptr[45] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V73*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V73*/ meltfptr[45]), (3), ( /*_.SLOC__V21*/ meltfptr[20]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V73*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V73*/ meltfptr[45]), (0), ( /*_.CSYM__V69*/ meltfptr[47]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V73*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V73*/ meltfptr[45]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[9])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V73*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V73*/ meltfptr[45]), (2), ( /*_.NSEND__V70*/ meltfptr[62]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V73*/ meltfptr[45], "newly made instance"); ; /*_.CBIND__V72*/ meltfptr[63] = /*_.INST__V73*/ meltfptr[45];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2601:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[22])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V75*/ meltfptr[74] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V75*/ meltfptr[74])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V75*/ meltfptr[74]), (0), ( /*_.SLOC__V21*/ meltfptr[20]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V75*/ meltfptr[74])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V75*/ meltfptr[74]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[9])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V75*/ meltfptr[74])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V75*/ meltfptr[74]), (1), ( /*_.CSYM__V69*/ meltfptr[47]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V75*/ meltfptr[74])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V75*/ meltfptr[74]), (3), ( /*_.CBIND__V72*/ meltfptr[63]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V75*/ meltfptr[74], "newly made instance"); ; /*_.CLOCC__V74*/ meltfptr[73] = /*_.INST__V75*/ meltfptr[74];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2607:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ 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:2607:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2607:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2607; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_msend nsend middle"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NSEND__V70*/ meltfptr[62]; /*_.MELT_DEBUG_FUN__V78*/ meltfptr[77] = 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___V77*/ meltfptr[76] = /*_.MELT_DEBUG_FUN__V78*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2607:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V78*/ meltfptr[77] = 0; } ; } else { /*^cond.else */ /*_.IF___V77*/ meltfptr[76] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2607:/ quasiblock"); /*_.PROGN___V79*/ meltfptr[77] = /*_.IF___V77*/ meltfptr[76];; /*^compute */ /*_.IFCPP___V76*/ meltfptr[75] = /*_.PROGN___V79*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2607:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IF___V77*/ meltfptr[76] = 0; /*^clear */ /*clear *//*_.PROGN___V79*/ meltfptr[77] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V76*/ meltfptr[75] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2608:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L18*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.NRECV__V29*/ meltfptr[25])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-normal.melt:2608:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L18*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V81*/ meltfptr[77] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2608:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nrecv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2608) ? (2608) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V81*/ meltfptr[77] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V80*/ meltfptr[76] = /*_.IFELSE___V81*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2608:/ clear"); /*clear *//*_#IS_OBJECT__L18*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V81*/ meltfptr[77] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V80*/ meltfptr[76] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_MULTIPLE__L19*/ meltfnum[14] = (melt_magic_discr ((melt_ptr_t) ( /*_.SELFORMALS__V57*/ meltfptr[43])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-normal.melt:2609:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L19*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2610:/ quasiblock"); /*_.RECVFORMAL__V82*/ meltfptr[77] = (melt_multiple_nth ((melt_ptr_t) ( /*_.SELFORMALS__V57*/ meltfptr[43]), (0)));; /*^compute */ /*_#NBFORMALS__L20*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.SELFORMALS__V57*/ meltfptr[43])));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2613:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L21*/ meltfnum[20] = /*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:2613:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L21*/ meltfnum[20]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[21] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2613:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L22*/ meltfnum[21]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2613; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_msend"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SELFORMALS__V57*/ meltfptr[43]; /*_.MELT_DEBUG_FUN__V85*/ meltfptr[84] = 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___V84*/ meltfptr[83] = /*_.MELT_DEBUG_FUN__V85*/ meltfptr[84];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2613:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L22*/ meltfnum[21] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V85*/ meltfptr[84] = 0; } ; } else { /*^cond.else */ /*_.IF___V84*/ meltfptr[83] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2613:/ quasiblock"); /*_.PROGN___V86*/ meltfptr[84] = /*_.IF___V84*/ meltfptr[83];; /*^compute */ /*_.IFCPP___V83*/ meltfptr[82] = /*_.PROGN___V86*/ meltfptr[84];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2613:/ clear"); /*clear *//*_#MELT_NEED_DBG__L21*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.IF___V84*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.PROGN___V86*/ meltfptr[84] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V83*/ meltfptr[82] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2614:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECVFORMAL__V82*/ meltfptr[77]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[23]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECVFORMAL__V82*/ meltfptr[77]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.FBIND_TYPE__V88*/ meltfptr[84] = slot; }; ; } else { /*^cond.else */ /*_.FBIND_TYPE__V88*/ meltfptr[84] = NULL;; } ; /*^compute */ /*_#__L23*/ meltfnum[21] = (( /*_.FBIND_TYPE__V88*/ meltfptr[84]) == (( /*!CTYPE_VALUE */ meltfrout->tabval[9])));; MELT_LOCATION ("warmelt-normal.melt:2614:/ cond"); /*cond */ if ( /*_#__L23*/ meltfnum[21]) /*then */ { /*^cond.then */ /*_.IFELSE___V89*/ meltfptr[88] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2614:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check recvformal"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2614) ? (2614) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V89*/ meltfptr[88] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V87*/ meltfptr[83] = /*_.IFELSE___V89*/ meltfptr[88];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2614:/ clear"); /*clear *//*_.FBIND_TYPE__V88*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_#__L23*/ meltfnum[21] = 0; /*^clear */ /*clear *//*_.IFELSE___V89*/ meltfptr[88] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V87*/ meltfptr[83] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#MULTIPLE_LENGTH__L24*/ meltfnum[20] = (melt_multiple_length ((melt_ptr_t) ( /*_.NARGS__V38*/ meltfptr[31])));; /*^compute */ /*_#I__L25*/ meltfnum[21] = ((1) + ( /*_#MULTIPLE_LENGTH__L24*/ meltfnum[20]));; /*^compute */ /*_#I__L26*/ meltfnum[25] = (( /*_#NBFORMALS__L20*/ meltfnum[0]) != ( /*_#I__L25*/ meltfnum[21]));; MELT_LOCATION ("warmelt-normal.melt:2615:/ cond"); /*cond */ if ( /*_#I__L26*/ meltfnum[25]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2617:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SELNAM__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[24]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SELNAM__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V90*/ meltfptr[84] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V90*/ meltfptr[84] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2616:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V21*/ meltfptr[20]), ("unexpected number of arguments for method"), (melt_ptr_t) ( /*_.NAMED_NAME__V90*/ meltfptr[84])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2615:/ clear"); /*clear *//*_.NAMED_NAME__V90*/ meltfptr[84] = 0; } ; } /*noelse */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.NARGS__V38*/ meltfptr[31]); for ( /*_#NIX__L27*/ meltfnum[26] = 0; ( /*_#NIX__L27*/ meltfnum[26] >= 0) && ( /*_#NIX__L27*/ meltfnum[26] < meltcit1__EACHTUP_ln); /*_#NIX__L27*/ meltfnum[26]++) { /*_.CURNARG__V91*/ meltfptr[88] = melt_multiple_nth ((melt_ptr_t) ( /*_.NARGS__V38*/ meltfptr[31]), /*_#NIX__L27*/ meltfnum[26]); MELT_LOCATION ("warmelt-normal.melt:2622:/ quasiblock"); /*_#I__L28*/ meltfnum[27] = (( /*_#NIX__L27*/ meltfnum[26]) + (1));; /*^compute */ /*_.CURFORMAL__V92*/ meltfptr[84] = (melt_multiple_nth ((melt_ptr_t) ( /*_.SELFORMALS__V57*/ meltfptr[43]), ( /*_#I__L28*/ meltfnum[27])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2623:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*_.CURCTYP__V93*/ meltfptr[92] = meltgc_send ((melt_ptr_t) ( /*_.CURNARG__V91*/ meltfptr[88]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[7])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2624:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURFORMAL__V92*/ meltfptr[84]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[23]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFORMAL__V92*/ meltfptr[84]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.FORMCTYP__V94*/ meltfptr[93] = slot; }; ; } else { /*^cond.else */ /*_.FORMCTYP__V94*/ meltfptr[93] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2625:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURFORMAL__V92*/ meltfptr[84]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[25]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFORMAL__V92*/ meltfptr[84]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.FORMBINDER__V95*/ meltfptr[94] = slot; }; ; } else { /*^cond.else */ /*_.FORMBINDER__V95*/ meltfptr[94] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2627:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L29*/ meltfnum[28] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURFORMAL__V92*/ meltfptr[84]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[23])));; MELT_LOCATION ("warmelt-normal.melt:2627:/ cond"); /*cond */ if ( /*_#IS_A__L29*/ meltfnum[28]) /*then */ { /*^cond.then */ /*_.IFELSE___V97*/ meltfptr[96] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2627:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curformal"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2627) ? (2627) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V97*/ meltfptr[96] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V96*/ meltfptr[95] = /*_.IFELSE___V97*/ meltfptr[96];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2627:/ clear"); /*clear *//*_#IS_A__L29*/ meltfnum[28] = 0; /*^clear */ /*clear *//*_.IFELSE___V97*/ meltfptr[96] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V96*/ meltfptr[95] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#__L30*/ meltfnum[28] = (( /*_.CURCTYP__V93*/ meltfptr[92]) != ( /*_.FORMCTYP__V94*/ meltfptr[93]));; MELT_LOCATION ("warmelt-normal.melt:2629:/ cond"); /*cond */ if ( /*_#__L30*/ meltfnum[28]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2632:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SELNAM__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[24]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SELNAM__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V98*/ meltfptr[96] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V98*/ meltfptr[96] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2631:/ locexp"); melt_warning_str (0, (melt_ptr_t) ( /*_.SLOC__V21*/ meltfptr[20]), ("c-type mismatch in method send argument"), (melt_ptr_t) ( /*_.NAMED_NAME__V98*/ meltfptr[96])); } ; MELT_LOCATION ("warmelt-normal.melt:2634:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.FORMBINDER__V95*/ meltfptr[94]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[24]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FORMBINDER__V95*/ meltfptr[94]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V99*/ meltfptr[98] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V99*/ meltfptr[98] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2633:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V21*/ meltfptr[20]), ("mismatched method formal name"), (melt_ptr_t) ( /*_.NAMED_NAME__V99*/ meltfptr[98])); } ; MELT_LOCATION ("warmelt-normal.melt:2636:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V93*/ meltfptr[92]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[24]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V93*/ meltfptr[92]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V100*/ meltfptr[99] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V100*/ meltfptr[99] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2635:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V21*/ meltfptr[20]), ("mismatched method actual type"), (melt_ptr_t) ( /*_.NAMED_NAME__V100*/ meltfptr[99])); } ; MELT_LOCATION ("warmelt-normal.melt:2638:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.FORMCTYP__V94*/ meltfptr[93]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[24]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FORMCTYP__V94*/ meltfptr[93]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V101*/ meltfptr[100] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V101*/ meltfptr[100] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2637:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V21*/ meltfptr[20]), ("mismatched method expected type"), (melt_ptr_t) ( /*_.NAMED_NAME__V101*/ meltfptr[100])); } ; MELT_LOCATION ("warmelt-normal.melt:2630:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2629:/ clear"); /*clear *//*_.NAMED_NAME__V98*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V99*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V100*/ meltfptr[99] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V101*/ meltfptr[100] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:2622:/ clear"); /*clear *//*_#I__L28*/ meltfnum[27] = 0; /*^clear */ /*clear *//*_.CURFORMAL__V92*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.CURCTYP__V93*/ meltfptr[92] = 0; /*^clear */ /*clear *//*_.FORMCTYP__V94*/ meltfptr[93] = 0; /*^clear */ /*clear *//*_.FORMBINDER__V95*/ meltfptr[94] = 0; /*^clear */ /*clear *//*_.IFCPP___V96*/ meltfptr[95] = 0; /*^clear */ /*clear *//*_#__L30*/ meltfnum[28] = 0; if ( /*_#NIX__L27*/ meltfnum[26] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:2619:/ clear"); /*clear *//*_.CURNARG__V91*/ meltfptr[88] = 0; /*^clear */ /*clear *//*_#NIX__L27*/ meltfnum[26] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normal.melt:2610:/ clear"); /*clear *//*_.RECVFORMAL__V82*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_#NBFORMALS__L20*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V83*/ meltfptr[82] = 0; /*^clear */ /*clear *//*_.IFCPP___V87*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L24*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_#I__L25*/ meltfnum[21] = 0; /*^clear */ /*clear *//*_#I__L26*/ meltfnum[25] = 0; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2642:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V74*/ meltfptr[73])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V74*/ meltfptr[73]), (3), ( /*_.CBIND__V72*/ meltfptr[63]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.CLOCC__V74*/ meltfptr[73]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CLOCC__V74*/ meltfptr[73], "put-fields"); ; MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L31*/ meltfnum[27] = (melt_magic_discr ((melt_ptr_t) ( /*_.NBINDRECV__V30*/ meltfptr[29])) == MELTOBMAG_LIST);; /*^compute */ /*_#NOT__L32*/ meltfnum[28] = (!( /*_#IS_LIST__L31*/ meltfnum[27]));; MELT_LOCATION ("warmelt-normal.melt:2643:/ cond"); /*cond */ if ( /*_#NOT__L32*/ meltfnum[28]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_LIST__V103*/ meltfptr[98] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[26]))));; MELT_LOCATION ("warmelt-normal.melt:2644:/ compute"); /*_.NBINDRECV__V30*/ meltfptr[29] = /*_.SETQ___V104*/ meltfptr[99] = /*_.MAKE_LIST__V103*/ meltfptr[98];; /*_.IF___V102*/ meltfptr[96] = /*_.SETQ___V104*/ meltfptr[99];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2643:/ clear"); /*clear *//*_.MAKE_LIST__V103*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_.SETQ___V104*/ meltfptr[99] = 0; } ; } else { /*^cond.else */ /*_.IF___V102*/ meltfptr[96] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2645:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDRECV__V30*/ meltfptr[29]), (melt_ptr_t) ( /*_.CBIND__V72*/ meltfptr[63])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2646:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L33*/ 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:2646:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L33*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L34*/ meltfnum[20] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2646:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L34*/ meltfnum[20]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2646; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_msend final nbindrecv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDRECV__V30*/ meltfptr[29]; /*^apply.arg */ argtab[5].meltbp_cstring = " clocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V74*/ meltfptr[73]; /*_.MELT_DEBUG_FUN__V107*/ meltfptr[92] = 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___V106*/ meltfptr[84] = /*_.MELT_DEBUG_FUN__V107*/ meltfptr[92];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2646:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L34*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V107*/ meltfptr[92] = 0; } ; } else { /*^cond.else */ /*_.IF___V106*/ meltfptr[84] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2646:/ quasiblock"); /*_.PROGN___V108*/ meltfptr[93] = /*_.IF___V106*/ meltfptr[84];; /*^compute */ /*_.IFCPP___V105*/ meltfptr[100] = /*_.PROGN___V108*/ meltfptr[93];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2646:/ clear"); /*clear *//*_#MELT_NEED_DBG__L33*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V106*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.PROGN___V108*/ meltfptr[93] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V105*/ meltfptr[100] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2647:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V74*/ meltfptr[73];; MELT_LOCATION ("warmelt-normal.melt:2647:/ 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) ( /*_.NBINDRECV__V30*/ meltfptr[29]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V56*/ meltfptr[42] = /*_.RETURN___V109*/ meltfptr[94];; MELT_LOCATION ("warmelt-normal.melt:2575:/ clear"); /*clear *//*_#IS_A__L13*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.SELFORMALS__V57*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.CSYM__V69*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.NSEND__V70*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.CBIND__V72*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.CLOCC__V74*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.IFCPP___V76*/ meltfptr[75] = 0; /*^clear */ /*clear *//*_.IFCPP___V80*/ meltfptr[76] = 0; /*^clear */ /*clear *//*_#IS_MULTIPLE__L19*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_#IS_LIST__L31*/ meltfnum[27] = 0; /*^clear */ /*clear *//*_#NOT__L32*/ meltfnum[28] = 0; /*^clear */ /*clear *//*_.IF___V102*/ meltfptr[96] = 0; /*^clear */ /*clear *//*_.IFCPP___V105*/ meltfptr[100] = 0; /*^clear */ /*clear *//*_.RETURN___V109*/ meltfptr[94] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V37*/ meltfptr[34] = /*_.LET___V56*/ meltfptr[42];; MELT_LOCATION ("warmelt-normal.melt:2553:/ clear"); /*clear *//*_.IFCPP___V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.LET___V42*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V53*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.SETQ___V54*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.CHECK_CTYPE_NARGS__V55*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.LET___V56*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.NBINDARGS__V39*/ meltfptr[33] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V28*/ meltfptr[24] = /*_.MULTI___V37*/ meltfptr[34];; MELT_LOCATION ("warmelt-normal.melt:2542:/ clear"); /*clear *//*_.IFCPP___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.MULTI___V37*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.NBINDRECV__V30*/ meltfptr[29] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V28*/ meltfptr[24];; MELT_LOCATION ("warmelt-normal.melt:2532:/ clear"); /*clear *//*_.MSRECV__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.MSARGS__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SELNAM__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CURPROC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.SLOC__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NSEL__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.SELBIND__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.IFCPP___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.MULTI___V28*/ meltfptr[24] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2527:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:2527:/ 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_MSEND", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_51_warmelt_normal_NORMEXP_MSEND_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_51_warmelt_normal_NORMEXP_MSEND */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_52_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_) { long current_blocklevel_signals_meltrout_52_warmelt_normal_NORMEXP_RETURN_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_52_warmelt_normal_NORMEXP_RETURN_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 65 melt_ptr_t mcfr_varptr[65]; #define MELTFRAM_NBVARNUM 19 long mcfr_varnum[19]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_52_warmelt_normal_NORMEXP_RETURN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_52_warmelt_normal_NORMEXP_RETURN_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 65; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_52_warmelt_normal_NORMEXP_RETURN nbval 65*/ meltfram__.mcfr_nbvar = 65 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_RETURN", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:2653:/ 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:2654:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2654:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2654:/ 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 = 2654; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_return recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2654:/ 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:2654:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2654:/ 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:2655:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_RETURN */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:2655:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2655:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check return recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2655) ? (2655) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2655:/ 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2656:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:2656:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2656:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2656) ? (2656) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2656:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2657:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:2657:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2657:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2657) ? (2657) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2657:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2658:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2659:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SARGOP_ARGS"); /*_.SRETS__V18*/ meltfptr[17] = slot; }; ; /*_#NBRETS__L6*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.SRETS__V18*/ meltfptr[17])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2661:/ apply"); /*apply */ { /*_.CSYM__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!konst_5_RETURN_ */ meltfrout-> tabval[5])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2664:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[6])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V21*/ meltfptr[20] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V21*/ meltfptr[20])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V21*/ meltfptr[20]), (3), ( /*_.SLOC__V17*/ meltfptr[16]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V21*/ meltfptr[20])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V21*/ meltfptr[20]), (0), ( /*_.CSYM__V19*/ meltfptr[18]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V21*/ meltfptr[20])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V21*/ meltfptr[20]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[7])), "LETBIND_TYPE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V21*/ meltfptr[20], "newly made instance"); ; /*_.CBIND__V20*/ meltfptr[19] = /*_.INST__V21*/ meltfptr[20];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2670:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[8])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V23*/ meltfptr[22] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[7])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (1), ( /*_.CSYM__V19*/ meltfptr[18]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (3), ( /*_.CBIND__V20*/ meltfptr[19]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V23*/ meltfptr[22], "newly made instance"); ; /*_.CLOCC__V22*/ meltfptr[21] = /*_.INST__V23*/ meltfptr[22];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#I__L7*/ meltfnum[1] = (( /*_#NBRETS__L6*/ meltfnum[0]) <= (0));; MELT_LOCATION ("warmelt-normal.melt:2677:/ cond"); /*cond */ if ( /*_#I__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2678:/ quasiblock"); /*_.NBINDEMP__V26*/ meltfptr[25] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[9]))));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2681:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_RETURN */ meltfrout->tabval[10])), (3), "CLASS_NREP_RETURN"); /*_.INST__V28*/ meltfptr[27] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRET_MAIN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (1), (( /*nil */ NULL)), "NRET_MAIN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRET_REST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (2), (( /*nil */ NULL)), "NRET_REST"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V28*/ meltfptr[27], "newly made instance"); ; /*_.NEMPTRET__V27*/ meltfptr[26] = /*_.INST__V28*/ meltfptr[27];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2687:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CBIND__V20*/ meltfptr[19]), (2), ( /*_.NEMPTRET__V27*/ meltfptr[26]), "LETBIND_EXPR"); ; /*^touch */ meltgc_touch ( /*_.CBIND__V20*/ meltfptr[19]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CBIND__V20*/ meltfptr[19], "put-fields"); ; { MELT_LOCATION ("warmelt-normal.melt:2688:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDEMP__V26*/ meltfptr[25]), (melt_ptr_t) ( /*_.CBIND__V20*/ meltfptr[19])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2689:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:2689:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2689:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 2689; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_return empty; return clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V22*/ meltfptr[21]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindemp="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDEMP__V26*/ meltfptr[25]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V30*/ meltfptr[29] = /*_.MELT_DEBUG_FUN__V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2689:/ 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:2689:/ quasiblock"); /*_.PROGN___V32*/ meltfptr[30] = /*_.IF___V30*/ meltfptr[29];; /*^compute */ /*_.IFCPP___V29*/ meltfptr[28] = /*_.PROGN___V32*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2689:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[7] = 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2690:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V22*/ meltfptr[21];; MELT_LOCATION ("warmelt-normal.melt:2690:/ 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) ( /*_.NBINDEMP__V26*/ meltfptr[25]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V25*/ meltfptr[24] = /*_.RETURN___V33*/ meltfptr[29];; MELT_LOCATION ("warmelt-normal.melt:2678:/ clear"); /*clear *//*_.NBINDEMP__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.NEMPTRET__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.RETURN___V33*/ meltfptr[29] = 0; /*_.IFELSE___V24*/ meltfptr[23] = /*_.LET___V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2677:/ clear"); /*clear *//*_.LET___V25*/ meltfptr[24] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2691:/ 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[16]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDRETS__V36*/ meltfptr[26]; /*^multiapply.appl */ /*_.NRETS__V35*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[11])), (melt_ptr_t) ( /*_.SRETS__V18*/ meltfptr[17]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_LOCATION ("warmelt-normal.melt:2694:/ quasiblock"); /*_.NRET0__V38*/ meltfptr[29] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NRETS__V35*/ meltfptr[25]), (0)));; /*^compute */ /*_#I__L10*/ meltfnum[8] = (( /*_#NBRETS__L6*/ meltfnum[0]) - (1));; /*^compute */ /*_.TOTH__V39*/ meltfptr[24] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[12])), ( /*_#I__L10*/ meltfnum[8])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2696:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*_.CTYP0__V40*/ meltfptr[39] = meltgc_send ((melt_ptr_t) ( /*_.NRET0__V38*/ meltfptr[29]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[13])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*_#__L11*/ meltfnum[7] = (( /*_.CTYP0__V40*/ meltfptr[39]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:2698:/ cond"); /*cond */ if ( /*_#__L11*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2699:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("main return is not a value"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; /*_#NULL__L12*/ meltfnum[11] = (( /*_.NBINDRETS__V36*/ meltfptr[26]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:2700:/ cond"); /*cond */ if ( /*_#NULL__L12*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_LIST__V42*/ meltfptr[41] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[9]))));; MELT_LOCATION ("warmelt-normal.melt:2701:/ compute"); /*_.NBINDRETS__V36*/ meltfptr[26] = /*_.SETQ___V43*/ meltfptr[42] = /*_.MAKE_LIST__V42*/ meltfptr[41];; /*_.IF___V41*/ meltfptr[40] = /*_.SETQ___V43*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2700:/ clear"); /*clear *//*_.MAKE_LIST__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.SETQ___V43*/ meltfptr[42] = 0; } ; } else { /*^cond.else */ /*_.IF___V41*/ meltfptr[40] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2703:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.RINTSYMB__V44*/ meltfptr[41] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!konst_14_RETINT_ */ meltfrout-> tabval[14])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2704:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHECKSIGNAL */ meltfrout->tabval[15])), (1), "CLASS_NREP_CHECKSIGNAL"); /*_.INST__V46*/ meltfptr[45] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V46*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V46*/ meltfptr[45]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V46*/ meltfptr[45], "newly made instance"); ; /*_.NCHINT__V45*/ meltfptr[42] = /*_.INST__V46*/ meltfptr[45];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2706:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[6])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V48*/ meltfptr[47] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (0), ( /*_.RINTSYMB__V44*/ meltfptr[41]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[16])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (2), ( /*_.NCHINT__V45*/ meltfptr[42]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V48*/ meltfptr[47], "newly made instance"); ; /*_.RINTBIND__V47*/ meltfptr[46] = /*_.INST__V48*/ meltfptr[47];; { MELT_LOCATION ("warmelt-normal.melt:2712:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDRETS__V36*/ meltfptr[26]), (melt_ptr_t) ( /*_.RINTBIND__V47*/ meltfptr[46])); } ; MELT_LOCATION ("warmelt-normal.melt:2703:/ clear"); /*clear *//*_.RINTSYMB__V44*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.NCHINT__V45*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.RINTBIND__V47*/ meltfptr[46] = 0; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.NRETS__V35*/ meltfptr[25]); for ( /*_#IX__L13*/ meltfnum[12] = 0; ( /*_#IX__L13*/ meltfnum[12] >= 0) && ( /*_#IX__L13*/ meltfnum[12] < meltcit1__EACHTUP_ln); /*_#IX__L13*/ meltfnum[12]++) { /*_.NCOMP__V49*/ meltfptr[41] = melt_multiple_nth ((melt_ptr_t) ( /*_.NRETS__V35*/ meltfptr[25]), /*_#IX__L13*/ meltfnum[12]); MELT_LOCATION ("warmelt-normal.melt:2718:/ quasiblock"); 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__V3*/ meltfptr[2]; /*_.NCTYP__V51*/ meltfptr[46] = meltgc_send ((melt_ptr_t) ( /*_.NCOMP__V49*/ meltfptr[41]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[13])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2720:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L14*/ meltfnum[13] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V51*/ meltfptr[46]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[17])));; MELT_LOCATION ("warmelt-normal.melt:2720:/ cond"); /*cond */ if ( /*_#IS_A__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*_.IFELSE___V53*/ meltfptr[52] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2720:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctyp"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2720) ? (2720) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V53*/ meltfptr[52] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V52*/ meltfptr[51] = /*_.IFELSE___V53*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2720:/ clear"); /*clear *//*_#IS_A__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IFELSE___V53*/ meltfptr[52] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V52*/ meltfptr[51] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2721:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V51*/ meltfptr[46]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[17]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V51*/ meltfptr[46]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "CTYPE_PARCHAR"); /*_.CTYPE_PARCHAR__V54*/ meltfptr[52] = slot; }; ; } else { /*^cond.else */ /*_.CTYPE_PARCHAR__V54*/ meltfptr[52] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2721:/ cond"); /*cond */ if ( /*_.CTYPE_PARCHAR__V54*/ meltfptr[52]) /*then */ { /*^cond.then */ /*_.IFELSE___V55*/ meltfptr[54] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2721:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2722:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCTYP__V51*/ meltfptr[46]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[18]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCTYP__V51*/ meltfptr[46]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V56*/ meltfptr[55] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V56*/ meltfptr[55] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2722:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("impossible secondary result type"), (melt_ptr_t) ( /*_.NAMED_NAME__V56*/ meltfptr[55])); } ; MELT_LOCATION ("warmelt-normal.melt:2721:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.NAMED_NAME__V56*/ meltfptr[55] = 0; } ; } ; /*_.LET___V50*/ meltfptr[42] = /*_.IFELSE___V55*/ meltfptr[54];; MELT_LOCATION ("warmelt-normal.melt:2718:/ clear"); /*clear *//*_.NCTYP__V51*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.IFCPP___V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.CTYPE_PARCHAR__V54*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.IFELSE___V55*/ meltfptr[54] = 0; MELT_CHECK_SIGNAL (); ; /*_#I__L15*/ meltfnum[13] = (( /*_#IX__L13*/ meltfnum[12]) > (0));; MELT_LOCATION ("warmelt-normal.melt:2724:/ cond"); /*cond */ if ( /*_#I__L15*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#I__L16*/ meltfnum[15] = (( /*_#IX__L13*/ meltfnum[12]) - (1));; { MELT_LOCATION ("warmelt-normal.melt:2725:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.TOTH__V39*/ meltfptr[24]), ( /*_#I__L16*/ meltfnum[15]), (melt_ptr_t) ( /*_.NCOMP__V49*/ meltfptr[41])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2724:/ clear"); /*clear *//*_#I__L16*/ meltfnum[15] = 0; } ; } /*noelse */ ; if ( /*_#IX__L13*/ meltfnum[12] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:2715:/ clear"); /*clear *//*_.NCOMP__V49*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_#IX__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.LET___V50*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_#I__L15*/ meltfnum[13] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normal.melt:2726:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*_#I__L17*/ meltfnum[15] = (( /*_#NBRETS__L6*/ meltfnum[0]) > (0));; MELT_LOCATION ("warmelt-normal.melt:2730:/ cond"); /*cond */ if ( /*_#I__L17*/ meltfnum[15]) /*then */ { /*^cond.then */ /*_.IF___V58*/ meltfptr[46] = /*_.TOTH__V39*/ meltfptr[24];; } else { MELT_LOCATION ("warmelt-normal.melt:2730:/ cond.else"); /*_.IF___V58*/ meltfptr[46] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2727:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_RETURN */ meltfrout->tabval[10])), (3), "CLASS_NREP_RETURN"); /*_.INST__V60*/ meltfptr[52] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[52]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRET_MAIN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[52]), (1), ( /*_.NRET0__V38*/ meltfptr[29]), "NRET_MAIN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRET_REST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[52]), (2), ( /*_.IF___V58*/ meltfptr[46]), "NRET_REST"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V60*/ meltfptr[52], "newly made instance"); ; /*_.NRET__V59*/ meltfptr[51] = /*_.INST__V60*/ meltfptr[52];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2732:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V20*/ meltfptr[19])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CBIND__V20*/ meltfptr[19]), (2), ( /*_.NRET__V59*/ meltfptr[51]), "LETBIND_EXPR"); ; /*^touch */ meltgc_touch ( /*_.CBIND__V20*/ meltfptr[19]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CBIND__V20*/ meltfptr[19], "put-fields"); ; { MELT_LOCATION ("warmelt-normal.melt:2733:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDRETS__V36*/ meltfptr[26]), (melt_ptr_t) ( /*_.CBIND__V20*/ meltfptr[19])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2734:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L18*/ meltfnum[17] = /*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:2734:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2734:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2734; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_return result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V22*/ meltfptr[21]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindrets="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDRETS__V36*/ meltfptr[26]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V62*/ meltfptr[61] = /*_.MELT_DEBUG_FUN__V63*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2734:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V63*/ meltfptr[62] = 0; } ; } else { /*^cond.else */ /*_.IF___V62*/ meltfptr[61] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2734:/ quasiblock"); /*_.PROGN___V64*/ meltfptr[62] = /*_.IF___V62*/ meltfptr[61];; /*^compute */ /*_.IFCPP___V61*/ meltfptr[54] = /*_.PROGN___V64*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2734:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.PROGN___V64*/ meltfptr[62] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V61*/ meltfptr[54] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2735:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V22*/ meltfptr[21];; MELT_LOCATION ("warmelt-normal.melt:2735:/ 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) ( /*_.NBINDRETS__V36*/ meltfptr[26]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V57*/ meltfptr[55] = /*_.RETURN___V65*/ meltfptr[61];; MELT_LOCATION ("warmelt-normal.melt:2726:/ clear"); /*clear *//*_#I__L17*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IF___V58*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.NRET__V59*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.IFCPP___V61*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.RETURN___V65*/ meltfptr[61] = 0; /*_.LET___V37*/ meltfptr[28] = /*_.LET___V57*/ meltfptr[55];; MELT_LOCATION ("warmelt-normal.melt:2694:/ clear"); /*clear *//*_.NRET0__V38*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_#I__L10*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.TOTH__V39*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.CTYP0__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_#__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_#NULL__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.LET___V57*/ meltfptr[55] = 0; /*_.MULTI___V34*/ meltfptr[30] = /*_.LET___V37*/ meltfptr[28];; MELT_LOCATION ("warmelt-normal.melt:2691:/ clear"); /*clear *//*_.LET___V37*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.NBINDRETS__V36*/ meltfptr[26] = 0; /*_.IFELSE___V24*/ meltfptr[23] = /*_.MULTI___V34*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2677:/ clear"); /*clear *//*_.MULTI___V34*/ meltfptr[30] = 0; } ; } ; /*_.LET___V16*/ meltfptr[14] = /*_.IFELSE___V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:2658:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SRETS__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#NBRETS__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.CSYM__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CBIND__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.CLOCC__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_#I__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2653:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:2653:/ 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 *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("NORMEXP_RETURN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_52_warmelt_normal_NORMEXP_RETURN_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_52_warmelt_normal_NORMEXP_RETURN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_53_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_) { long current_blocklevel_signals_meltrout_53_warmelt_normal_NORMEXP_IF_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_53_warmelt_normal_NORMEXP_IF_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 72 melt_ptr_t mcfr_varptr[72]; #define MELTFRAM_NBVARNUM 16 long mcfr_varnum[16]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_53_warmelt_normal_NORMEXP_IF is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_53_warmelt_normal_NORMEXP_IF_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 72; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_53_warmelt_normal_NORMEXP_IF nbval 72*/ meltfram__.mcfr_nbvar = 72 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_IF", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:2741:/ 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:2742:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_IF */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:2742:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2742:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check if recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2742) ? (2742) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2742:/ 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:2743:/ cppif.then"); /*^block */ /*anyblock */ { 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:2743:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2743:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2743) ? (2743) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2743:/ 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:2744:/ cppif.then"); /*^block */ /*anyblock */ { 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:2744:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2744:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2744) ? (2744) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2744:/ 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:2745:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2745:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2745:/ 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 = 2745; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_if 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:2745:/ 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:2745:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2745:/ 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:2746:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2747:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SIF_TEST"); /*_.STEST__V18*/ meltfptr[17] = slot; }; ; /*_.CTYPIF__V19*/ meltfptr[18] = ( /*!CTYPE_VOID */ meltfrout->tabval[4]);; MELT_LOCATION ("warmelt-normal.melt:2749:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SIF_THEN"); /*_.STHEN__V20*/ meltfptr[19] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2750:/ apply"); /*apply */ { /*_.CINTSYMB__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[5])), (melt_ptr_t) (( /*!konst_6_IF_INTER_ */ meltfrout-> tabval[6])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2751:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHECKSIGNAL */ meltfrout->tabval[7])), (1), "CLASS_NREP_CHECKSIGNAL"); /*_.INST__V23*/ meltfptr[22] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V23*/ meltfptr[22], "newly made instance"); ; /*_.NCHINT__V22*/ meltfptr[21] = /*_.INST__V23*/ meltfptr[22];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2753:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[8])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V25*/ meltfptr[24] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (0), ( /*_.CINTSYMB__V21*/ meltfptr[20]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[4])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V25*/ meltfptr[24]), (2), ( /*_.NCHINT__V22*/ meltfptr[21]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V25*/ meltfptr[24], "newly made instance"); ; /*_.CINTBIND__V24*/ meltfptr[23] = /*_.INST__V25*/ meltfptr[24];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2758:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDIF__V28*/ meltfptr[27]; /*^multimsend.send */ /*_.NTEST__V27*/ meltfptr[26] = meltgc_send ((melt_ptr_t) ( /*_.STEST__V18*/ meltfptr[17]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[9]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2761:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L6*/ meltfnum[4] = (( /*_.NBINDIF__V28*/ meltfptr[27]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDIF__V28*/ meltfptr[27])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:2761:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V30*/ meltfptr[29] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2761:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindif test"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2761) ? (2761) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V30*/ meltfptr[29] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V29*/ meltfptr[28] = /*_.IFELSE___V30*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2761:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V30*/ meltfptr[29] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2762:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2762:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2762:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 2762; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_if ntest="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTEST__V27*/ meltfptr[26]; /*^apply.arg */ argtab[5].meltbp_cstring = " cintbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CINTBIND__V24*/ meltfptr[23]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 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___V32*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2762:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[31] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2762:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[29] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2762:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L9*/ meltfnum[4] = (( /*_.NBINDIF__V28*/ meltfptr[27]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:2764:/ cond"); /*cond */ if ( /*_#NULL__L9*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2765:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltpair_st rpair_0__CINTBIND_x3; struct meltlist_st rlist_1__LIST_; 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 */ /*inipair rpair_0__CINTBIND_x3 */ /*_.CINTBIND__V37*/ meltfptr[36] = (melt_ptr_t) & meltletrec_1_ptr->rpair_0__CINTBIND_x3; meltletrec_1_ptr->rpair_0__CINTBIND_x3.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_1__LIST_ */ /*_.LIST___V38*/ meltfptr[37] = (melt_ptr_t) & meltletrec_1_ptr->rlist_1__LIST_; meltletrec_1_ptr->rlist_1__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*^putpairhead */ /*putpairhead */ melt_assertmsg ("putpairhead /4 checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CINTBIND__V37*/ meltfptr[36])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CINTBIND__V37*/ meltfptr[36]))->hd = (melt_ptr_t) ( /*_.CINTBIND__V24*/ meltfptr[23]); ; /*^touch */ meltgc_touch ( /*_.CINTBIND__V37*/ meltfptr[36]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.LIST___V38*/ meltfptr[37])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.LIST___V38*/ meltfptr[37]))->first = (meltpair_ptr_t) ( /*_.CINTBIND__V37*/ meltfptr[36]); ((meltlist_ptr_t) ( /*_.LIST___V38*/ meltfptr[37]))->last = (meltpair_ptr_t) ( /*_.CINTBIND__V37*/ meltfptr[36]); ; /*^touch */ meltgc_touch ( /*_.LIST___V38*/ meltfptr[37]); ; /*_.LIST___V36*/ meltfptr[32] = /*_.LIST___V38*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2765:/ clear"); /*clear *//*_.CINTBIND__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.LIST___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.CINTBIND__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.LIST___V38*/ meltfptr[37] = 0; } /*end multiallocblock */ ; /*^compute */ /*_.NBINDIF__V28*/ meltfptr[27] = /*_.SETQ___V39*/ meltfptr[36] = /*_.LIST___V36*/ meltfptr[32];; /*_.IFELSE___V35*/ meltfptr[31] = /*_.SETQ___V39*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2764:/ clear"); /*clear *//*_.LIST___V36*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.SETQ___V39*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2766:/ locexp"); meltgc_prepend_list ((melt_ptr_t) ( /*_.NBINDIF__V28*/ meltfptr[27]), (melt_ptr_t) ( /*_.CINTBIND__V24*/ meltfptr[23])); } ; /*clear *//*_.IFELSE___V35*/ meltfptr[31] = 0; /*epilog */ } ; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2772:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDTHEN__V42*/ meltfptr[36]; /*^multimsend.send */ /*_.NTHEN__V41*/ meltfptr[32] = meltgc_send ((melt_ptr_t) ( /*_.STHEN__V20*/ meltfptr[19]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[9]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2775:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2775:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2775:/ 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 = 2775; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_if nthen"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTHEN__V41*/ meltfptr[32]; /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 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___V44*/ meltfptr[43] = /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2775:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 0; } ; } else { /*^cond.else */ /*_.IF___V44*/ meltfptr[43] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2775:/ quasiblock"); /*_.PROGN___V46*/ meltfptr[44] = /*_.IF___V44*/ meltfptr[43];; /*^compute */ /*_.IFCPP___V43*/ meltfptr[42] = /*_.PROGN___V46*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2775:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ 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:2776:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L12*/ meltfnum[10] = (( /*_.NBINDTHEN__V42*/ meltfptr[36]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDTHEN__V42*/ meltfptr[36])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:2776:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L12*/ meltfnum[10]) /*then */ { /*^cond.then */ /*_.IFELSE___V48*/ meltfptr[44] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2776:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindthen"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2776) ? (2776) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V48*/ meltfptr[44] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V47*/ meltfptr[43] = /*_.IFELSE___V48*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2776:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L12*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFELSE___V48*/ meltfptr[44] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V47*/ meltfptr[43] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2777:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NEWTHENENV__V50*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2780:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V52*/ meltfptr[51] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_13 */ meltfrout-> tabval[13])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V52*/ meltfptr[51])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V52*/ meltfptr[51]))); ((meltclosure_ptr_t) /*_.LAMBDA___V52*/ meltfptr[51])->tabval[0] = (melt_ptr_t) ( /*_.NEWTHENENV__V50*/ meltfptr[49]); ; /*_.LAMBDA___V51*/ meltfptr[50] = /*_.LAMBDA___V52*/ meltfptr[51];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2778:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V51*/ meltfptr[50]; /*_.LIST_EVERY__V53*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_EVERY */ meltfrout->tabval[11])), (melt_ptr_t) ( /*_.NBINDTHEN__V42*/ meltfptr[36]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2782:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTHENENV__V50*/ meltfptr[49]; /*_.GET_CTYPE__V54*/ meltfptr[53] = meltgc_send ((melt_ptr_t) ( /*_.NTHEN__V41*/ meltfptr[32]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[14])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^compute */ /*_.CTYPIF__V19*/ meltfptr[18] = /*_.SETQ___V55*/ meltfptr[54] = /*_.GET_CTYPE__V54*/ meltfptr[53];; MELT_LOCATION ("warmelt-normal.melt:2784:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V57*/ meltfptr[56] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[5])), (melt_ptr_t) (( /*!konst_15_IF_ */ meltfrout-> tabval[15])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2785:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[16])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V59*/ meltfptr[58] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V59*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V59*/ meltfptr[58]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V59*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V59*/ meltfptr[58]), (2), ( /*_.CTYPIF__V19*/ meltfptr[18]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V59*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V59*/ meltfptr[58]), (1), ( /*_.CSYM__V57*/ meltfptr[56]), "NOCC_SYMB"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V59*/ meltfptr[58], "newly made instance"); ; /*_.CLOCC__V58*/ meltfptr[57] = /*_.INST__V59*/ meltfptr[58];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2789:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDTHEN__V42*/ meltfptr[36]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*_.WTHEN__V60*/ meltfptr[59] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LET1 */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.NTHEN__V41*/ meltfptr[32]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2795:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_IF */ meltfrout-> tabval[18])), (5), "CLASS_NREP_IF"); /*_.INST__V62*/ meltfptr[61] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_TEST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (4), ( /*_.NTEST__V27*/ meltfptr[26]), "NIF_TEST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (2), ( /*_.WTHEN__V60*/ meltfptr[59]), "NIF_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (3), (( /*nil */ NULL)), "NIF_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V62*/ meltfptr[61])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V62*/ meltfptr[61]), (1), ( /*_.CTYPIF__V19*/ meltfptr[18]), "NEXPR_CTYP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V62*/ meltfptr[61], "newly made instance"); ; /*_.INST___V61*/ meltfptr[60] = /*_.INST__V62*/ meltfptr[61];; MELT_LOCATION ("warmelt-normal.melt:2790:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[8])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V64*/ meltfptr[63] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V64*/ meltfptr[63]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V64*/ meltfptr[63]), (0), ( /*_.CSYM__V57*/ meltfptr[56]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V64*/ meltfptr[63]), (1), ( /*_.CTYPIF__V19*/ meltfptr[18]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V64*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V64*/ meltfptr[63]), (2), ( /*_.INST___V61*/ meltfptr[60]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V64*/ meltfptr[63], "newly made instance"); ; /*_.CBIND__V63*/ meltfptr[62] = /*_.INST__V64*/ meltfptr[63];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2803:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V58*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V58*/ meltfptr[57]), (3), ( /*_.CBIND__V63*/ meltfptr[62]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.CLOCC__V58*/ meltfptr[57]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CLOCC__V58*/ meltfptr[57], "put-fields"); ; MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L13*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.NBINDIF__V28*/ meltfptr[27])) == MELTOBMAG_LIST);; /*^compute */ /*_#NOT__L14*/ meltfnum[10] = (!( /*_#IS_LIST__L13*/ meltfnum[0]));; MELT_LOCATION ("warmelt-normal.melt:2804:/ cond"); /*cond */ if ( /*_#NOT__L14*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_LIST__V66*/ meltfptr[65] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[19]))));; MELT_LOCATION ("warmelt-normal.melt:2805:/ compute"); /*_.NBINDIF__V28*/ meltfptr[27] = /*_.SETQ___V67*/ meltfptr[66] = /*_.MAKE_LIST__V66*/ meltfptr[65];; /*_.IF___V65*/ meltfptr[64] = /*_.SETQ___V67*/ meltfptr[66];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2804:/ clear"); /*clear *//*_.MAKE_LIST__V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.SETQ___V67*/ meltfptr[66] = 0; } ; } else { /*^cond.else */ /*_.IF___V65*/ meltfptr[64] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2806:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDIF__V28*/ meltfptr[27]), (melt_ptr_t) ( /*_.CBIND__V63*/ meltfptr[62])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2807:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2807:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2807:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 2807; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_if result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V58*/ meltfptr[57]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindif="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDIF__V28*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V70*/ meltfptr[69] = 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___V69*/ meltfptr[66] = /*_.MELT_DEBUG_FUN__V70*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2807:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V70*/ meltfptr[69] = 0; } ; } else { /*^cond.else */ /*_.IF___V69*/ meltfptr[66] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2807:/ quasiblock"); /*_.PROGN___V71*/ meltfptr[69] = /*_.IF___V69*/ meltfptr[66];; /*^compute */ /*_.IFCPP___V68*/ meltfptr[65] = /*_.PROGN___V71*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2807:/ clear"); /*clear *//*_#MELT_NEED_DBG__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IF___V69*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.PROGN___V71*/ meltfptr[69] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V68*/ meltfptr[65] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2808:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V58*/ meltfptr[57];; MELT_LOCATION ("warmelt-normal.melt:2808:/ 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) ( /*_.NBINDIF__V28*/ meltfptr[27]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V56*/ meltfptr[55] = /*_.RETURN___V72*/ meltfptr[66];; MELT_LOCATION ("warmelt-normal.melt:2784:/ clear"); /*clear *//*_.CSYM__V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.CLOCC__V58*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.WTHEN__V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.INST___V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.CBIND__V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_#IS_LIST__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#NOT__L14*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V65*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.IFCPP___V68*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.RETURN___V72*/ meltfptr[66] = 0; /*_.LET___V49*/ meltfptr[44] = /*_.LET___V56*/ meltfptr[55];; MELT_LOCATION ("warmelt-normal.melt:2777:/ clear"); /*clear *//*_.NEWTHENENV__V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.LAMBDA___V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.LIST_EVERY__V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.SETQ___V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.LET___V56*/ meltfptr[55] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V40*/ meltfptr[37] = /*_.LET___V49*/ meltfptr[44];; MELT_LOCATION ("warmelt-normal.melt:2772:/ clear"); /*clear *//*_.IFCPP___V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.IFCPP___V47*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.LET___V49*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.NBINDTHEN__V42*/ meltfptr[36] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V26*/ meltfptr[25] = /*_.MULTI___V40*/ meltfptr[37];; MELT_LOCATION ("warmelt-normal.melt:2758:/ clear"); /*clear *//*_.IFCPP___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_#NULL__L9*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.MULTI___V40*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.NBINDIF__V28*/ meltfptr[27] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V26*/ meltfptr[25];; MELT_LOCATION ("warmelt-normal.melt:2746:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.STEST__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.CTYPIF__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.STHEN__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.CINTSYMB__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NCHINT__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.CINTBIND__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.MULTI___V26*/ meltfptr[25] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2741:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:2741:/ 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_IF", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_53_warmelt_normal_NORMEXP_IF_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_53_warmelt_normal_NORMEXP_IF */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_54_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_) { long current_blocklevel_signals_meltrout_54_warmelt_normal_LAMBDA___14___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_54_warmelt_normal_LAMBDA___14___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_54_warmelt_normal_LAMBDA___14__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_54_warmelt_normal_LAMBDA___14___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_54_warmelt_normal_LAMBDA___14__ nbval 3*/ meltfram__.mcfr_nbvar = 3 /*nbval */ ; 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:2780:/ getarg"); /*_.B__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.B__V2*/ meltfptr[1]; /*_.PUT_ENV__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[0])), (melt_ptr_t) (( /*~NEWTHENENV */ meltfclos->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.PUT_ENV__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normal.melt:2780:/ 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_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_54_warmelt_normal_LAMBDA___14___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_54_warmelt_normal_LAMBDA___14__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_55_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_) { long current_blocklevel_signals_meltrout_55_warmelt_normal_NORMEXP_IFELSE_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_55_warmelt_normal_NORMEXP_IFELSE_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 104 melt_ptr_t mcfr_varptr[104]; #define MELTFRAM_NBVARNUM 28 long mcfr_varnum[28]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_55_warmelt_normal_NORMEXP_IFELSE is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_55_warmelt_normal_NORMEXP_IFELSE_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_55_warmelt_normal_NORMEXP_IFELSE nbval 104*/ meltfram__.mcfr_nbvar = 104 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_IFELSE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:2816:/ 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:2817:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_IFELSE */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:2817:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2817:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check if recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2817) ? (2817) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2817:/ 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:2818:/ cppif.then"); /*^block */ /*anyblock */ { 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:2818:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2818:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2818) ? (2818) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2818:/ 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:2819:/ cppif.then"); /*^block */ /*anyblock */ { 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:2819:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2819:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2819) ? (2819) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2819:/ 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:2820:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2820:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2820:/ 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 = 2820; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifelse 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:2820:/ 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:2820:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2820:/ 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:2821:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2822:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SIF_TEST"); /*_.STEST__V18*/ meltfptr[17] = slot; }; ; /*_.CTYPIF__V19*/ meltfptr[18] = ( /*!CTYPE_VOID */ meltfrout->tabval[4]);; MELT_LOCATION ("warmelt-normal.melt:2824:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SIF_THEN"); /*_.STHEN__V20*/ meltfptr[19] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2825:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "SIF_ELSE"); /*_.SELSE__V21*/ meltfptr[20] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2827:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDIF__V24*/ meltfptr[23]; /*^multimsend.send */ /*_.NTEST__V23*/ meltfptr[22] = meltgc_send ((melt_ptr_t) ( /*_.STEST__V18*/ meltfptr[17]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2830:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2830:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2830:/ 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 = 2830; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifelse ntest"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTEST__V23*/ meltfptr[22]; /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 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___V26*/ meltfptr[25] = /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2830:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_.IF___V26*/ meltfptr[25] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2830:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_.IF___V26*/ meltfptr[25];; /*^compute */ /*_.IFCPP___V25*/ meltfptr[24] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2830:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.PROGN___V28*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V25*/ meltfptr[24] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2831:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L8*/ meltfnum[0] = (( /*_.NBINDIF__V24*/ meltfptr[23]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDIF__V24*/ meltfptr[23])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:2831:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V30*/ meltfptr[26] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2831:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindif test"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2831) ? (2831) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V30*/ meltfptr[26] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V29*/ meltfptr[25] = /*_.IFELSE___V30*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2831:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V30*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2833:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CINTSYMB__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[6])), (melt_ptr_t) (( /*!konst_7_IFELSE_INTER_ */ meltfrout-> tabval[7])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2834:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHECKSIGNAL */ meltfrout->tabval[8])), (1), "CLASS_NREP_CHECKSIGNAL"); /*_.INST__V34*/ meltfptr[33] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V34*/ meltfptr[33], "newly made instance"); ; /*_.NCHINT__V33*/ meltfptr[32] = /*_.INST__V34*/ meltfptr[33];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2836:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[9])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V36*/ meltfptr[35] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (0), ( /*_.CINTSYMB__V32*/ meltfptr[31]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[4])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (2), ( /*_.NCHINT__V33*/ meltfptr[32]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V36*/ meltfptr[35], "newly made instance"); ; /*_.CINTBIND__V35*/ meltfptr[34] = /*_.INST__V36*/ meltfptr[35];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_LIST__L9*/ meltfnum[4] = (melt_magic_discr ((melt_ptr_t) ( /*_.NBINDIF__V24*/ meltfptr[23])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-normal.melt:2841:/ cond"); /*cond */ if ( /*_#IS_LIST__L9*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2842:/ locexp"); meltgc_prepend_list ((melt_ptr_t) ( /*_.NBINDIF__V24*/ meltfptr[23]), (melt_ptr_t) ( /*_.CINTBIND__V35*/ meltfptr[34])); } ; /*clear *//*_.IFELSE___V37*/ meltfptr[36] = 0; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normal.melt:2841:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2843:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltpair_st rpair_0__CINTBIND_x4; struct meltlist_st rlist_1__LIST_; 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 */ /*inipair rpair_0__CINTBIND_x4 */ /*_.CINTBIND__V39*/ meltfptr[38] = (melt_ptr_t) & meltletrec_1_ptr->rpair_0__CINTBIND_x4; meltletrec_1_ptr->rpair_0__CINTBIND_x4.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_1__LIST_ */ /*_.LIST___V40*/ meltfptr[39] = (melt_ptr_t) & meltletrec_1_ptr->rlist_1__LIST_; meltletrec_1_ptr->rlist_1__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*^putpairhead */ /*putpairhead */ melt_assertmsg ("putpairhead /5 checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CINTBIND__V39*/ meltfptr[38])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CINTBIND__V39*/ meltfptr[38]))->hd = (melt_ptr_t) ( /*_.CINTBIND__V35*/ meltfptr[34]); ; /*^touch */ meltgc_touch ( /*_.CINTBIND__V39*/ meltfptr[38]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.LIST___V40*/ meltfptr[39])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.LIST___V40*/ meltfptr[39]))->first = (meltpair_ptr_t) ( /*_.CINTBIND__V39*/ meltfptr[38]); ((meltlist_ptr_t) ( /*_.LIST___V40*/ meltfptr[39]))->last = (meltpair_ptr_t) ( /*_.CINTBIND__V39*/ meltfptr[38]); ; /*^touch */ meltgc_touch ( /*_.LIST___V40*/ meltfptr[39]); ; /*_.LIST___V38*/ meltfptr[37] = /*_.LIST___V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2843:/ clear"); /*clear *//*_.CINTBIND__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.LIST___V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.CINTBIND__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.LIST___V40*/ meltfptr[39] = 0; } /*end multiallocblock */ ; /*^compute */ /*_.NBINDIF__V24*/ meltfptr[23] = /*_.SETQ___V41*/ meltfptr[38] = /*_.LIST___V38*/ meltfptr[37];; /*_.IFELSE___V37*/ meltfptr[36] = /*_.SETQ___V41*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2841:/ clear"); /*clear *//*_.LIST___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.SETQ___V41*/ meltfptr[38] = 0; } ; } ; /*_.LET___V31*/ meltfptr[26] = /*_.IFELSE___V37*/ meltfptr[36];; MELT_LOCATION ("warmelt-normal.melt:2833:/ clear"); /*clear *//*_.CINTSYMB__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.NCHINT__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.CINTBIND__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_#IS_LIST__L9*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V37*/ meltfptr[36] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2848:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDTHEN__V44*/ meltfptr[38]; /*^multimsend.send */ /*_.NTHEN__V43*/ meltfptr[37] = meltgc_send ((melt_ptr_t) ( /*_.STHEN__V20*/ meltfptr[19]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2851:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2851:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2851:/ 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 = 2851; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifelse nthen"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTHEN__V43*/ meltfptr[37]; /*_.MELT_DEBUG_FUN__V47*/ meltfptr[34] = 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___V46*/ meltfptr[32] = /*_.MELT_DEBUG_FUN__V47*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2851:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V47*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*_.IF___V46*/ meltfptr[32] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2851:/ quasiblock"); /*_.PROGN___V48*/ meltfptr[36] = /*_.IF___V46*/ meltfptr[32];; /*^compute */ /*_.IFCPP___V45*/ meltfptr[31] = /*_.PROGN___V48*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2851:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V46*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.PROGN___V48*/ meltfptr[36] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V45*/ meltfptr[31] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2852:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L12*/ meltfnum[4] = (( /*_.NBINDTHEN__V44*/ meltfptr[38]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDTHEN__V44*/ meltfptr[38])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:2852:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L12*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V50*/ meltfptr[32] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2852:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindthen"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2852) ? (2852) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V50*/ meltfptr[32] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V49*/ meltfptr[34] = /*_.IFELSE___V50*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2852:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L12*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V50*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V49*/ meltfptr[34] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2853:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NEWTHENENV__V52*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2856:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V54*/ meltfptr[53] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_13 */ meltfrout-> tabval[13])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V54*/ meltfptr[53])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V54*/ meltfptr[53]))); ((meltclosure_ptr_t) /*_.LAMBDA___V54*/ meltfptr[53])->tabval[0] = (melt_ptr_t) ( /*_.NEWTHENENV__V52*/ meltfptr[32]); ; /*_.LAMBDA___V53*/ meltfptr[52] = /*_.LAMBDA___V54*/ meltfptr[53];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2854:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V53*/ meltfptr[52]; /*_.LIST_EVERY__V55*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_EVERY */ meltfrout->tabval[11])), (melt_ptr_t) ( /*_.NBINDTHEN__V44*/ meltfptr[38]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2858:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTHENENV__V52*/ meltfptr[32]; /*_.GET_CTYPE__V56*/ meltfptr[55] = meltgc_send ((melt_ptr_t) ( /*_.NTHEN__V43*/ meltfptr[37]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[14])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^compute */ /*_.CTYPIF__V19*/ meltfptr[18] = /*_.SETQ___V57*/ meltfptr[56] = /*_.GET_CTYPE__V56*/ meltfptr[55];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2859:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDELSE__V60*/ meltfptr[59]; /*^multimsend.send */ /*_.NELSE__V59*/ meltfptr[58] = meltgc_send ((melt_ptr_t) ( /*_.SELSE__V21*/ meltfptr[20]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2862:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ 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:2862:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2862:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2862; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifelse nelse"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NELSE__V59*/ meltfptr[58]; /*_.MELT_DEBUG_FUN__V63*/ meltfptr[62] = 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___V62*/ meltfptr[61] = /*_.MELT_DEBUG_FUN__V63*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2862:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V63*/ meltfptr[62] = 0; } ; } else { /*^cond.else */ /*_.IF___V62*/ meltfptr[61] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2862:/ quasiblock"); /*_.PROGN___V64*/ meltfptr[62] = /*_.IF___V62*/ meltfptr[61];; /*^compute */ /*_.IFCPP___V61*/ meltfptr[60] = /*_.PROGN___V64*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2862:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.PROGN___V64*/ meltfptr[62] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V61*/ meltfptr[60] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2863:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L15*/ meltfnum[4] = (( /*_.NBINDELSE__V60*/ meltfptr[59]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDELSE__V60*/ meltfptr[59])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:2863:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L15*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V66*/ meltfptr[62] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2863:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindelse"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2863) ? (2863) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V66*/ meltfptr[62] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V65*/ meltfptr[61] = /*_.IFELSE___V66*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2863:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L15*/ meltfnum[4] = 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:2866:/ quasiblock"); /*^quasiblock */ MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NENV__V69*/ meltfptr[68] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2869:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V71*/ meltfptr[70] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_16 */ meltfrout-> tabval[16])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V71*/ meltfptr[70])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V71*/ meltfptr[70]))); ((meltclosure_ptr_t) /*_.LAMBDA___V71*/ meltfptr[70])->tabval[0] = (melt_ptr_t) ( /*_.NENV__V69*/ meltfptr[68]); ; /*_.LAMBDA___V70*/ meltfptr[69] = /*_.LAMBDA___V71*/ meltfptr[70];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2867:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V70*/ meltfptr[69]; /*_.LIST_EVERY__V72*/ meltfptr[71] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_EVERY */ meltfrout->tabval[11])), (melt_ptr_t) ( /*_.NBINDELSE__V60*/ meltfptr[59]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V68*/ meltfptr[67] = /*_.NENV__V69*/ meltfptr[68];; MELT_LOCATION ("warmelt-normal.melt:2866:/ clear"); /*clear *//*_.NENV__V69*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.LAMBDA___V70*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.LIST_EVERY__V72*/ meltfptr[71] = 0; /*_.NEWELSEENV__V73*/ meltfptr[68] = /*_.LET___V68*/ meltfptr[67];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2872:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWELSEENV__V73*/ meltfptr[68]; /*_.CTYPELSE__V74*/ meltfptr[69] = meltgc_send ((melt_ptr_t) ( /*_.NELSE__V59*/ meltfptr[58]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[14])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2873:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L16*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CTYPIF__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[17])));; MELT_LOCATION ("warmelt-normal.melt:2873:/ cond"); /*cond */ if ( /*_#IS_A__L16*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V76*/ meltfptr[75] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2873:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctypif"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2873) ? (2873) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V76*/ meltfptr[75] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V75*/ meltfptr[71] = /*_.IFELSE___V76*/ meltfptr[75];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2873:/ clear"); /*clear *//*_#IS_A__L16*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V76*/ meltfptr[75] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V75*/ meltfptr[71] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2874:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L17*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.CTYPELSE__V74*/ meltfptr[69]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[17])));; MELT_LOCATION ("warmelt-normal.melt:2874:/ cond"); /*cond */ if ( /*_#IS_A__L17*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V78*/ meltfptr[77] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2874:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctypelse"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2874) ? (2874) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V78*/ meltfptr[77] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V77*/ meltfptr[75] = /*_.IFELSE___V78*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2874:/ clear"); /*clear *//*_#IS_A__L17*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V78*/ meltfptr[77] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V77*/ meltfptr[75] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#__L18*/ meltfnum[0] = (( /*_.CTYPIF__V19*/ meltfptr[18]) == ( /*_.CTYPELSE__V74*/ meltfptr[69]));; MELT_LOCATION ("warmelt-normal.melt:2876:/ cond"); /*cond */ if ( /*_#__L18*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V79*/ meltfptr[77] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2876:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*_#__L19*/ meltfnum[4] = (( /*_.CTYPIF__V19*/ meltfptr[18]) != (( /*!CTYPE_VOID */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:2879:/ cond"); /*cond */ if ( /*_#__L19*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#__L21*/ meltfnum[20] = (( /*_.CTYPELSE__V74*/ meltfptr[69]) == (( /*!CTYPE_VOID */ meltfrout->tabval[4])));; /*^compute */ /*_#IF___L20*/ meltfnum[19] = /*_#__L21*/ meltfnum[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2879:/ clear"); /*clear *//*_#__L21*/ meltfnum[20] = 0; } ; } else { /*^cond.else */ /*_#IF___L20*/ meltfnum[19] = 0;; } ; MELT_LOCATION ("warmelt-normal.melt:2879:/ cond"); /*cond */ if ( /*_#IF___L20*/ meltfnum[19]) /*then */ { /*^cond.then */ /*_.IFELSE___V80*/ meltfptr[79] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2879:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*_#__L22*/ meltfnum[20] = (( /*_.CTYPIF__V19*/ meltfptr[18]) == (( /*!CTYPE_VOID */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:2882:/ cond"); /*cond */ if ( /*_#__L22*/ meltfnum[20]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#__L24*/ meltfnum[23] = (( /*_.CTYPELSE__V74*/ meltfptr[69]) != (( /*!CTYPE_VOID */ meltfrout->tabval[4])));; /*^compute */ /*_#IF___L23*/ meltfnum[22] = /*_#__L24*/ meltfnum[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2882:/ clear"); /*clear *//*_#__L24*/ meltfnum[23] = 0; } ; } else { /*^cond.else */ /*_#IF___L23*/ meltfnum[22] = 0;; } ; MELT_LOCATION ("warmelt-normal.melt:2882:/ cond"); /*cond */ if ( /*_#IF___L23*/ meltfnum[22]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:2883:/ compute"); /*_.CTYPIF__V19*/ meltfptr[18] = /*_.SETQ___V82*/ meltfptr[81] = /*_.CTYPELSE__V74*/ meltfptr[69];; /*_.IFELSE___V81*/ meltfptr[80] = /*_.SETQ___V82*/ meltfptr[81];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2882:/ clear"); /*clear *//*_.SETQ___V82*/ meltfptr[81] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2886:/ locexp"); melt_warning_str (0, (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("incompatible types in conditional IF/OR/COND branches"), (melt_ptr_t) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2889:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYPIF__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V83*/ meltfptr[81] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:2888:/ locexp"); melt_warning_str (0, (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("then type in conditional is "), (melt_ptr_t) ( /*_.NAMED_NAME__V83*/ meltfptr[81])); } ; MELT_LOCATION ("warmelt-normal.melt:2891:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYPELSE__V74*/ meltfptr[69]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V84*/ meltfptr[83] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:2890:/ locexp"); melt_warning_str (0, (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("else type in conditional is "), (melt_ptr_t) ( /*_.NAMED_NAME__V84*/ meltfptr[83])); } ; MELT_LOCATION ("warmelt-normal.melt:2892:/ compute"); /*_.CTYPIF__V19*/ meltfptr[18] = /*_.SETQ___V85*/ meltfptr[84] = ( /*!CTYPE_VOID */ meltfrout->tabval[4]);; MELT_LOCATION ("warmelt-normal.melt:2885:/ quasiblock"); /*_.PROGN___V86*/ meltfptr[85] = /*_.SETQ___V85*/ meltfptr[84];; /*^compute */ /*_.IFELSE___V81*/ meltfptr[80] = /*_.PROGN___V86*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2882:/ clear"); /*clear *//*_.NAMED_NAME__V83*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V84*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.SETQ___V85*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.PROGN___V86*/ meltfptr[85] = 0; } ; } ; /*_.IFELSE___V80*/ meltfptr[79] = /*_.IFELSE___V81*/ meltfptr[80];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2879:/ clear"); /*clear *//*_#__L22*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_#IF___L23*/ meltfnum[22] = 0; /*^clear */ /*clear *//*_.IFELSE___V81*/ meltfptr[80] = 0; } ; } ; /*_.IFELSE___V79*/ meltfptr[77] = /*_.IFELSE___V80*/ meltfptr[79];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2876:/ clear"); /*clear *//*_#__L19*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_#IF___L20*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.IFELSE___V80*/ meltfptr[79] = 0; } ; } ; /*_.LET___V67*/ meltfptr[62] = /*_.IFELSE___V79*/ meltfptr[77];; MELT_LOCATION ("warmelt-normal.melt:2866:/ clear"); /*clear *//*_.LET___V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.NEWELSEENV__V73*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.CTYPELSE__V74*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.IFCPP___V75*/ meltfptr[71] = 0; /*^clear */ /*clear *//*_.IFCPP___V77*/ meltfptr[75] = 0; /*^clear */ /*clear *//*_#__L18*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V79*/ meltfptr[77] = 0; MELT_LOCATION ("warmelt-normal.melt:2897:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V88*/ meltfptr[83] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[6])), (melt_ptr_t) (( /*!konst_18_IFELSE_ */ meltfrout-> tabval[18])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2898:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[19])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V90*/ meltfptr[85] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V90*/ meltfptr[85])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V90*/ meltfptr[85]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V90*/ meltfptr[85])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V90*/ meltfptr[85]), (2), ( /*_.CTYPIF__V19*/ meltfptr[18]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V90*/ meltfptr[85])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V90*/ meltfptr[85]), (1), ( /*_.CSYM__V88*/ meltfptr[83]), "NOCC_SYMB"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V90*/ meltfptr[85], "newly made instance"); ; /*_.CLOCC__V89*/ meltfptr[84] = /*_.INST__V90*/ meltfptr[85];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2902:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDTHEN__V44*/ meltfptr[38]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*_.WTHEN__V91*/ meltfptr[80] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LET1 */ meltfrout->tabval[20])), (melt_ptr_t) ( /*_.NTHEN__V43*/ meltfptr[37]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2903:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDELSE__V60*/ meltfptr[59]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*_.WELSE__V92*/ meltfptr[79] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LET1 */ meltfrout->tabval[20])), (melt_ptr_t) ( /*_.NELSE__V59*/ meltfptr[58]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2909:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_IF */ meltfrout-> tabval[21])), (5), "CLASS_NREP_IF"); /*_.INST__V94*/ meltfptr[68] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V94*/ meltfptr[68])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V94*/ meltfptr[68]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_TEST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V94*/ meltfptr[68])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V94*/ meltfptr[68]), (4), ( /*_.NTEST__V23*/ meltfptr[22]), "NIF_TEST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V94*/ meltfptr[68])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V94*/ meltfptr[68]), (2), ( /*_.WTHEN__V91*/ meltfptr[80]), "NIF_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V94*/ meltfptr[68])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V94*/ meltfptr[68]), (3), ( /*_.WELSE__V92*/ meltfptr[79]), "NIF_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V94*/ meltfptr[68])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V94*/ meltfptr[68]), (1), ( /*_.CTYPIF__V19*/ meltfptr[18]), "NEXPR_CTYP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V94*/ meltfptr[68], "newly made instance"); ; /*_.INST___V93*/ meltfptr[67] = /*_.INST__V94*/ meltfptr[68];; MELT_LOCATION ("warmelt-normal.melt:2904:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[9])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V96*/ meltfptr[71] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V96*/ meltfptr[71])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V96*/ meltfptr[71]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V96*/ meltfptr[71])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V96*/ meltfptr[71]), (0), ( /*_.CSYM__V88*/ meltfptr[83]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V96*/ meltfptr[71])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V96*/ meltfptr[71]), (1), ( /*_.CTYPIF__V19*/ meltfptr[18]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V96*/ meltfptr[71])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V96*/ meltfptr[71]), (2), ( /*_.INST___V93*/ meltfptr[67]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V96*/ meltfptr[71], "newly made instance"); ; /*_.CBIND__V95*/ meltfptr[69] = /*_.INST__V96*/ meltfptr[71];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2916:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V89*/ meltfptr[84])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V89*/ meltfptr[84]), (3), ( /*_.CBIND__V95*/ meltfptr[69]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.CLOCC__V89*/ meltfptr[84]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CLOCC__V89*/ meltfptr[84], "put-fields"); ; MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L25*/ meltfnum[23] = (melt_magic_discr ((melt_ptr_t) ( /*_.NBINDIF__V24*/ meltfptr[23])) == MELTOBMAG_LIST);; /*^compute */ /*_#NOT__L26*/ meltfnum[20] = (!( /*_#IS_LIST__L25*/ meltfnum[23]));; MELT_LOCATION ("warmelt-normal.melt:2917:/ cond"); /*cond */ if ( /*_#NOT__L26*/ meltfnum[20]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_LIST__V98*/ meltfptr[77] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[22]))));; MELT_LOCATION ("warmelt-normal.melt:2918:/ compute"); /*_.NBINDIF__V24*/ meltfptr[23] = /*_.SETQ___V99*/ meltfptr[98] = /*_.MAKE_LIST__V98*/ meltfptr[77];; /*_.IF___V97*/ meltfptr[75] = /*_.SETQ___V99*/ meltfptr[98];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2917:/ clear"); /*clear *//*_.MAKE_LIST__V98*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.SETQ___V99*/ meltfptr[98] = 0; } ; } else { /*^cond.else */ /*_.IF___V97*/ meltfptr[75] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:2919:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDIF__V24*/ meltfptr[23]), (melt_ptr_t) ( /*_.CBIND__V95*/ meltfptr[69])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2920:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L27*/ meltfnum[22] = /*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:2920:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L27*/ meltfnum[22]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L28*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2920:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L28*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2920; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifelse result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V89*/ meltfptr[84]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindif="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDIF__V24*/ meltfptr[23]; /*_.MELT_DEBUG_FUN__V102*/ meltfptr[101] = 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___V101*/ meltfptr[98] = /*_.MELT_DEBUG_FUN__V102*/ meltfptr[101];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2920:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L28*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V102*/ meltfptr[101] = 0; } ; } else { /*^cond.else */ /*_.IF___V101*/ meltfptr[98] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2920:/ quasiblock"); /*_.PROGN___V103*/ meltfptr[101] = /*_.IF___V101*/ meltfptr[98];; /*^compute */ /*_.IFCPP___V100*/ meltfptr[77] = /*_.PROGN___V103*/ meltfptr[101];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2920:/ clear"); /*clear *//*_#MELT_NEED_DBG__L27*/ meltfnum[22] = 0; /*^clear */ /*clear *//*_.IF___V101*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_.PROGN___V103*/ meltfptr[101] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V100*/ meltfptr[77] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2921:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V89*/ meltfptr[84];; MELT_LOCATION ("warmelt-normal.melt:2921:/ 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) ( /*_.NBINDIF__V24*/ meltfptr[23]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V87*/ meltfptr[81] = /*_.RETURN___V104*/ meltfptr[98];; MELT_LOCATION ("warmelt-normal.melt:2897:/ clear"); /*clear *//*_.CSYM__V88*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.CLOCC__V89*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.WTHEN__V91*/ meltfptr[80] = 0; /*^clear */ /*clear *//*_.WELSE__V92*/ meltfptr[79] = 0; /*^clear */ /*clear *//*_.INST___V93*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.CBIND__V95*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_#IS_LIST__L25*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_#NOT__L26*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.IF___V97*/ meltfptr[75] = 0; /*^clear */ /*clear *//*_.IFCPP___V100*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.RETURN___V104*/ meltfptr[98] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V58*/ meltfptr[57] = /*_.LET___V87*/ meltfptr[81];; MELT_LOCATION ("warmelt-normal.melt:2859:/ clear"); /*clear *//*_.IFCPP___V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.IFCPP___V65*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.LET___V67*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.LET___V87*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.NBINDELSE__V60*/ meltfptr[59] = 0; /*_.LET___V51*/ meltfptr[36] = /*_.MULTI___V58*/ meltfptr[57];; MELT_LOCATION ("warmelt-normal.melt:2853:/ clear"); /*clear *//*_.NEWTHENENV__V52*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.LAMBDA___V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.LIST_EVERY__V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V56*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.SETQ___V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.MULTI___V58*/ meltfptr[57] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V42*/ meltfptr[39] = /*_.LET___V51*/ meltfptr[36];; MELT_LOCATION ("warmelt-normal.melt:2848:/ clear"); /*clear *//*_.IFCPP___V45*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.IFCPP___V49*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.LET___V51*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.NBINDTHEN__V44*/ meltfptr[38] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V22*/ meltfptr[21] = /*_.MULTI___V42*/ meltfptr[39];; MELT_LOCATION ("warmelt-normal.melt:2827:/ clear"); /*clear *//*_.IFCPP___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.LET___V31*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.MULTI___V42*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.NBINDIF__V24*/ meltfptr[23] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V22*/ meltfptr[21];; MELT_LOCATION ("warmelt-normal.melt:2821:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.STEST__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.CTYPIF__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.STHEN__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.SELSE__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.MULTI___V22*/ meltfptr[21] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2816:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:2816:/ 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_IFELSE", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_55_warmelt_normal_NORMEXP_IFELSE_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_55_warmelt_normal_NORMEXP_IFELSE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_56_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_) { long current_blocklevel_signals_meltrout_56_warmelt_normal_LAMBDA___15___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_56_warmelt_normal_LAMBDA___15___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_56_warmelt_normal_LAMBDA___15__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_56_warmelt_normal_LAMBDA___15___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_56_warmelt_normal_LAMBDA___15__ nbval 3*/ meltfram__.mcfr_nbvar = 3 /*nbval */ ; 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:2856:/ getarg"); /*_.B__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.B__V2*/ meltfptr[1]; /*_.PUT_ENV__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[0])), (melt_ptr_t) (( /*~NEWTHENENV */ meltfclos->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.PUT_ENV__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normal.melt:2856:/ 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_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_56_warmelt_normal_LAMBDA___15___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_56_warmelt_normal_LAMBDA___15__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_57_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_) { long current_blocklevel_signals_meltrout_57_warmelt_normal_LAMBDA___16___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_57_warmelt_normal_LAMBDA___16___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_57_warmelt_normal_LAMBDA___16__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_57_warmelt_normal_LAMBDA___16___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_57_warmelt_normal_LAMBDA___16__ nbval 3*/ meltfram__.mcfr_nbvar = 3 /*nbval */ ; 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:2869:/ getarg"); /*_.B__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.B__V2*/ meltfptr[1]; /*_.PUT_ENV__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[0])), (melt_ptr_t) (( /*~NENV */ meltfclos->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.PUT_ENV__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normal.melt:2869:/ 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_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_57_warmelt_normal_LAMBDA___16___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_57_warmelt_normal_LAMBDA___16__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_58_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_) { long current_blocklevel_signals_meltrout_58_warmelt_normal_NORMEXP_CPPIF_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_58_warmelt_normal_NORMEXP_CPPIF_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 73 melt_ptr_t mcfr_varptr[73]; #define MELTFRAM_NBVARNUM 19 long mcfr_varnum[19]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_58_warmelt_normal_NORMEXP_CPPIF is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_58_warmelt_normal_NORMEXP_CPPIF_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 73; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_58_warmelt_normal_NORMEXP_CPPIF nbval 73*/ meltfram__.mcfr_nbvar = 73 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_CPPIF", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:2927:/ 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:2928:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_CPPIF */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:2928:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2928:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check cppif recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2928) ? (2928) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2928:/ 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:2929:/ cppif.then"); /*^block */ /*anyblock */ { 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:2929:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2929:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2929) ? (2929) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2929:/ 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:2930:/ cppif.then"); /*^block */ /*anyblock */ { 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:2930:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2930:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2930) ? (2930) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2930:/ 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:2931:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2931:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2931:/ 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 = 2931; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_cppif 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:2931:/ 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:2931:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2931:/ 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:2932:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2933:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SIFP_COND"); /*_.SCOND__V18*/ meltfptr[17] = slot; }; ; /*_.CTYPIF__V19*/ meltfptr[18] = ( /*!CTYPE_VOID */ meltfrout->tabval[4]);; MELT_LOCATION ("warmelt-normal.melt:2935:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SIFP_THEN"); /*_.STHEN__V20*/ meltfptr[19] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:2936:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "SIFP_ELSE"); /*_.SELSE__V21*/ meltfptr[20] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2939:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDTHEN__V24*/ meltfptr[23]; /*^multimsend.send */ /*_.NTHEN__V23*/ meltfptr[22] = meltgc_send ((melt_ptr_t) ( /*_.STHEN__V20*/ meltfptr[19]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2942:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2942:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2942:/ 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 = 2942; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_cppif nthen"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTHEN__V23*/ meltfptr[22]; /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 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___V26*/ meltfptr[25] = /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2942:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_.IF___V26*/ meltfptr[25] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2942:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_.IF___V26*/ meltfptr[25];; /*^compute */ /*_.IFCPP___V25*/ meltfptr[24] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2942:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.PROGN___V28*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V25*/ meltfptr[24] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2943:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L8*/ meltfnum[0] = (( /*_.NBINDTHEN__V24*/ meltfptr[23]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDTHEN__V24*/ meltfptr[23])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:2943:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V30*/ meltfptr[26] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2943:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindthen"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2943) ? (2943) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V30*/ meltfptr[26] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V29*/ meltfptr[25] = /*_.IFELSE___V30*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2943:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V30*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2944:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NEWTHENENV__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[6])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2947:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V34*/ meltfptr[33] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_9 */ meltfrout-> tabval[9])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V34*/ meltfptr[33])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V34*/ meltfptr[33]))); ((meltclosure_ptr_t) /*_.LAMBDA___V34*/ meltfptr[33])->tabval[0] = (melt_ptr_t) ( /*_.NEWTHENENV__V32*/ meltfptr[31]); ; /*_.LAMBDA___V33*/ meltfptr[32] = /*_.LAMBDA___V34*/ meltfptr[33];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2945:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V33*/ meltfptr[32]; /*_.LIST_EVERY__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_EVERY */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.NBINDTHEN__V24*/ meltfptr[23]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2949:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWTHENENV__V32*/ meltfptr[31]; /*_.GET_CTYPE__V36*/ meltfptr[35] = meltgc_send ((melt_ptr_t) ( /*_.NTHEN__V23*/ meltfptr[22]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[10])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^compute */ /*_.CTYPIF__V19*/ meltfptr[18] = /*_.SETQ___V37*/ meltfptr[36] = /*_.GET_CTYPE__V36*/ meltfptr[35];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2950:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.CTYPIF__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[11])));; MELT_LOCATION ("warmelt-normal.melt:2950:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V39*/ meltfptr[38] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2950:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctypif"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2950) ? (2950) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V39*/ meltfptr[38] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V38*/ meltfptr[37] = /*_.IFELSE___V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2950:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V39*/ meltfptr[38] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[37] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2952:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDELSE__V42*/ meltfptr[41]; /*^multimsend.send */ /*_.NELSE__V41*/ meltfptr[40] = meltgc_send ((melt_ptr_t) ( /*_.SELSE__V21*/ meltfptr[20]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2955:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:2955:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2955:/ 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 = 2955; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_cppif nelse"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NELSE__V41*/ meltfptr[40]; /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 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___V44*/ meltfptr[43] = /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2955:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 0; } ; } else { /*^cond.else */ /*_.IF___V44*/ meltfptr[43] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2955:/ quasiblock"); /*_.PROGN___V46*/ meltfptr[44] = /*_.IF___V44*/ meltfptr[43];; /*^compute */ /*_.IFCPP___V43*/ meltfptr[42] = /*_.PROGN___V46*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2955:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ 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:2956:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L12*/ meltfnum[4] = (( /*_.NBINDELSE__V42*/ meltfptr[41]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBINDELSE__V42*/ meltfptr[41])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:2956:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L12*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V48*/ meltfptr[44] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:2956:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbindelse"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (2956) ? (2956) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V48*/ meltfptr[44] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V47*/ meltfptr[43] = /*_.IFELSE___V48*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2956:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L12*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V48*/ meltfptr[44] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V47*/ meltfptr[43] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:2957:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.NEWELSEENV__V50*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[6])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2960:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V52*/ meltfptr[51] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_13 */ meltfrout-> tabval[13])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V52*/ meltfptr[51])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V52*/ meltfptr[51]))); ((meltclosure_ptr_t) /*_.LAMBDA___V52*/ meltfptr[51])->tabval[0] = (melt_ptr_t) ( /*_.NEWELSEENV__V50*/ meltfptr[49]); ; /*_.LAMBDA___V51*/ meltfptr[50] = /*_.LAMBDA___V52*/ meltfptr[51];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2958:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V51*/ meltfptr[50]; /*_.LIST_EVERY__V53*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_EVERY */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.NBINDELSE__V42*/ meltfptr[41]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2961:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^msend */ /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWELSEENV__V50*/ meltfptr[49]; /*_.CTYPELSE__V55*/ meltfptr[54] = meltgc_send ((melt_ptr_t) ( /*_.NELSE__V41*/ meltfptr[40]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[10])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*_#__L13*/ meltfnum[0] = (( /*_.CTYPIF__V19*/ meltfptr[18]) != ( /*_.CTYPELSE__V55*/ meltfptr[54]));; MELT_LOCATION ("warmelt-normal.melt:2962:/ cond"); /*cond */ if ( /*_#__L13*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#__L15*/ meltfnum[14] = (( /*_.CTYPIF__V19*/ meltfptr[18]) != (( /*!CTYPE_VOID */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:2962:/ cond"); /*cond */ if ( /*_#__L15*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#__L17*/ meltfnum[16] = (( /*_.CTYPELSE__V55*/ meltfptr[54]) != (( /*!CTYPE_VOID */ meltfrout->tabval[4])));; /*^compute */ /*_#IF___L16*/ meltfnum[15] = /*_#__L17*/ meltfnum[16];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2962:/ clear"); /*clear *//*_#__L17*/ meltfnum[16] = 0; } ; } else { /*^cond.else */ /*_#IF___L16*/ meltfnum[15] = 0;; } ; /*^compute */ /*_#IF___L14*/ meltfnum[4] = /*_#IF___L16*/ meltfnum[15];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2962:/ clear"); /*clear *//*_#__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_#IF___L16*/ meltfnum[15] = 0; } ; } else { /*^cond.else */ /*_#IF___L14*/ meltfnum[4] = 0;; } ; MELT_LOCATION ("warmelt-normal.melt:2962:/ cond"); /*cond */ if ( /*_#IF___L14*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:2964:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("CPPIF incompatible then & else types"), (melt_ptr_t) 0); } ; MELT_LOCATION ("warmelt-normal.melt:2966:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYPIF__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V56*/ meltfptr[55] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:2965:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("CPPIF incompatible then type :"), (melt_ptr_t) ( /*_.NAMED_NAME__V56*/ meltfptr[55])); } ; MELT_LOCATION ("warmelt-normal.melt:2968:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYPELSE__V55*/ meltfptr[54]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V57*/ meltfptr[56] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:2967:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("CPPIF incompatible else type :"), (melt_ptr_t) ( /*_.NAMED_NAME__V57*/ meltfptr[56])); } ; MELT_LOCATION ("warmelt-normal.melt:2963:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2962:/ clear"); /*clear *//*_.NAMED_NAME__V56*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V57*/ meltfptr[56] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:2970:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V59*/ meltfptr[56] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[14])), (melt_ptr_t) (( /*!konst_15_IFCPP_ */ meltfrout-> tabval[15])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2971:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[16])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V61*/ meltfptr[60] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V61*/ meltfptr[60])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V61*/ meltfptr[60]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V61*/ meltfptr[60])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V61*/ meltfptr[60]), (2), ( /*_.CTYPIF__V19*/ meltfptr[18]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V61*/ meltfptr[60])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V61*/ meltfptr[60]), (1), ( /*_.CSYM__V59*/ meltfptr[56]), "NOCC_SYMB"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V61*/ meltfptr[60], "newly made instance"); ; /*_.CLOCC__V60*/ meltfptr[59] = /*_.INST__V61*/ meltfptr[60];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2975:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDTHEN__V24*/ meltfptr[23]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*_.WTHEN__V62*/ meltfptr[61] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LET1 */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.NTHEN__V23*/ meltfptr[22]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2976:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDELSE__V42*/ meltfptr[41]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*_.WELSE__V63*/ meltfptr[62] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LET1 */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.NELSE__V41*/ meltfptr[40]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2982:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CPPIF */ meltfrout->tabval[19])), (5), "CLASS_NREP_CPPIF"); /*_.INST__V65*/ meltfptr[64] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIFP_COND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (1), ( /*_.SCOND__V18*/ meltfptr[17]), "NIFP_COND"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIFP_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (2), ( /*_.WTHEN__V62*/ meltfptr[61]), "NIFP_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIFP_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (3), ( /*_.WELSE__V63*/ meltfptr[62]), "NIFP_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIFP_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (4), ( /*_.CTYPIF__V19*/ meltfptr[18]), "NIFP_CTYP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V65*/ meltfptr[64], "newly made instance"); ; /*_.INST___V64*/ meltfptr[63] = /*_.INST__V65*/ meltfptr[64];; MELT_LOCATION ("warmelt-normal.melt:2977:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[18])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V67*/ meltfptr[66] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (0), ( /*_.CSYM__V59*/ meltfptr[56]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (1), ( /*_.CTYPIF__V19*/ meltfptr[18]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V67*/ meltfptr[66])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V67*/ meltfptr[66]), (2), ( /*_.INST___V64*/ meltfptr[63]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V67*/ meltfptr[66], "newly made instance"); ; /*_.CBIND__V66*/ meltfptr[65] = /*_.INST__V67*/ meltfptr[66];; /*^compute */ /*_.NBINDRES__V68*/ meltfptr[67] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[20]))));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2991:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V60*/ meltfptr[59]), (3), ( /*_.CBIND__V66*/ meltfptr[65]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.CLOCC__V60*/ meltfptr[59]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CLOCC__V60*/ meltfptr[59], "put-fields"); ; { MELT_LOCATION ("warmelt-normal.melt:2992:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDRES__V68*/ meltfptr[67]), (melt_ptr_t) ( /*_.CBIND__V66*/ meltfptr[65])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:2993:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L18*/ 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:2993:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[14] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2993:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2993; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_cppif result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V60*/ meltfptr[59]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindres="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDRES__V68*/ meltfptr[67]; /*_.MELT_DEBUG_FUN__V71*/ 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V70*/ meltfptr[69] = /*_.MELT_DEBUG_FUN__V71*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2993:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L19*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V71*/ meltfptr[70] = 0; } ; } else { /*^cond.else */ /*_.IF___V70*/ meltfptr[69] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:2993:/ quasiblock"); /*_.PROGN___V72*/ meltfptr[70] = /*_.IF___V70*/ meltfptr[69];; /*^compute */ /*_.IFCPP___V69*/ meltfptr[68] = /*_.PROGN___V72*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:2993:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V70*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.PROGN___V72*/ meltfptr[70] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V69*/ meltfptr[68] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2994:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V60*/ meltfptr[59];; MELT_LOCATION ("warmelt-normal.melt:2994:/ 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) ( /*_.NBINDRES__V68*/ meltfptr[67]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V58*/ meltfptr[55] = /*_.RETURN___V73*/ meltfptr[69];; MELT_LOCATION ("warmelt-normal.melt:2970:/ clear"); /*clear *//*_.CSYM__V59*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.CLOCC__V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.WTHEN__V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.WELSE__V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.INST___V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.CBIND__V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.NBINDRES__V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.IFCPP___V69*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.RETURN___V73*/ meltfptr[69] = 0; /*_.LET___V54*/ meltfptr[53] = /*_.LET___V58*/ meltfptr[55];; MELT_LOCATION ("warmelt-normal.melt:2961:/ clear"); /*clear *//*_.CTYPELSE__V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_#__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#IF___L14*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.LET___V58*/ meltfptr[55] = 0; /*_.LET___V49*/ meltfptr[44] = /*_.LET___V54*/ meltfptr[53];; MELT_LOCATION ("warmelt-normal.melt:2957:/ clear"); /*clear *//*_.NEWELSEENV__V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.LAMBDA___V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.LIST_EVERY__V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.LET___V54*/ meltfptr[53] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V40*/ meltfptr[38] = /*_.LET___V49*/ meltfptr[44];; MELT_LOCATION ("warmelt-normal.melt:2952:/ clear"); /*clear *//*_.IFCPP___V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.IFCPP___V47*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.LET___V49*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.NBINDELSE__V42*/ meltfptr[41] = 0; /*_.LET___V31*/ meltfptr[26] = /*_.MULTI___V40*/ meltfptr[38];; MELT_LOCATION ("warmelt-normal.melt:2944:/ clear"); /*clear *//*_.NEWTHENENV__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.LAMBDA___V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.LIST_EVERY__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.SETQ___V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.MULTI___V40*/ meltfptr[38] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V22*/ meltfptr[21] = /*_.LET___V31*/ meltfptr[26];; MELT_LOCATION ("warmelt-normal.melt:2939:/ clear"); /*clear *//*_.IFCPP___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.LET___V31*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.NBINDTHEN__V24*/ meltfptr[23] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V22*/ meltfptr[21];; MELT_LOCATION ("warmelt-normal.melt:2932:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SCOND__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.CTYPIF__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.STHEN__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.SELSE__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.MULTI___V22*/ meltfptr[21] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:2927:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:2927:/ 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_CPPIF", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_58_warmelt_normal_NORMEXP_CPPIF_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_58_warmelt_normal_NORMEXP_CPPIF */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_59_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_) { long current_blocklevel_signals_meltrout_59_warmelt_normal_LAMBDA___17___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_59_warmelt_normal_LAMBDA___17___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_59_warmelt_normal_LAMBDA___17__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_59_warmelt_normal_LAMBDA___17___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_59_warmelt_normal_LAMBDA___17__ nbval 3*/ meltfram__.mcfr_nbvar = 3 /*nbval */ ; 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:2947:/ getarg"); /*_.B__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.B__V2*/ meltfptr[1]; /*_.PUT_ENV__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[0])), (melt_ptr_t) (( /*~NEWTHENENV */ meltfclos->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.PUT_ENV__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normal.melt:2947:/ 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_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_59_warmelt_normal_LAMBDA___17___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_59_warmelt_normal_LAMBDA___17__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_60_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_) { long current_blocklevel_signals_meltrout_60_warmelt_normal_LAMBDA___18___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_60_warmelt_normal_LAMBDA___18___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_60_warmelt_normal_LAMBDA___18__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_60_warmelt_normal_LAMBDA___18___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_60_warmelt_normal_LAMBDA___18__ nbval 3*/ meltfram__.mcfr_nbvar = 3 /*nbval */ ; 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:2960:/ getarg"); /*_.B__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.B__V2*/ meltfptr[1]; /*_.PUT_ENV__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[0])), (melt_ptr_t) (( /*~NEWELSEENV */ meltfclos->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.PUT_ENV__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normal.melt:2960:/ 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_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_60_warmelt_normal_LAMBDA___18___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_60_warmelt_normal_LAMBDA___18__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_61_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_) { long current_blocklevel_signals_meltrout_61_warmelt_normal_NORMEXP_OR_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_61_warmelt_normal_NORMEXP_OR_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 39 melt_ptr_t mcfr_varptr[39]; #define MELTFRAM_NBVARNUM 10 long mcfr_varnum[10]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_61_warmelt_normal_NORMEXP_OR is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_61_warmelt_normal_NORMEXP_OR_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 39; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_61_warmelt_normal_NORMEXP_OR nbval 39*/ meltfram__.mcfr_nbvar = 39 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_OR", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3001:/ 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:3002:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_OR */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3002:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3002:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check or recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3002) ? (3002) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3002:/ 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:3003:/ cppif.then"); /*^block */ /*anyblock */ { 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:3003:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3003:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3003) ? (3003) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3003:/ 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:3004:/ cppif.then"); /*^block */ /*anyblock */ { 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:3004:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3004:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3004) ? (3004) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3004:/ 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:3005:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3005:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3005:/ 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 = 3005; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_or 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:3005:/ 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:3005:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3005:/ 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:3006:/ quasiblock"); /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; /*^compute */ /*_.BOXORCOUNT__V17*/ meltfptr[13] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_INTEGER */ meltfrout->tabval[4])), ( /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[4])));; MELT_LOCATION ("warmelt-normal.melt:3008:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3009:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SOR_DISJ"); /*_.SDISJ__V19*/ meltfptr[18] = slot; }; ; /*_#NBDISJ__L7*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.SDISJ__V19*/ meltfptr[18])));; /*^compute */ /*_#IX__L8*/ meltfnum[7] = (( /*_#NBDISJ__L7*/ meltfnum[0]) - (1));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3012:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5])), (1), "CLASS_REFERENCE"); /*_.INST__V21*/ meltfptr[20] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V21*/ meltfptr[20])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V21*/ meltfptr[20]), (0), (( /*nil */ NULL)), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V21*/ meltfptr[20], "newly made instance"); ; /*_.NORCONT__V20*/ meltfptr[19] = /*_.INST__V21*/ meltfptr[20];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_.MAKE_LIST__V22*/ meltfptr[21] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[6]))));; MELT_LOCATION ("warmelt-normal.melt:3013:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5])), (1), "CLASS_REFERENCE"); /*_.INST__V24*/ meltfptr[23] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V24*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V24*/ meltfptr[23]), (0), ( /*_.MAKE_LIST__V22*/ meltfptr[21]), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V24*/ meltfptr[23], "newly made instance"); ; /*_.NBINDORCONT__V23*/ meltfptr[22] = /*_.INST__V24*/ meltfptr[23];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3014:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5])), (1), "CLASS_REFERENCE"); /*_.INST__V26*/ meltfptr[25] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V26*/ meltfptr[25]), (0), (( /*!CTYPE_VOID */ meltfrout->tabval[7])), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V26*/ meltfptr[25], "newly made instance"); ; /*_.CTYPORCONT__V25*/ meltfptr[24] = /*_.INST__V26*/ meltfptr[25];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3015:/ apply"); /*apply */ { /*_.NEWENV__V27*/ meltfptr[26] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[8])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3019:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V29*/ meltfptr[28] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_24 */ meltfrout-> tabval[24])), (8)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])->tabval[0] = (melt_ptr_t) ( /*_.BOXORCOUNT__V17*/ meltfptr[13]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])->tabval[1] = (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])->tabval[2] = (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 3 >= 0 && 3 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])->tabval[3] = (melt_ptr_t) ( /*_.SLOC__V18*/ meltfptr[17]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 4 >= 0 && 4 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])->tabval[4] = (melt_ptr_t) ( /*_.NEWENV__V27*/ meltfptr[26]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 5 >= 0 && 5 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])->tabval[5] = (melt_ptr_t) ( /*_.NORCONT__V20*/ meltfptr[19]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 6 >= 0 && 6 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])->tabval[6] = (melt_ptr_t) ( /*_.NBINDORCONT__V23*/ meltfptr[22]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 7 >= 0 && 7 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V29*/ meltfptr[28]))); ((meltclosure_ptr_t) /*_.LAMBDA___V29*/ meltfptr[28])->tabval[7] = (melt_ptr_t) ( /*_.CTYPORCONT__V25*/ meltfptr[24]); ; /*_.LAMBDA___V28*/ meltfptr[27] = /*_.LAMBDA___V29*/ meltfptr[28];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3017:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V28*/ meltfptr[27]; /*_.MULTIPLE_BACKWARD_EVERY__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_BACKWARD_EVERY */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.SDISJ__V19*/ meltfptr[18]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3075:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3075:/ 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:3075:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NORCONT__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NORCONT__V20*/ meltfptr[19]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V33*/ meltfptr[32] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V33*/ meltfptr[32] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3075:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NBINDORCONT__V23*/ meltfptr[22]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NBINDORCONT__V23*/ meltfptr[22]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V34*/ meltfptr[33] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V34*/ meltfptr[33] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3075:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 3075; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_or result nor="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.REFERENCED_VALUE__V33*/ meltfptr[32]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindor="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.REFERENCED_VALUE__V34*/ meltfptr[33]; /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = 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___V32*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3075:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[31] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3075:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[30] = /*_.PROGN___V36*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3075:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V36*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3076:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NORCONT__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NORCONT__V20*/ meltfptr[19]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V37*/ meltfptr[33] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V37*/ meltfptr[33] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3076:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NBINDORCONT__V23*/ meltfptr[22]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NBINDORCONT__V23*/ meltfptr[22]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V38*/ meltfptr[34] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V38*/ meltfptr[34] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3076:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.REFERENCED_VALUE__V37*/ meltfptr[33];; MELT_LOCATION ("warmelt-normal.melt:3076:/ 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) ( /*_.REFERENCED_VALUE__V38*/ meltfptr[34]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V16*/ meltfptr[12] = /*_.RETURN___V39*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:3006:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.BOXORCOUNT__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SLOC__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SDISJ__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_#NBDISJ__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#IX__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.NORCONT__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NBINDORCONT__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.CTYPORCONT__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.NEWENV__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.LAMBDA___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.MULTIPLE_BACKWARD_EVERY__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V37*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V38*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.RETURN___V39*/ meltfptr[31] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3001:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3001:/ 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_OR", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_61_warmelt_normal_NORMEXP_OR_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_61_warmelt_normal_NORMEXP_OR */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_62_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_) { long current_blocklevel_signals_meltrout_62_warmelt_normal_LAMBDA___19___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_62_warmelt_normal_LAMBDA___19___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 40 melt_ptr_t mcfr_varptr[40]; #define MELTFRAM_NBVARNUM 10 long mcfr_varnum[10]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_62_warmelt_normal_LAMBDA___19__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_62_warmelt_normal_LAMBDA___19___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_62_warmelt_normal_LAMBDA___19__ nbval 40*/ meltfram__.mcfr_nbvar = 40 /*nbval */ ; 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:3019:/ getarg"); /*_.SCUR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#SIX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3020:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3020:/ 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 */ ;; /*^compute */ /*_#GET_INT__L4*/ meltfnum[3] = (melt_get_int ((melt_ptr_t) (( /*~BOXORCOUNT */ meltfclos->tabval[0]))));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3020:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3020; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp scur="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SCUR__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = "call#"; /*^apply.arg */ argtab[6].meltbp_long = /*_#GET_INT__L4*/ meltfnum[3]; /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3020:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_#GET_INT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3020:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3020:/ clear"); /*clear *//*_#MELT_NEED_DBG__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3021:/ 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 *) & ( /*~SLOC */ meltfclos->tabval[3]); /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V9*/ meltfptr[8]; /*^multimsend.send */ /*_.NCUR__V8*/ meltfptr[4] = meltgc_send ((melt_ptr_t) ( /*_.SCUR__V2*/ meltfptr[1]), ((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:3024:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[2] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:3024:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; /*^compute */ /*_#GET_INT__L7*/ meltfnum[1] = (melt_get_int ((melt_ptr_t) (( /*~BOXORCOUNT */ meltfclos->tabval[0]))));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3024:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3024; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp ncur="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCUR__V8*/ meltfptr[4]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V9*/ meltfptr[8]; /*^apply.arg */ argtab[7].meltbp_cstring = " call#"; /*^apply.arg */ argtab[8].meltbp_long = /*_#GET_INT__L7*/ meltfnum[1]; /*_.MELT_DEBUG_FUN__V12*/ meltfptr[11] = 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_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V11*/ meltfptr[10] = /*_.MELT_DEBUG_FUN__V12*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3024:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_#GET_INT__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V12*/ meltfptr[11] = 0; } ; } else { /*^cond.else */ /*_.IF___V11*/ meltfptr[10] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3024:/ quasiblock"); /*_.PROGN___V13*/ meltfptr[11] = /*_.IF___V11*/ meltfptr[10];; /*^compute */ /*_.IFCPP___V10*/ meltfptr[9] = /*_.PROGN___V13*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3024:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IF___V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.PROGN___V13*/ meltfptr[11] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3026:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V15*/ meltfptr[11] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_4 */ meltfrout-> tabval[4])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V15*/ meltfptr[11])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V15*/ meltfptr[11]))); ((meltclosure_ptr_t) /*_.LAMBDA___V15*/ meltfptr[11])->tabval[0] = (melt_ptr_t) (( /*~NEWENV */ meltfclos->tabval[4])); ; /*_.LAMBDA___V14*/ meltfptr[10] = /*_.LAMBDA___V15*/ meltfptr[11];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3025:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V14*/ meltfptr[10]; /*_.LIST_EVERY__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_EVERY */ meltfrout->tabval[2])), (melt_ptr_t) ( /*_.NCUR__V8*/ meltfptr[4]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3027:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NORCONT */ meltfclos-> tabval[5])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~NORCONT */ meltfclos->tabval[5])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V17*/ meltfptr[16] = NULL;; } ; /*^compute */ /*_#NULL__L8*/ meltfnum[3] = (( /*_.REFERENCED_VALUE__V17*/ meltfptr[16]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:3027:/ cond"); /*cond */ if ( /*_#NULL__L8*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3029:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NBINDORCONT */ meltfclos-> tabval[6])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*~NBINDORCONT */ meltfclos->tabval[6]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~NBINDORCONT */ meltfclos-> tabval[6])), (0), ( /*_.NBIND__V9*/ meltfptr[8]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*~NBINDORCONT */ meltfclos->tabval[6])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~NBINDORCONT */ meltfclos-> tabval[6]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3030:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NORCONT */ meltfclos-> tabval[5])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*~NORCONT */ meltfclos-> tabval[5]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~NORCONT */ meltfclos->tabval[5])), (0), ( /*_.NCUR__V8*/ meltfptr[4]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*~NORCONT */ meltfclos->tabval[5])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~NORCONT */ meltfclos-> tabval[5]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3031:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~NEWENV */ meltfclos->tabval[4]); /*_.GET_CTYPE__V19*/ meltfptr[18] = meltgc_send ((melt_ptr_t) ( /*_.NCUR__V8*/ meltfptr[4]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[6])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~CTYPORCONT */ meltfclos-> tabval[7])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*~CTYPORCONT */ meltfclos->tabval[7]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~CTYPORCONT */ meltfclos-> tabval[7])), (0), ( /*_.GET_CTYPE__V19*/ meltfptr[18]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*~CTYPORCONT */ meltfclos->tabval[7])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~CTYPORCONT */ meltfclos-> tabval[7]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:3028:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[19] = ( /*nil */ NULL);; /*^compute */ /*_.IFELSE___V18*/ meltfptr[17] = /*_.PROGN___V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3027:/ clear"); /*clear *//*_.GET_CTYPE__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.PROGN___V20*/ meltfptr[19] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3034:/ quasiblock"); 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 */ meltfclos->tabval[4]); /*_.CTYPCUR__V22*/ meltfptr[19] = meltgc_send ((melt_ptr_t) ( /*_.NCUR__V8*/ meltfptr[4]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[6])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3036:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.CTYPCUR__V22*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:3036:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V24*/ meltfptr[23] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3036:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctypcur"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3036) ? (3036) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.IFELSE___V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3036:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3037:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~CTYPORCONT */ meltfclos-> tabval[7])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~CTYPORCONT */ meltfclos-> tabval[7])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V25*/ meltfptr[23] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V25*/ meltfptr[23] = NULL;; } ; /*^compute */ /*_#__L10*/ meltfnum[2] = (( /*_.CTYPCUR__V22*/ meltfptr[19]) != ( /*_.REFERENCED_VALUE__V25*/ meltfptr[23]));; MELT_LOCATION ("warmelt-normal.melt:3037:/ cond"); /*cond */ if ( /*_#__L10*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:3038:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) (( /*~SLOC */ meltfclos->tabval[3])), ("disjuncts\' type mismatch in OR | COND"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:3039:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3046:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NORCONT */ meltfclos-> tabval[5])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~NORCONT */ meltfclos-> tabval[5])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V27*/ meltfptr[26] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3046:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NBINDORCONT */ meltfclos-> tabval[6])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~NBINDORCONT */ meltfclos-> tabval[6])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V28*/ meltfptr[27] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V28*/ meltfptr[27] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3046:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.REFERENCED_VALUE__V28*/ meltfptr[27]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & ( /*~SLOC */ meltfclos->tabval[3]); /*_.WRAP_NORMAL_LET1__V29*/ meltfptr[28] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LET1 */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.REFERENCED_VALUE__V27*/ meltfptr[26]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3041:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_IF */ meltfrout->tabval[8])), (5), "CLASS_NREP_IF"); /*_.INST__V31*/ meltfptr[30] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (0), (( /*~SLOC */ meltfclos->tabval[3])), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_TEST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (4), ( /*_.NCUR__V8*/ meltfptr[4]), "NIF_TEST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (2), ( /*_.NCUR__V8*/ meltfptr[4]), "NIF_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (3), ( /*_.WRAP_NORMAL_LET1__V29*/ meltfptr[28]), "NIF_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[30]), (1), ( /*_.CTYPCUR__V22*/ meltfptr[19]), "NEXPR_CTYP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V31*/ meltfptr[30], "newly made instance"); ; /*_.NIFOR__V30*/ meltfptr[29] = /*_.INST__V31*/ meltfptr[30];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3050:/ apply"); /*apply */ { /*_.CSYMOR__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[10])), (melt_ptr_t) (( /*!konst_11_OR_ */ meltfrout-> tabval[11])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3051:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[12])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V34*/ meltfptr[33] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (0), ( /*_.CSYMOR__V32*/ meltfptr[31]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (3), (( /*~SLOC */ meltfclos->tabval[3])), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (1), ( /*_.CTYPCUR__V22*/ meltfptr[19]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (2), ( /*_.NIFOR__V30*/ meltfptr[29]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V34*/ meltfptr[33], "newly made instance"); ; /*_.CORBIND__V33*/ meltfptr[32] = /*_.INST__V34*/ meltfptr[33];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3057:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[13])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V36*/ meltfptr[35] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (0), (( /*~SLOC */ meltfclos->tabval[3])), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (2), ( /*_.CTYPCUR__V22*/ meltfptr[19]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (1), ( /*_.CSYMOR__V32*/ meltfptr[31]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (3), ( /*_.CORBIND__V33*/ meltfptr[32]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V36*/ meltfptr[35], "newly made instance"); ; /*_.COROCC__V35*/ meltfptr[34] = /*_.INST__V36*/ meltfptr[35];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_.MAKE_LIST__V37*/ meltfptr[36] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[14]))));; MELT_LOCATION ("warmelt-normal.melt:3064:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NBINDORCONT */ meltfclos-> tabval[6])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*~NBINDORCONT */ meltfclos->tabval[6]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~NBINDORCONT */ meltfclos-> tabval[6])), (0), ( /*_.MAKE_LIST__V37*/ meltfptr[36]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*~NBINDORCONT */ meltfclos->tabval[6])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~NBINDORCONT */ meltfclos-> tabval[6]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:3065:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NBINDORCONT */ meltfclos-> tabval[6])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~NBINDORCONT */ meltfclos-> tabval[6])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V38*/ meltfptr[37] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V38*/ meltfptr[37] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3065:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V9*/ meltfptr[8]; /*_.LIST_APPEND2LIST__V39*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[15])), (melt_ptr_t) ( /*_.REFERENCED_VALUE__V38*/ meltfptr[37]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3066:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NBINDORCONT */ meltfclos-> tabval[6])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~NBINDORCONT */ meltfclos-> tabval[6])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V40*/ meltfptr[39] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V40*/ meltfptr[39] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3066:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.REFERENCED_VALUE__V40*/ meltfptr[39]), (melt_ptr_t) ( /*_.CORBIND__V33*/ meltfptr[32])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3067:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NORCONT */ meltfclos-> tabval[5])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*~NORCONT */ meltfclos-> tabval[5]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~NORCONT */ meltfclos->tabval[5])), (0), ( /*_.COROCC__V35*/ meltfptr[34]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*~NORCONT */ meltfclos->tabval[5])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~NORCONT */ meltfclos-> tabval[5]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; /*_.LET___V26*/ meltfptr[25] = ( /*nil */ NULL);; MELT_LOCATION ("warmelt-normal.melt:3039:/ clear"); /*clear *//*_.REFERENCED_VALUE__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.WRAP_NORMAL_LET1__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.NIFOR__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.CSYMOR__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CORBIND__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.COROCC__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V40*/ meltfptr[39] = 0; /*_.LET___V21*/ meltfptr[18] = /*_.LET___V26*/ meltfptr[25];; MELT_LOCATION ("warmelt-normal.melt:3034:/ clear"); /*clear *//*_.CTYPCUR__V22*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#__L10*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.LET___V26*/ meltfptr[25] = 0; /*_.IFELSE___V18*/ meltfptr[17] = /*_.LET___V21*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3027:/ clear"); /*clear *//*_.LET___V21*/ meltfptr[18] = 0; } ; } ; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V7*/ meltfptr[3] = /*_.IFELSE___V18*/ meltfptr[17];; MELT_LOCATION ("warmelt-normal.melt:3021:/ clear"); /*clear *//*_.IFCPP___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.LAMBDA___V14*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.LIST_EVERY__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_#NULL__L8*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.NBIND__V9*/ meltfptr[8] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3019:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.MULTI___V7*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normal.melt:3019:/ 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 *//*_.MULTI___V7*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_62_warmelt_normal_LAMBDA___19___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_62_warmelt_normal_LAMBDA___19__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_63_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_) { long current_blocklevel_signals_meltrout_63_warmelt_normal_LAMBDA___20___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_63_warmelt_normal_LAMBDA___20___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_63_warmelt_normal_LAMBDA___20__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_63_warmelt_normal_LAMBDA___20___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_63_warmelt_normal_LAMBDA___20__ nbval 3*/ meltfram__.mcfr_nbvar = 3 /*nbval */ ; 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:3026:/ getarg"); /*_.BND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { 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); } ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.PUT_ENV__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normal.melt:3026:/ 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_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_63_warmelt_normal_LAMBDA___20___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_63_warmelt_normal_LAMBDA___20__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_64_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_) { long current_blocklevel_signals_meltrout_64_warmelt_normal_NORMEXP_PROGN_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_64_warmelt_normal_NORMEXP_PROGN_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 64 melt_ptr_t mcfr_varptr[64]; #define MELTFRAM_NBVARNUM 23 long mcfr_varnum[23]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_64_warmelt_normal_NORMEXP_PROGN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_64_warmelt_normal_NORMEXP_PROGN_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 64; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_64_warmelt_normal_NORMEXP_PROGN nbval 64*/ meltfram__.mcfr_nbvar = 64 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_PROGN", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3084:/ 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:3085:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PROGN */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3085:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3085:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check progn recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3085) ? (3085) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3085:/ 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:3086:/ cppif.then"); /*^block */ /*anyblock */ { 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:3086:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3086:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3086) ? (3086) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3086:/ 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:3087:/ cppif.then"); /*^block */ /*anyblock */ { 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:3087:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3087:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3087) ? (3087) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3087:/ 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:3088:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3088:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3088:/ 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 = 3088; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_progn 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:3088:/ 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:3088:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3088:/ 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:3089:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3090:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SPROGN_BODY"); /*_.SBODY__V18*/ meltfptr[17] = slot; }; ; /*_#LNBODY__L6*/ meltfnum[4] = (melt_multiple_length ((melt_ptr_t) ( /*_.SBODY__V18*/ meltfptr[17])));; /*^compute */ /*_.BOXLNBODY__V19*/ meltfptr[18] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_INTEGER */ meltfrout->tabval[4])), ( /*_#LNBODY__L6*/ meltfnum[4])));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#I__L7*/ meltfnum[0] = (( /*_#LNBODY__L6*/ meltfnum[4]) <= (0));; MELT_LOCATION ("warmelt-normal.melt:3094:/ cond"); /*cond */ if ( /*_#I__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3095:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_NIL */ meltfrout->tabval[5])), (1), "CLASS_NREP_NIL"); /*_.INST__V23*/ meltfptr[22] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V23*/ meltfptr[22], "newly made instance"); ; /*_.ONULL__V22*/ meltfptr[21] = /*_.INST__V23*/ meltfptr[22];; { MELT_LOCATION ("warmelt-normal.melt:3096:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("empty PROGN"), (melt_ptr_t) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3097:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:3097:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3097:/ 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 = 3097; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_progn return empty onull"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.ONULL__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V26*/ meltfptr[25] = 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___V25*/ meltfptr[24] = /*_.MELT_DEBUG_FUN__V26*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3097:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V26*/ meltfptr[25] = 0; } ; } else { /*^cond.else */ /*_.IF___V25*/ meltfptr[24] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3097:/ quasiblock"); /*_.PROGN___V27*/ meltfptr[25] = /*_.IF___V25*/ meltfptr[24];; /*^compute */ /*_.IFCPP___V24*/ meltfptr[23] = /*_.PROGN___V27*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3097:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[7] = 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 */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3098:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.ONULL__V22*/ meltfptr[21];; { MELT_LOCATION ("warmelt-normal.melt:3098:/ 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___V21*/ meltfptr[20] = /*_.RETURN___V28*/ meltfptr[24];; MELT_LOCATION ("warmelt-normal.melt:3095:/ clear"); /*clear *//*_.ONULL__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.IFCPP___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.RETURN___V28*/ meltfptr[24] = 0; /*_.IF___V20*/ meltfptr[19] = /*_.LET___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3094:/ clear"); /*clear *//*_.LET___V21*/ meltfptr[20] = 0; } ; } else { /*^cond.else */ /*_.IF___V20*/ meltfptr[19] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3099:/ 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 *) & /*_.NBIND__V31*/ meltfptr[23]; /*^multiapply.appl */ /*_.NBODY__V30*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[6])), (melt_ptr_t) ( /*_.SBODY__V18*/ meltfptr[17]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3102:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3102:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3102:/ 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 = 3102; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_progn nbody="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBODY__V30*/ meltfptr[21]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V31*/ meltfptr[23]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V33*/ meltfptr[20] = /*_.MELT_DEBUG_FUN__V34*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3102:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V34*/ meltfptr[33] = 0; } ; } else { /*^cond.else */ /*_.IF___V33*/ meltfptr[20] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3102:/ quasiblock"); /*_.PROGN___V35*/ meltfptr[33] = /*_.IF___V33*/ meltfptr[20];; /*^compute */ /*_.IFCPP___V32*/ meltfptr[24] = /*_.PROGN___V35*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3102:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V33*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.PROGN___V35*/ meltfptr[33] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V32*/ meltfptr[24] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3103:/ quasiblock"); /*_.NLAST__V37*/ meltfptr[33] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NBODY__V30*/ meltfptr[21]), (-1)));; /*^compute */ /*_#LENBODY__L12*/ meltfnum[7] = (melt_multiple_length ((melt_ptr_t) ( /*_.NBODY__V30*/ meltfptr[21])));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#I__L13*/ meltfnum[8] = (( /*_#LENBODY__L12*/ meltfnum[7]) > (0));; MELT_LOCATION ("warmelt-normal.melt:3105:/ cond"); /*cond */ if ( /*_#I__L13*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#I__L14*/ meltfnum[13] = (( /*_#LENBODY__L12*/ meltfnum[7]) - (1));; /*^compute */ /*_.MAKE_MULTIPLE__V39*/ meltfptr[38] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[7])), ( /*_#I__L14*/ meltfnum[13])));; /*^compute */ /*_.NALLBUTLAST__V38*/ meltfptr[37] = /*_.MAKE_MULTIPLE__V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3105:/ clear"); /*clear *//*_#I__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MAKE_MULTIPLE__V39*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.NALLBUTLAST__V38*/ meltfptr[37] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3108:/ quasiblock"); /*_#IX__L15*/ meltfnum[13] = (( /*_#LENBODY__L12*/ meltfnum[7]) - (1));; MELT_LOCATION ("warmelt-normal.melt:3109:/ loop"); /*loop */ { labloop_BODYLOOP_1:; /*^loopbody */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*_#I__L16*/ meltfnum[15] = (( /*_#IX__L15*/ meltfnum[13]) < (0));; MELT_LOCATION ("warmelt-normal.melt:3110:/ cond"); /*cond */ if ( /*_#I__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^quasiblock */ /*^compute */ /*_.BODYLOOP__V42*/ meltfptr[41] = NULL;; /*^exit */ /*exit */ { goto labexit_BODYLOOP_1; } ; /*epilog */ } ; } /*noelse */ ; /*_.MULTIPLE_NTH__V43*/ meltfptr[42] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NBODY__V30*/ meltfptr[21]), ( /*_#IX__L15*/ meltfnum[13])));; { MELT_LOCATION ("warmelt-normal.melt:3111:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.NALLBUTLAST__V38*/ meltfptr[37]), ( /*_#IX__L15*/ meltfnum[13]), (melt_ptr_t) ( /*_.MULTIPLE_NTH__V43*/ meltfptr[42])); } ; /*_#I__L17*/ meltfnum[16] = (( /*_#IX__L15*/ meltfnum[13]) - (1));; MELT_LOCATION ("warmelt-normal.melt:3112:/ compute"); /*_#IX__L15*/ meltfnum[13] = /*_#SETQ___L18*/ meltfnum[17] = /*_#I__L17*/ meltfnum[16];; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3109:/ clear"); /*clear *//*_#I__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.MULTIPLE_NTH__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_#I__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_#SETQ___L18*/ meltfnum[17] = 0; } ; ; goto labloop_BODYLOOP_1; labexit_BODYLOOP_1:; /*^loopepilog */ /*loopepilog */ /*_.FOREVER___V41*/ meltfptr[40] = /*_.BODYLOOP__V42*/ meltfptr[41];; } ; /*^compute */ /*_.LET___V40*/ meltfptr[38] = /*_.FOREVER___V41*/ meltfptr[40];; MELT_LOCATION ("warmelt-normal.melt:3108:/ clear"); /*clear *//*_#IX__L15*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.FOREVER___V41*/ meltfptr[40] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3113:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ 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:3113:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3113:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3113; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_progn nallbutlast"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NALLBUTLAST__V38*/ meltfptr[37]; /*_.MELT_DEBUG_FUN__V46*/ meltfptr[45] = 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___V45*/ meltfptr[40] = /*_.MELT_DEBUG_FUN__V46*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3113:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V46*/ meltfptr[45] = 0; } ; } else { /*^cond.else */ /*_.IF___V45*/ meltfptr[40] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3113:/ quasiblock"); /*_.PROGN___V47*/ meltfptr[45] = /*_.IF___V45*/ meltfptr[40];; /*^compute */ /*_.IFCPP___V44*/ meltfptr[42] = /*_.PROGN___V47*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3113:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IF___V45*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.PROGN___V47*/ meltfptr[45] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V44*/ meltfptr[42] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L21*/ meltfnum[17] = (( /*_.NBIND__V31*/ meltfptr[23]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:3114:/ cond"); /*cond */ if ( /*_#NULL__L21*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_LIST__V49*/ meltfptr[45] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; MELT_LOCATION ("warmelt-normal.melt:3114:/ compute"); /*_.NBIND__V31*/ meltfptr[23] = /*_.SETQ___V50*/ meltfptr[49] = /*_.MAKE_LIST__V49*/ meltfptr[45];; /*_.IF___V48*/ meltfptr[40] = /*_.SETQ___V50*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3114:/ clear"); /*clear *//*_.MAKE_LIST__V49*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.SETQ___V50*/ meltfptr[49] = 0; } ; } else { /*^cond.else */ /*_.IF___V48*/ meltfptr[40] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3115:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3116:/ apply"); /*apply */ { /*_.CSYM__V52*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[9])), (melt_ptr_t) (( /*!konst_10_PROGN_ */ meltfrout-> tabval[10])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3117:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*_.LASTCTYP__V53*/ meltfptr[52] = meltgc_send ((melt_ptr_t) ( /*_.NLAST__V37*/ meltfptr[33]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[11])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3122:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_PROGN */ meltfrout->tabval[13])), (3), "CLASS_NREP_PROGN"); /*_.INST__V55*/ meltfptr[54] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V55*/ meltfptr[54])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V55*/ meltfptr[54]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPROGN_SEQ", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V55*/ meltfptr[54])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V55*/ meltfptr[54]), (1), ( /*_.NALLBUTLAST__V38*/ meltfptr[37]), "NPROGN_SEQ"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPROGN_LAST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V55*/ meltfptr[54])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V55*/ meltfptr[54]), (2), ( /*_.NLAST__V37*/ meltfptr[33]), "NPROGN_LAST"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V55*/ meltfptr[54], "newly made instance"); ; /*_.INST___V54*/ meltfptr[53] = /*_.INST__V55*/ meltfptr[54];; MELT_LOCATION ("warmelt-normal.melt:3118:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[12])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V57*/ meltfptr[56] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[56]), (0), ( /*_.CSYM__V52*/ meltfptr[49]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[56]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[56]), (1), ( /*_.LASTCTYP__V53*/ meltfptr[52]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[56]), (2), ( /*_.INST___V54*/ meltfptr[53]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V57*/ meltfptr[56], "newly made instance"); ; /*_.CBIND__V56*/ meltfptr[55] = /*_.INST__V57*/ meltfptr[56];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3126:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[14])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V59*/ meltfptr[58] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V59*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V59*/ meltfptr[58]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V59*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V59*/ meltfptr[58]), (2), ( /*_.LASTCTYP__V53*/ meltfptr[52]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V59*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V59*/ meltfptr[58]), (1), ( /*_.CSYM__V52*/ meltfptr[49]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V59*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V59*/ meltfptr[58]), (3), ( /*_.CBIND__V56*/ meltfptr[55]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V59*/ meltfptr[58], "newly made instance"); ; /*_.CLOCC__V58*/ meltfptr[57] = /*_.INST__V59*/ meltfptr[58];; { MELT_LOCATION ("warmelt-normal.melt:3132:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V31*/ meltfptr[23]), (melt_ptr_t) ( /*_.CBIND__V56*/ meltfptr[55])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3133:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L22*/ 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:3133:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L22*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L23*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3133:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L23*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3133; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_progn return clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V58*/ meltfptr[57]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V31*/ meltfptr[23]; /*_.MELT_DEBUG_FUN__V62*/ meltfptr[61] = 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___V61*/ meltfptr[60] = /*_.MELT_DEBUG_FUN__V62*/ meltfptr[61];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3133:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L23*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V62*/ meltfptr[61] = 0; } ; } else { /*^cond.else */ /*_.IF___V61*/ meltfptr[60] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3133:/ quasiblock"); /*_.PROGN___V63*/ meltfptr[61] = /*_.IF___V61*/ meltfptr[60];; /*^compute */ /*_.IFCPP___V60*/ meltfptr[59] = /*_.PROGN___V63*/ meltfptr[61];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3133:/ clear"); /*clear *//*_#MELT_NEED_DBG__L22*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.PROGN___V63*/ meltfptr[61] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V60*/ meltfptr[59] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3134:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V58*/ meltfptr[57];; MELT_LOCATION ("warmelt-normal.melt:3134:/ 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) ( /*_.NBIND__V31*/ meltfptr[23]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V51*/ meltfptr[45] = /*_.RETURN___V64*/ meltfptr[60];; MELT_LOCATION ("warmelt-normal.melt:3115:/ clear"); /*clear *//*_.CSYM__V52*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.LASTCTYP__V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.INST___V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.CBIND__V56*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.CLOCC__V58*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.IFCPP___V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.RETURN___V64*/ meltfptr[60] = 0; /*_.LET___V36*/ meltfptr[20] = /*_.LET___V51*/ meltfptr[45];; MELT_LOCATION ("warmelt-normal.melt:3103:/ clear"); /*clear *//*_.NLAST__V37*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_#LENBODY__L12*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_#I__L13*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.NALLBUTLAST__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.LET___V40*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.IFCPP___V44*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_#NULL__L21*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V48*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.LET___V51*/ meltfptr[45] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V29*/ meltfptr[25] = /*_.LET___V36*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:3099:/ clear"); /*clear *//*_.IFCPP___V32*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.LET___V36*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NBIND__V31*/ meltfptr[23] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V29*/ meltfptr[25];; MELT_LOCATION ("warmelt-normal.melt:3089:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SBODY__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#LNBODY__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.BOXLNBODY__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_#I__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.MULTI___V29*/ meltfptr[25] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3084:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3084:/ 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_PROGN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_64_warmelt_normal_NORMEXP_PROGN_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_64_warmelt_normal_NORMEXP_PROGN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_65_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_) { long current_blocklevel_signals_meltrout_65_warmelt_normal_LAMBDA___21___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_65_warmelt_normal_LAMBDA___21___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 5 melt_ptr_t mcfr_varptr[5]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_65_warmelt_normal_LAMBDA___21__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_65_warmelt_normal_LAMBDA___21___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 5; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_65_warmelt_normal_LAMBDA___21__ nbval 5*/ meltfram__.mcfr_nbvar = 5 /*nbval */ ; 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:3138:/ 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); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NPROGN_LAST"); /*_.NPROGN_LAST__V4*/ meltfptr[3] = slot; }; ; 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__V3*/ meltfptr[2]; /*_.GET_CTYPE__V5*/ meltfptr[4] = meltgc_send ((melt_ptr_t) ( /*_.NPROGN_LAST__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = /*_.GET_CTYPE__V5*/ meltfptr[4];; { MELT_LOCATION ("warmelt-normal.melt:3138:/ 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 *//*_.NPROGN_LAST__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V5*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_65_warmelt_normal_LAMBDA___21___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_65_warmelt_normal_LAMBDA___21__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_66_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_) { long current_blocklevel_signals_meltrout_66_warmelt_normal_NORMEXP_LET_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_66_warmelt_normal_NORMEXP_LET_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 109 melt_ptr_t mcfr_varptr[109]; #define MELTFRAM_NBVARNUM 25 long mcfr_varnum[25]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_66_warmelt_normal_NORMEXP_LET is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_66_warmelt_normal_NORMEXP_LET_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 109; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_66_warmelt_normal_NORMEXP_LET nbval 109*/ meltfram__.mcfr_nbvar = 109 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_LET", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3143:/ 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:3144:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_LET */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3144:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3144:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check let recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3144) ? (3144) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3144:/ 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:3145:/ cppif.then"); /*^block */ /*anyblock */ { 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:3145:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3145:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3145) ? (3145) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3145:/ 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:3146:/ cppif.then"); /*^block */ /*anyblock */ { 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:3146:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3146:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3146) ? (3146) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3146:/ 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:3147:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3147:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3147:/ 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 = 3147; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_let 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:3147:/ 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:3147:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3147:/ 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:3148:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3149:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SLET_BINDINGS"); /*_.SBINDINGS__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3150:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SLET_BODY"); /*_.SBODY__V19*/ meltfptr[18] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3151:/ apply"); /*apply */ { /*_.NEWENV__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; /*_.BINDLIST__V21*/ meltfptr[20] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[5]))));; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SBINDINGS__V18*/ meltfptr[17]); for ( /*_#SBIX__L6*/ meltfnum[4] = 0; ( /*_#SBIX__L6*/ meltfnum[4] >= 0) && ( /*_#SBIX__L6*/ meltfnum[4] < meltcit1__EACHTUP_ln); /*_#SBIX__L6*/ meltfnum[4]++) { /*_.SB__V22*/ meltfptr[21] = melt_multiple_nth ((melt_ptr_t) ( /*_.SBINDINGS__V18*/ meltfptr[17]), /*_#SBIX__L6*/ meltfnum[4]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3158:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3158:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3158:/ 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 = 3158; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_let sb="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SB__V22*/ meltfptr[21]; /*^apply.arg */ argtab[5].meltbp_cstring = " sbix="; /*^apply.arg */ argtab[6].meltbp_long = /*_#SBIX__L6*/ meltfnum[4]; /*_.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 MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V24*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3158:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = 0; } ; } else { /*^cond.else */ /*_.IF___V24*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3158:/ quasiblock"); /*_.PROGN___V26*/ meltfptr[24] = /*_.IF___V24*/ meltfptr[23];; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.PROGN___V26*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3158:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3159:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[7] = melt_is_instance_of ((melt_ptr_t) ( /*_.SB__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_SOURCE_LET_BINDING */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:3159:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_.IFELSE___V28*/ meltfptr[24] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3159:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sb"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3159) ? (3159) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V28*/ meltfptr[24] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V27*/ meltfptr[23] = /*_.IFELSE___V28*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3159:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V28*/ meltfptr[24] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V27*/ meltfptr[23] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3160:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SB__V22*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SBLOC__V30*/ meltfptr[29] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3161:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SB__V22*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SLETB_TYPE"); /*_.SBTYP__V31*/ meltfptr[30] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3162:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SB__V22*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SLETB_BINDER"); /*_.SBINDER__V32*/ meltfptr[31] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3163:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SB__V22*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "SLETB_EXPR"); /*_.SBEXPR__V33*/ meltfptr[32] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3165:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SBTYP__V31*/ meltfptr[30]), (melt_ptr_t) (( /*!CLASS_QUASI_CTYPE */ meltfrout->tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:3165:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V35*/ meltfptr[34] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3165:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sbtyp"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3165) ? (3165) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V35*/ meltfptr[34] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V34*/ meltfptr[33] = /*_.IFELSE___V35*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3165:/ clear"); /*clear *//*_#IS_A__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V35*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#HAS_EXTRA_WARNINGS__L11*/ meltfnum[7] = (extra_warnings);; MELT_LOCATION ("warmelt-normal.melt:3167:/ cond"); /*cond */ if ( /*_#HAS_EXTRA_WARNINGS__L11*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3169:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SBINDER__V32*/ meltfptr[31]; /*_.FIND_ENV__V36*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!FIND_ENV */ meltfrout->tabval[8])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3167:/ cond"); /*cond */ if ( /*_.FIND_ENV__V36*/ meltfptr[34]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3171:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SBINDER__V32*/ meltfptr[31]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SBINDER__V32*/ meltfptr[31]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V37*/ meltfptr[36] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V37*/ meltfptr[36] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3170:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SBLOC__V30*/ meltfptr[29]), ("this LET binding hides another one in enclosing scope - "), (melt_ptr_t) ( /*_.NAMED_NAME__V37*/ meltfptr[36])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3167:/ clear"); /*clear *//*_.NAMED_NAME__V37*/ meltfptr[36] = 0; } ; } /*noelse */ ; /*epilog */ /*^clear */ /*clear *//*_.FIND_ENV__V36*/ meltfptr[34] = 0; } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3174:/ 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 *) & /*_.NEWENV__V20*/ meltfptr[19]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SBLOC__V30*/ meltfptr[29]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V40*/ meltfptr[39]; /*^multimsend.send */ /*_.NBDEXPR__V39*/ meltfptr[34] = meltgc_send ((melt_ptr_t) ( /*_.SBEXPR__V33*/ meltfptr[32]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[10]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_LOCATION ("warmelt-normal.melt:3179:/ quasiblock"); 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__V20*/ meltfptr[19]; /*_.NBCTYPE__V41*/ meltfptr[40] = meltgc_send ((melt_ptr_t) ( /*_.NBDEXPR__V39*/ meltfptr[34]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[11])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3181:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L12*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NBCTYPE__V41*/ meltfptr[40]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[12])));; MELT_LOCATION ("warmelt-normal.melt:3181:/ cond"); /*cond */ if ( /*_#IS_A__L12*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V43*/ meltfptr[42] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3181:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbctype"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3181) ? (3181) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V43*/ meltfptr[42] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V42*/ meltfptr[41] = /*_.IFELSE___V43*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3181:/ clear"); /*clear *//*_#IS_A__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V43*/ meltfptr[42] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V42*/ meltfptr[41] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#__L13*/ meltfnum[0] = (( /*_.SBTYP__V31*/ meltfptr[30]) == (( /*!QUASI_CTYPE_AUTO */ meltfrout->tabval[13])));; MELT_LOCATION ("warmelt-normal.melt:3183:/ cond"); /*cond */ if ( /*_#__L13*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3184:/ compute"); /*_.SBTYP__V31*/ meltfptr[30] = /*_.SETQ___V45*/ meltfptr[44] = /*_.NBCTYPE__V41*/ meltfptr[40];; /*_.IF___V44*/ meltfptr[42] = /*_.SETQ___V45*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3183:/ clear"); /*clear *//*_.SETQ___V45*/ meltfptr[44] = 0; } ; } else { /*^cond.else */ /*_.IF___V44*/ meltfptr[42] = NULL;; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#__L14*/ meltfnum[13] = (( /*_.NBCTYPE__V41*/ meltfptr[40]) != ( /*_.SBTYP__V31*/ meltfptr[30]));; MELT_LOCATION ("warmelt-normal.melt:3186:/ cond"); /*cond */ if ( /*_#__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3191:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SBINDER__V32*/ meltfptr[31]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SBINDER__V32*/ meltfptr[31]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V46*/ meltfptr[44] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V46*/ meltfptr[44] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3188:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SBLOC__V30*/ meltfptr[29]), ("ctype mismatch in LET binding of local variable"), (melt_ptr_t) ( /*_.NAMED_NAME__V46*/ meltfptr[44])); } ; MELT_LOCATION ("warmelt-normal.melt:3195:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SBTYP__V31*/ meltfptr[30]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SBTYP__V31*/ meltfptr[30]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V47*/ meltfptr[46] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V47*/ meltfptr[46] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3192:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SBLOC__V30*/ meltfptr[29]), ("expecting ctype in LET binding"), (melt_ptr_t) ( /*_.NAMED_NAME__V47*/ meltfptr[46])); } ; MELT_LOCATION ("warmelt-normal.melt:3199:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NBCTYPE__V41*/ meltfptr[40]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[9]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NBCTYPE__V41*/ meltfptr[40]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V48*/ meltfptr[47] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V48*/ meltfptr[47] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3196:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SBLOC__V30*/ meltfptr[29]), ("ctype of binding expression in LET"), (melt_ptr_t) ( /*_.NAMED_NAME__V48*/ meltfptr[47])); } ; MELT_LOCATION ("warmelt-normal.melt:3187:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3186:/ clear"); /*clear *//*_.NAMED_NAME__V46*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V48*/ meltfptr[47] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:3179:/ clear"); /*clear *//*_.NBCTYPE__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.IFCPP___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_#__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V44*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_#__L14*/ meltfnum[13] = 0; MELT_LOCATION ("warmelt-normal.melt:3202:/ quasiblock"); /*_.LIST_LAST__V50*/ meltfptr[46] = (melt_list_last ((melt_ptr_t) ( /*_.NBINDINGS__V40*/ meltfptr[39])));; /*^compute */ /*_.LASTNBINDING__V51*/ meltfptr[47] = (melt_pair_head ((melt_ptr_t) ( /*_.LIST_LAST__V50*/ meltfptr[46])));; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_A__L15*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.LASTNBINDING__V51*/ meltfptr[47]), (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[14])));; MELT_LOCATION ("warmelt-normal.melt:3205:/ cond"); /*cond */ if ( /*_#IS_A__L15*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L17*/ meltfnum[16] = melt_is_instance_of ((melt_ptr_t) ( /*_.NBDEXPR__V39*/ meltfptr[34]), (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[15])));; MELT_LOCATION ("warmelt-normal.melt:3205:/ cond"); /*cond */ if ( /*_#IS_A__L17*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3208:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LASTNBINDING__V51*/ meltfptr[47]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.BINDER__V52*/ meltfptr[40] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3209:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NBDEXPR__V39*/ meltfptr[34]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NOCC_SYMB"); /*_.NOCC_SYMB__V53*/ meltfptr[41] = slot; }; ; /*_#__L19*/ meltfnum[18] = (( /*_.BINDER__V52*/ meltfptr[40]) == ( /*_.NOCC_SYMB__V53*/ meltfptr[41]));; /*^compute */ /*_#IF___L18*/ meltfnum[17] = /*_#__L19*/ meltfnum[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3205:/ clear"); /*clear *//*_.BINDER__V52*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.NOCC_SYMB__V53*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_#__L19*/ meltfnum[18] = 0; } ; } else { /*^cond.else */ /*_#IF___L18*/ meltfnum[17] = 0;; } ; /*^compute */ /*_#IF___L16*/ meltfnum[13] = /*_#IF___L18*/ meltfnum[17];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3205:/ clear"); /*clear *//*_#IS_A__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_#IF___L18*/ meltfnum[17] = 0; } ; } else { /*^cond.else */ /*_#IF___L16*/ meltfnum[13] = 0;; } ; MELT_LOCATION ("warmelt-normal.melt:3205:/ cond"); /*cond */ if ( /*_#IF___L16*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3211:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NBDEXPR__V39*/ meltfptr[34]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "LETBIND_EXPR"); /*_.LASTNORMEXP__V56*/ meltfptr[41] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3214:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V58*/ meltfptr[57] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_17 */ meltfrout-> tabval[17])), (2)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V58*/ meltfptr[57])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V58*/ meltfptr[57]))); ((meltclosure_ptr_t) /*_.LAMBDA___V58*/ meltfptr[57])-> tabval[0] = (melt_ptr_t) ( /*_.LASTNBINDING__V51*/ meltfptr[47]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V58*/ meltfptr[57])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V58*/ meltfptr[57]))); ((meltclosure_ptr_t) /*_.LAMBDA___V58*/ meltfptr[57])-> tabval[1] = (melt_ptr_t) ( /*_.BINDLIST__V21*/ meltfptr[20]); ; /*_.LAMBDA___V57*/ meltfptr[56] = /*_.LAMBDA___V58*/ meltfptr[57];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3212:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V57*/ meltfptr[56]; /*_.LIST_EVERY__V59*/ meltfptr[58] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_EVERY */ meltfrout->tabval[16])), (melt_ptr_t) ( /*_.NBINDINGS__V40*/ meltfptr[39]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3217:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3220:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LASTNBINDING__V51*/ meltfptr[47]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LETBIND_TYPE"); /*_.LETBIND_TYPE__V61*/ meltfptr[60] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3221:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LASTNBINDING__V51*/ meltfptr[47]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "LETBIND_EXPR"); /*_.LETBIND_EXPR__V62*/ meltfptr[61] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3222:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LASTNBINDING__V51*/ meltfptr[47]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "LETBIND_LOC"); /*_.LETBIND_LOC__V63*/ meltfptr[62] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3218:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[14])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V65*/ meltfptr[64] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (0), ( /*_.SBINDER__V32*/ meltfptr[31]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (1), ( /*_.LETBIND_TYPE__V61*/ meltfptr[60]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (2), ( /*_.LETBIND_EXPR__V62*/ meltfptr[61]), "LETBIND_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V65*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V65*/ meltfptr[64]), (3), ( /*_.LETBIND_LOC__V63*/ meltfptr[62]), "LETBIND_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V65*/ meltfptr[64], "newly made instance"); ; /*_.NEWCBND__V64*/ meltfptr[63] = /*_.INST__V65*/ meltfptr[64];; { MELT_LOCATION ("warmelt-normal.melt:3224:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.BINDLIST__V21*/ meltfptr[20]), (melt_ptr_t) ( /*_.NEWCBND__V64*/ meltfptr[63])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3225:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWCBND__V64*/ meltfptr[63]; /*_.PUT_ENV__V66*/ meltfptr[65] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[18])), (melt_ptr_t) ( /*_.NEWENV__V20*/ meltfptr[19]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V60*/ meltfptr[59] = /*_.PUT_ENV__V66*/ meltfptr[65];; MELT_LOCATION ("warmelt-normal.melt:3217:/ clear"); /*clear *//*_.LETBIND_TYPE__V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.LETBIND_EXPR__V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.LETBIND_LOC__V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.NEWCBND__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V66*/ meltfptr[65] = 0; /*_.LET___V55*/ meltfptr[40] = /*_.LET___V60*/ meltfptr[59];; MELT_LOCATION ("warmelt-normal.melt:3211:/ clear"); /*clear *//*_.LASTNORMEXP__V56*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.LAMBDA___V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.LIST_EVERY__V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.LET___V60*/ meltfptr[59] = 0; /*_.IFELSE___V54*/ meltfptr[42] = /*_.LET___V55*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3205:/ clear"); /*clear *//*_.LET___V55*/ meltfptr[40] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3230:/ 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__V67*/ meltfptr[60] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout-> tabval[19])), (melt_ptr_t) ( /*_.BINDLIST__V21*/ meltfptr[20]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3231:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3232:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[14])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V70*/ meltfptr[63] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V70*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V70*/ meltfptr[63]), (0), ( /*_.SBINDER__V32*/ meltfptr[31]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V70*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V70*/ meltfptr[63]), (1), ( /*_.SBTYP__V31*/ meltfptr[30]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V70*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V70*/ meltfptr[63]), (2), ( /*_.NBDEXPR__V39*/ meltfptr[34]), "LETBIND_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V70*/ meltfptr[63])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V70*/ meltfptr[63]), (3), ( /*_.SBLOC__V30*/ meltfptr[29]), "LETBIND_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V70*/ meltfptr[63], "newly made instance"); ; /*_.NEWPBND__V69*/ meltfptr[62] = /*_.INST__V70*/ meltfptr[63];; { MELT_LOCATION ("warmelt-normal.melt:3237:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.BINDLIST__V21*/ meltfptr[20]), (melt_ptr_t) ( /*_.NEWPBND__V69*/ meltfptr[62])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3238:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWPBND__V69*/ meltfptr[62]; /*_.PUT_ENV__V71*/ meltfptr[65] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[18])), (melt_ptr_t) ( /*_.NEWENV__V20*/ meltfptr[19]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V68*/ meltfptr[61] = /*_.PUT_ENV__V71*/ meltfptr[65];; MELT_LOCATION ("warmelt-normal.melt:3231:/ clear"); /*clear *//*_.NEWPBND__V69*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V71*/ meltfptr[65] = 0; MELT_LOCATION ("warmelt-normal.melt:3228:/ quasiblock"); /*_.PROGN___V72*/ meltfptr[41] = /*_.LET___V68*/ meltfptr[61];; /*^compute */ /*_.IFELSE___V54*/ meltfptr[42] = /*_.PROGN___V72*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3205:/ clear"); /*clear *//*_.LIST_APPEND2LIST__V67*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.LET___V68*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.PROGN___V72*/ meltfptr[41] = 0; } ; } ; /*_.LET___V49*/ meltfptr[44] = /*_.IFELSE___V54*/ meltfptr[42];; MELT_LOCATION ("warmelt-normal.melt:3202:/ clear"); /*clear *//*_.LIST_LAST__V50*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.LASTNBINDING__V51*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_#IS_A__L15*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#IF___L16*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IFELSE___V54*/ meltfptr[42] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V38*/ meltfptr[36] = /*_.LET___V49*/ meltfptr[44];; MELT_LOCATION ("warmelt-normal.melt:3174:/ clear"); /*clear *//*_.LET___V49*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.NBINDINGS__V40*/ meltfptr[39] = 0; /*_.LET___V29*/ meltfptr[24] = /*_.MULTI___V38*/ meltfptr[36];; MELT_LOCATION ("warmelt-normal.melt:3160:/ clear"); /*clear *//*_.SBLOC__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.SBTYP__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.SBINDER__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.SBEXPR__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.IFCPP___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_#HAS_EXTRA_WARNINGS__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MULTI___V38*/ meltfptr[36] = 0; if ( /*_#SBIX__L6*/ meltfnum[4] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:3155:/ clear"); /*clear *//*_.SB__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_#SBIX__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.IFCPP___V27*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.LET___V29*/ meltfptr[24] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3243:/ 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__V20*/ meltfptr[19]; /*^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__V75*/ meltfptr[59]; /*^multiapply.appl */ /*_.NBODY__V74*/ meltfptr[58] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[20])), (melt_ptr_t) ( /*_.SBODY__V19*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3246:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBODBINDINGS__V75*/ meltfptr[59]; /*_.LIST_APPEND2LIST__V76*/ meltfptr[40] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[19])), (melt_ptr_t) ( /*_.BINDLIST__V21*/ meltfptr[20]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3247:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L20*/ meltfnum[18] = (( /*_.BINDLIST__V21*/ meltfptr[20]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.BINDLIST__V21*/ meltfptr[20])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:3247:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L20*/ meltfnum[18]) /*then */ { /*^cond.then */ /*_.IFELSE___V78*/ meltfptr[65] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3247:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_let check bindlist"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3247) ? (3247) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V78*/ meltfptr[65] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V77*/ meltfptr[62] = /*_.IFELSE___V78*/ meltfptr[65];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3247:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L20*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.IFELSE___V78*/ meltfptr[65] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V77*/ meltfptr[62] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit2__EACHLIST */ for ( /*_.CURPAIR__V79*/ meltfptr[60] = melt_list_first ((melt_ptr_t) /*_.BINDLIST__V21*/ meltfptr[20]); melt_magic_discr ((melt_ptr_t) /*_.CURPAIR__V79*/ meltfptr[60]) == MELTOBMAG_PAIR; /*_.CURPAIR__V79*/ meltfptr[60] = melt_pair_tail ((melt_ptr_t) /*_.CURPAIR__V79*/ meltfptr[60])) { /*_.CBND__V80*/ meltfptr[61] = melt_pair_head ((melt_ptr_t) /*_.CURPAIR__V79*/ meltfptr[60]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3251:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L21*/ meltfnum[16] = melt_is_instance_of ((melt_ptr_t) ( /*_.CBND__V80*/ meltfptr[61]), (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[14])));; MELT_LOCATION ("warmelt-normal.melt:3251:/ cond"); /*cond */ if ( /*_#IS_A__L21*/ meltfnum[16]) /*then */ { /*^cond.then */ /*_.IFELSE___V82*/ meltfptr[46] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3251:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_let check cbnd"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3251) ? (3251) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V82*/ meltfptr[46] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V81*/ meltfptr[41] = /*_.IFELSE___V82*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3251:/ clear"); /*clear *//*_#IS_A__L21*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IFELSE___V82*/ meltfptr[46] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V81*/ meltfptr[41] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; } /* end foreach_in_list meltcit2__EACHLIST */ /*_.CURPAIR__V79*/ meltfptr[60] = NULL; /*_.CBND__V80*/ meltfptr[61] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:3248:/ clear"); /*clear *//*_.CURPAIR__V79*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.CBND__V80*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.IFCPP___V81*/ meltfptr[41] = 0; } /*endciterblock FOREACH_IN_LIST */ ; MELT_LOCATION ("warmelt-normal.melt:3253:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NCTX_SYMBCACHEMAP"); /*_.SYCMAP__V84*/ meltfptr[42] = slot; }; ; /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit3__EACHLIST */ for ( /*_.CURPAIR__V85*/ meltfptr[44] = melt_list_first ((melt_ptr_t) /*_.BINDLIST__V21*/ meltfptr[20]); melt_magic_discr ((melt_ptr_t) /*_.CURPAIR__V85*/ meltfptr[44]) == MELTOBMAG_PAIR; /*_.CURPAIR__V85*/ meltfptr[44] = melt_pair_tail ((melt_ptr_t) /*_.CURPAIR__V85*/ meltfptr[44])) { /*_.BND__V86*/ meltfptr[34] = melt_pair_head ((melt_ptr_t) /*_.CURPAIR__V85*/ meltfptr[44]); MELT_LOCATION ("warmelt-normal.melt:3257:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.BND__V86*/ meltfptr[34]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.BINDER__V87*/ meltfptr[39] = slot; }; ; { /*^locexp */ meltgc_remove_mapobjects ((meltmapobjects_ptr_t) ( /*_.SYCMAP__V84*/ meltfptr[42]), (meltobject_ptr_t) ( /*_.BINDER__V87*/ meltfptr[39])); } ; } /* end foreach_in_list meltcit3__EACHLIST */ /*_.CURPAIR__V85*/ meltfptr[44] = NULL; /*_.BND__V86*/ meltfptr[34] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:3254:/ clear"); /*clear *//*_.CURPAIR__V85*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.BND__V86*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.BINDER__V87*/ meltfptr[39] = 0; } /*endciterblock FOREACH_IN_LIST */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3259:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L22*/ meltfnum[17] = /*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:3259:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L22*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L23*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3259:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L23*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3259; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_let shrinked updated sycmap="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SYCMAP__V84*/ meltfptr[42]; /*_.MELT_DEBUG_FUN__V90*/ 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___V89*/ meltfptr[30] = /*_.MELT_DEBUG_FUN__V90*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3259:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L23*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V90*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IF___V89*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3259:/ quasiblock"); /*_.PROGN___V91*/ meltfptr[32] = /*_.IF___V89*/ meltfptr[30];; /*^compute */ /*_.IFCPP___V88*/ meltfptr[29] = /*_.PROGN___V91*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3259:/ clear"); /*clear *//*_#MELT_NEED_DBG__L22*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V89*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.PROGN___V91*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V88*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V83*/ meltfptr[47] = /*_.IFCPP___V88*/ meltfptr[29];; MELT_LOCATION ("warmelt-normal.melt:3253:/ clear"); /*clear *//*_.SYCMAP__V84*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.IFCPP___V88*/ meltfptr[29] = 0; MELT_LOCATION ("warmelt-normal.melt:3262:/ quasiblock"); /*_.NLASTBODY__V93*/ meltfptr[36] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NBODY__V74*/ meltfptr[58]), (-1)));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3265:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V20*/ meltfptr[19]; /*_.GET_CTYPE__V94*/ meltfptr[65] = meltgc_send ((melt_ptr_t) ( /*_.NLASTBODY__V93*/ meltfptr[36]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[11])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^cond */ /*cond */ if ( /*_.GET_CTYPE__V94*/ meltfptr[65]) /*then */ { /*^cond.then */ /*_.NLASTYP__V95*/ meltfptr[46] = /*_.GET_CTYPE__V94*/ meltfptr[65];; } else { MELT_LOCATION ("warmelt-normal.melt:3265:/ cond.else"); /*_.NLASTYP__V95*/ meltfptr[46] = ( /*!CTYPE_VOID */ meltfrout->tabval[21]);; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3266:/ apply"); /*apply */ { /*_.CSYM__V96*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[22])), (melt_ptr_t) (( /*!konst_23_LET_ */ meltfrout-> tabval[23])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3270:/ 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[26]); /*_.LIST_TO_MULTIPLE__V97*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[25])), (melt_ptr_t) ( /*_.BINDLIST__V21*/ meltfptr[20]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3268:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LET */ meltfrout-> tabval[24])), (3), "CLASS_NREP_LET"); /*_.INST__V99*/ meltfptr[42] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V99*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V99*/ meltfptr[42]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V99*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V99*/ meltfptr[42]), (1), ( /*_.LIST_TO_MULTIPLE__V97*/ meltfptr[30]), "NLET_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V99*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V99*/ meltfptr[42]), (2), ( /*_.NBODY__V74*/ meltfptr[58]), "NLET_BODY"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V99*/ meltfptr[42], "newly made instance"); ; /*_.NLET__V98*/ meltfptr[32] = /*_.INST__V99*/ meltfptr[42];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3272:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[14])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V101*/ meltfptr[100] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V101*/ meltfptr[100])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V101*/ meltfptr[100]), (0), ( /*_.CSYM__V96*/ meltfptr[31]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V101*/ meltfptr[100])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V101*/ meltfptr[100]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V101*/ meltfptr[100])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V101*/ meltfptr[100]), (1), ( /*_.NLASTYP__V95*/ meltfptr[46]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V101*/ meltfptr[100])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V101*/ meltfptr[100]), (2), ( /*_.NLET__V98*/ meltfptr[32]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V101*/ meltfptr[100], "newly made instance"); ; /*_.CBIND__V100*/ meltfptr[29] = /*_.INST__V101*/ meltfptr[100];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3277:/ 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__V103*/ meltfptr[102] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V103*/ meltfptr[102])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V103*/ meltfptr[102]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V103*/ meltfptr[102])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V103*/ meltfptr[102]), (2), ( /*_.NLASTYP__V95*/ meltfptr[46]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V103*/ meltfptr[102])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V103*/ meltfptr[102]), (3), ( /*_.CBIND__V100*/ meltfptr[29]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V103*/ meltfptr[102], "newly made instance"); ; /*_.CLOCC__V102*/ meltfptr[101] = /*_.INST__V103*/ meltfptr[102];; /*^compute */ /*_.RESBINDS__V104*/ meltfptr[103] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[5]))));; { MELT_LOCATION ("warmelt-normal.melt:3283:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.RESBINDS__V104*/ meltfptr[103]), (melt_ptr_t) ( /*_.CBIND__V100*/ meltfptr[29])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3284:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L24*/ 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:3284:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L24*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3284:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3284; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_let result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V102*/ meltfptr[101]; /*^apply.arg */ argtab[5].meltbp_cstring = " resbinds="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.RESBINDS__V104*/ meltfptr[103]; /*_.MELT_DEBUG_FUN__V107*/ 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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V106*/ meltfptr[105] = /*_.MELT_DEBUG_FUN__V107*/ meltfptr[106];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3284:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L25*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V107*/ meltfptr[106] = 0; } ; } else { /*^cond.else */ /*_.IF___V106*/ meltfptr[105] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3284:/ quasiblock"); /*_.PROGN___V108*/ meltfptr[106] = /*_.IF___V106*/ meltfptr[105];; /*^compute */ /*_.IFCPP___V105*/ meltfptr[104] = /*_.PROGN___V108*/ meltfptr[106];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3284:/ clear"); /*clear *//*_#MELT_NEED_DBG__L24*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V106*/ meltfptr[105] = 0; /*^clear */ /*clear *//*_.PROGN___V108*/ meltfptr[106] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V105*/ meltfptr[104] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3285:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V102*/ meltfptr[101];; MELT_LOCATION ("warmelt-normal.melt:3285:/ 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__V104*/ meltfptr[103]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V92*/ meltfptr[33] = /*_.RETURN___V109*/ meltfptr[105];; MELT_LOCATION ("warmelt-normal.melt:3262:/ clear"); /*clear *//*_.NLASTBODY__V93*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V94*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.NLASTYP__V95*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.CSYM__V96*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.LIST_TO_MULTIPLE__V97*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.NLET__V98*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.CBIND__V100*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.CLOCC__V102*/ meltfptr[101] = 0; /*^clear */ /*clear *//*_.RESBINDS__V104*/ meltfptr[103] = 0; /*^clear */ /*clear *//*_.IFCPP___V105*/ meltfptr[104] = 0; /*^clear */ /*clear *//*_.RETURN___V109*/ meltfptr[105] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V73*/ meltfptr[56] = /*_.LET___V92*/ meltfptr[33];; MELT_LOCATION ("warmelt-normal.melt:3243:/ clear"); /*clear *//*_.LIST_APPEND2LIST__V76*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.IFCPP___V77*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.LET___V83*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.LET___V92*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.NBODBINDINGS__V75*/ meltfptr[59] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V73*/ meltfptr[56];; MELT_LOCATION ("warmelt-normal.melt:3148:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SBINDINGS__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SBODY__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.NEWENV__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.BINDLIST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.MULTI___V73*/ meltfptr[56] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3143:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3143:/ 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_LET", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_66_warmelt_normal_NORMEXP_LET_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_66_warmelt_normal_NORMEXP_LET */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_67_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_) { long current_blocklevel_signals_meltrout_67_warmelt_normal_LAMBDA___22___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_67_warmelt_normal_LAMBDA___22___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 2 melt_ptr_t mcfr_varptr[2]; #define MELTFRAM_NBVARNUM 1 long mcfr_varnum[1]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_67_warmelt_normal_LAMBDA___22__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_67_warmelt_normal_LAMBDA___22___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 2; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_67_warmelt_normal_LAMBDA___22__ nbval 2*/ meltfram__.mcfr_nbvar = 2 /*nbval */ ; 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:3214:/ getarg"); /*_.B__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL (); ; /*_#__L1*/ meltfnum[0] = (( /*_.B__V2*/ meltfptr[1]) != (( /*~LASTNBINDING */ meltfclos->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3215:/ cond"); /*cond */ if ( /*_#__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:3216:/ locexp"); meltgc_append_list ((melt_ptr_t) (( /*~BINDLIST */ meltfclos->tabval[1])), (melt_ptr_t) ( /*_.B__V2*/ meltfptr[1])); } ; /*epilog */ } ; } /*noelse */ ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3214:/ clear"); /*clear *//*_#__L1*/ meltfnum[0] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_67_warmelt_normal_LAMBDA___22___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_67_warmelt_normal_LAMBDA___22__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_68_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_) { long current_blocklevel_signals_meltrout_68_warmelt_normal_LAMBDA___23___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_68_warmelt_normal_LAMBDA___23___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 8 melt_ptr_t mcfr_varptr[8]; #define MELTFRAM_NBVARNUM 3 long mcfr_varnum[3]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_68_warmelt_normal_LAMBDA___23__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_68_warmelt_normal_LAMBDA___23___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_68_warmelt_normal_LAMBDA___23__ nbval 8*/ meltfram__.mcfr_nbvar = 8 /*nbval */ ; 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:3290:/ 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); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normal.melt:3291:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NLET_BODY"); /*_.LBOD__V5*/ meltfptr[4] = slot; }; ; /*_#LENB__L1*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.LBOD__V5*/ meltfptr[4])));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#I__L2*/ meltfnum[1] = (( /*_#LENB__L1*/ meltfnum[0]) <= (0));; MELT_LOCATION ("warmelt-normal.melt:3293:/ cond"); /*cond */ if ( /*_#I__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V6*/ meltfptr[5] = ( /*!CTYPE_VOID */ meltfrout->tabval[0]);; } else { MELT_LOCATION ("warmelt-normal.melt:3293:/ cond.else"); /*^block */ /*anyblock */ { /*_#I__L3*/ meltfnum[2] = (( /*_#LENB__L1*/ meltfnum[0]) - (1));; /*^compute */ /*_.MULTIPLE_NTH__V7*/ meltfptr[6] = (melt_multiple_nth ((melt_ptr_t) ( /*_.LBOD__V5*/ meltfptr[4]), ( /*_#I__L3*/ meltfnum[2])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3294:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*_.GET_CTYPE__V8*/ meltfptr[7] = meltgc_send ((melt_ptr_t) ( /*_.MULTIPLE_NTH__V7*/ meltfptr[6]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[1])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IFELSE___V6*/ meltfptr[5] = /*_.GET_CTYPE__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3293:/ clear"); /*clear *//*_#I__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.MULTIPLE_NTH__V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V8*/ meltfptr[7] = 0; } ; } ; /*_.LET___V4*/ meltfptr[3] = /*_.IFELSE___V6*/ meltfptr[5];; MELT_LOCATION ("warmelt-normal.melt:3291:/ clear"); /*clear *//*_.LBOD__V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_#LENB__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#I__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V6*/ meltfptr[5] = 0; MELT_LOCATION ("warmelt-normal.melt:3290:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V4*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normal.melt:3290:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.LET___V4*/ meltfptr[3] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_68_warmelt_normal_LAMBDA___23___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_68_warmelt_normal_LAMBDA___23__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_69_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_) { long current_blocklevel_signals_meltrout_69_warmelt_normal_NORMEXP_UNSAFE_GET_FIELD_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_69_warmelt_normal_NORMEXP_UNSAFE_GET_FIELD_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 41 melt_ptr_t mcfr_varptr[41]; #define MELTFRAM_NBVARNUM 9 long mcfr_varnum[9]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_69_warmelt_normal_NORMEXP_UNSAFE_GET_FIELD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_69_warmelt_normal_NORMEXP_UNSAFE_GET_FIELD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 41; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_69_warmelt_normal_NORMEXP_UNSAFE_GET_FIELD nbval 41*/ meltfram__.mcfr_nbvar = 41 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_UNSAFE_GET_FIELD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3299:/ 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:3300:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_UNSAFE_GET_FIELD */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3300:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3300:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check unsafegetfield recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3300) ? (3300) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3300:/ 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:3301:/ cppif.then"); /*^block */ /*anyblock */ { 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:3301:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3301:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3301) ? (3301) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3301:/ 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:3302:/ cppif.then"); /*^block */ /*anyblock */ { 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:3302:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3302:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3302) ? (3302) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3302:/ 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:3303:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3303:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3303:/ 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 = 3303; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp unsafeget 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:3303:/ 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:3303:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3303:/ 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:3304:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3305:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SUGET_OBJ"); /*_.SOBJ__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3306:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SUGET_FIELD"); /*_.SFLD__V19*/ meltfptr[18] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3308:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.SFLD__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:3308:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V21*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3308:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sfld"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3308) ? (3308) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_.IFELSE___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3308:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3309:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V24*/ meltfptr[23]; /*^multimsend.send */ /*_.NOBJ__V23*/ meltfptr[22] = meltgc_send ((melt_ptr_t) ( /*_.SOBJ__V18*/ meltfptr[17]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_CHECK_SIGNAL (); ; /*_#NULL__L7*/ meltfnum[0] = (( /*_.NBIND__V24*/ meltfptr[23]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:3312:/ cond"); /*cond */ if ( /*_#NULL__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_LIST__V26*/ meltfptr[25] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[6]))));; MELT_LOCATION ("warmelt-normal.melt:3312:/ compute"); /*_.NBIND__V24*/ meltfptr[23] = /*_.SETQ___V27*/ meltfptr[26] = /*_.MAKE_LIST__V26*/ meltfptr[25];; /*_.IF___V25*/ meltfptr[24] = /*_.SETQ___V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3312:/ clear"); /*clear *//*_.MAKE_LIST__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.SETQ___V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_.IF___V25*/ meltfptr[24] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3313:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SFLD__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V29*/ meltfptr[26] = slot; }; ; MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.NAMED_NAME__V29*/ meltfptr[26]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3319:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_UNSAFE_GET_FIELD */ meltfrout->tabval[10])), (3), "CLASS_NREP_UNSAFE_GET_FIELD"); /*_.INST__V32*/ meltfptr[31] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUGET_OBJ", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (1), ( /*_.NOBJ__V23*/ meltfptr[22]), "NUGET_OBJ"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUGET_FIELD", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (2), ( /*_.SFLD__V19*/ meltfptr[18]), "NUGET_FIELD"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V32*/ meltfptr[31], "newly made instance"); ; /*_.INST___V31*/ meltfptr[30] = /*_.INST__V32*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:3314:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[8])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V34*/ meltfptr[33] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (0), ( /*_.CSYM__V30*/ meltfptr[29]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[9])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (2), ( /*_.INST___V31*/ meltfptr[30]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V34*/ meltfptr[33], "newly made instance"); ; /*_.CBIND__V33*/ meltfptr[32] = /*_.INST__V34*/ meltfptr[33];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3323:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[11])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V36*/ meltfptr[35] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[9])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (1), ( /*_.CSYM__V30*/ meltfptr[29]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (3), ( /*_.CBIND__V33*/ meltfptr[32]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V36*/ meltfptr[35], "newly made instance"); ; /*_.CLOCC__V35*/ meltfptr[34] = /*_.INST__V36*/ meltfptr[35];; { MELT_LOCATION ("warmelt-normal.melt:3329:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V24*/ meltfptr[23]), (melt_ptr_t) ( /*_.CBIND__V33*/ meltfptr[32])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3330:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3330:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3330:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 3330; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp unsafeget result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V35*/ meltfptr[34]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V24*/ meltfptr[23]; /*_.MELT_DEBUG_FUN__V39*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V38*/ meltfptr[37] = /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3330:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V39*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.IF___V38*/ meltfptr[37] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3330:/ quasiblock"); /*_.PROGN___V40*/ meltfptr[38] = /*_.IF___V38*/ meltfptr[37];; /*^compute */ /*_.IFCPP___V37*/ meltfptr[36] = /*_.PROGN___V40*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3330:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.PROGN___V40*/ meltfptr[38] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V37*/ meltfptr[36] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3331:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V35*/ meltfptr[34];; MELT_LOCATION ("warmelt-normal.melt:3331:/ 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) ( /*_.NBIND__V24*/ meltfptr[23]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V28*/ meltfptr[25] = /*_.RETURN___V41*/ meltfptr[37];; MELT_LOCATION ("warmelt-normal.melt:3313:/ clear"); /*clear *//*_.NAMED_NAME__V29*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.CSYM__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.INST___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.CBIND__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.CLOCC__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.IFCPP___V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.RETURN___V41*/ meltfptr[37] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V22*/ meltfptr[20] = /*_.LET___V28*/ meltfptr[25];; MELT_LOCATION ("warmelt-normal.melt:3309:/ clear"); /*clear *//*_#NULL__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.LET___V28*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.NBIND__V24*/ meltfptr[23] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V22*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:3304:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SOBJ__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SFLD__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.MULTI___V22*/ meltfptr[20] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3299:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3299:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*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_UNSAFE_GET_FIELD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_69_warmelt_normal_NORMEXP_UNSAFE_GET_FIELD_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_69_warmelt_normal_NORMEXP_UNSAFE_GET_FIELD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_70_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_) { long current_blocklevel_signals_meltrout_70_warmelt_normal_NORMEXP_GET_FIELD_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_70_warmelt_normal_NORMEXP_GET_FIELD_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 55 melt_ptr_t mcfr_varptr[55]; #define MELTFRAM_NBVARNUM 13 long mcfr_varnum[13]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_70_warmelt_normal_NORMEXP_GET_FIELD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_70_warmelt_normal_NORMEXP_GET_FIELD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 55; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_70_warmelt_normal_NORMEXP_GET_FIELD nbval 55*/ meltfram__.mcfr_nbvar = 55 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_GET_FIELD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3336:/ 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:3337:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_GET_FIELD */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3337:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3337:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check getfield recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3337) ? (3337) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3337:/ 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:3338:/ cppif.then"); /*^block */ /*anyblock */ { 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:3338:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3338:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3338) ? (3338) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3338:/ 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:3339:/ cppif.then"); /*^block */ /*anyblock */ { 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:3339:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3339:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3339) ? (3339) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3339:/ 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:3340:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3340:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3340:/ 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 = 3340; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_get_field 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:3340:/ 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:3340:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3340:/ 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:3341:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3342:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SUGET_OBJ"); /*_.SOBJ__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3343:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SUGET_FIELD"); /*_.SFLD__V19*/ meltfptr[18] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3345:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.SFLD__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:3345:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V21*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3345:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sfld"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3345) ? (3345) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_.IFELSE___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3345:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3346:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V24*/ meltfptr[23]; /*^multimsend.send */ /*_.NOBJ__V23*/ meltfptr[22] = meltgc_send ((melt_ptr_t) ( /*_.SOBJ__V18*/ meltfptr[17]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_CHECK_SIGNAL (); ; /*_#NULL__L7*/ meltfnum[0] = (( /*_.NBIND__V24*/ meltfptr[23]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:3349:/ cond"); /*cond */ if ( /*_#NULL__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_LIST__V26*/ meltfptr[25] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[6]))));; MELT_LOCATION ("warmelt-normal.melt:3349:/ compute"); /*_.NBIND__V24*/ meltfptr[23] = /*_.SETQ___V27*/ meltfptr[26] = /*_.MAKE_LIST__V26*/ meltfptr[25];; /*_.IF___V25*/ meltfptr[24] = /*_.SETQ___V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3349:/ clear"); /*clear *//*_.MAKE_LIST__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.SETQ___V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_.IF___V25*/ meltfptr[24] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3350:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3350:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3350:/ 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 = 3350; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_get_field nobj"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NOBJ__V23*/ meltfptr[22]; /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = 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___V29*/ meltfptr[26] = /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3350:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = 0; } ; } else { /*^cond.else */ /*_.IF___V29*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3350:/ quasiblock"); /*_.PROGN___V31*/ meltfptr[29] = /*_.IF___V29*/ meltfptr[26];; /*^compute */ /*_.IFCPP___V28*/ meltfptr[25] = /*_.PROGN___V31*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3350:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V29*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.PROGN___V31*/ meltfptr[29] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V28*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3351:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SFLD__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V33*/ meltfptr[29] = slot; }; ; MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V34*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.NAMED_NAME__V33*/ meltfptr[29]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3352:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SFLD__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "FLD_OWNCLASS"); /*_.FCLA__V35*/ meltfptr[34] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3353:/ quasiblock"); 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 *) & /*_.PSLOC__V5*/ meltfptr[4]; /*_.NC__V37*/ meltfptr[36] = meltgc_send ((melt_ptr_t) ( /*_.FCLA__V35*/ meltfptr[34]), (melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[5])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3354:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3354:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3354:/ 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 = 3354; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_get_field ncla"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NC__V37*/ meltfptr[36]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V39*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3354:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3354:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_.IF___V39*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[37] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3354:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ 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 */ ; /*^compute */ /*_.LET___V36*/ meltfptr[35] = /*_.NC__V37*/ meltfptr[36];; MELT_LOCATION ("warmelt-normal.melt:3353:/ clear"); /*clear *//*_.NC__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[37] = 0; /*_.NCLA__V42*/ meltfptr[38] = /*_.LET___V36*/ meltfptr[35];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3356:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_UNSAFE_GET_FIELD */ meltfrout->tabval[8])), (3), "CLASS_NREP_UNSAFE_GET_FIELD"); /*_.INST__V44*/ meltfptr[36] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V44*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V44*/ meltfptr[36]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUGET_OBJ", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V44*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V44*/ meltfptr[36]), (1), ( /*_.NOBJ__V23*/ meltfptr[22]), "NUGET_OBJ"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUGET_FIELD", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V44*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V44*/ meltfptr[36]), (2), ( /*_.SFLD__V19*/ meltfptr[18]), "NUGET_FIELD"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V44*/ meltfptr[36], "newly made instance"); ; /*_.NUGET__V43*/ meltfptr[39] = /*_.INST__V44*/ meltfptr[36];; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3365:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_IFISA */ meltfrout->tabval[11])), (6), "CLASS_NREP_IFISA"); /*_.INST__V46*/ meltfptr[45] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V46*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V46*/ meltfptr[45]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_TESTVAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V46*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V46*/ meltfptr[45]), (4), ( /*_.NOBJ__V23*/ meltfptr[22]), "NIF_TESTVAL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIFA_CLASS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V46*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V46*/ meltfptr[45]), (5), ( /*_.NCLA__V42*/ meltfptr[38]), "NIFA_CLASS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V46*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V46*/ meltfptr[45]), (2), ( /*_.NUGET__V43*/ meltfptr[39]), "NIF_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V46*/ meltfptr[45])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V46*/ meltfptr[45]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[10])), "NEXPR_CTYP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V46*/ meltfptr[45], "newly made instance"); ; /*_.INST___V45*/ meltfptr[37] = /*_.INST__V46*/ meltfptr[45];; MELT_LOCATION ("warmelt-normal.melt:3360:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[9])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V48*/ meltfptr[47] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (0), ( /*_.CSYM__V34*/ meltfptr[33]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[10])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (2), ( /*_.INST___V45*/ meltfptr[37]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V48*/ meltfptr[47], "newly made instance"); ; /*_.CBIND__V47*/ meltfptr[46] = /*_.INST__V48*/ meltfptr[47];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3372:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[12])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V50*/ meltfptr[49] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V50*/ meltfptr[49]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V50*/ meltfptr[49]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[10])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V50*/ meltfptr[49]), (1), ( /*_.CSYM__V34*/ meltfptr[33]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V50*/ meltfptr[49])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V50*/ meltfptr[49]), (3), ( /*_.CBIND__V47*/ meltfptr[46]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V50*/ meltfptr[49], "newly made instance"); ; /*_.CLOCC__V49*/ meltfptr[48] = /*_.INST__V50*/ meltfptr[49];; { MELT_LOCATION ("warmelt-normal.melt:3378:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V24*/ meltfptr[23]), (melt_ptr_t) ( /*_.CBIND__V47*/ meltfptr[46])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3379:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3379:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3379:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 3379; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_get_field clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V49*/ meltfptr[48]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V24*/ meltfptr[23]; /*_.MELT_DEBUG_FUN__V53*/ meltfptr[52] = 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___V52*/ meltfptr[51] = /*_.MELT_DEBUG_FUN__V53*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3379:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V53*/ meltfptr[52] = 0; } ; } else { /*^cond.else */ /*_.IF___V52*/ meltfptr[51] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3379:/ quasiblock"); /*_.PROGN___V54*/ meltfptr[52] = /*_.IF___V52*/ meltfptr[51];; /*^compute */ /*_.IFCPP___V51*/ meltfptr[50] = /*_.PROGN___V54*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3379:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.PROGN___V54*/ meltfptr[52] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V51*/ meltfptr[50] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3380:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V49*/ meltfptr[48];; MELT_LOCATION ("warmelt-normal.melt:3380:/ 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) ( /*_.NBIND__V24*/ meltfptr[23]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V32*/ meltfptr[26] = /*_.RETURN___V55*/ meltfptr[51];; MELT_LOCATION ("warmelt-normal.melt:3351:/ clear"); /*clear *//*_.NAMED_NAME__V33*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.CSYM__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.FCLA__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.LET___V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.NCLA__V42*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.NUGET__V43*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.INST___V45*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.CBIND__V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.CLOCC__V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.IFCPP___V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.RETURN___V55*/ meltfptr[51] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V22*/ meltfptr[20] = /*_.LET___V32*/ meltfptr[26];; MELT_LOCATION ("warmelt-normal.melt:3346:/ clear"); /*clear *//*_#NULL__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IFCPP___V28*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.LET___V32*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.NBIND__V24*/ meltfptr[23] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V22*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:3341:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SOBJ__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SFLD__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.MULTI___V22*/ meltfptr[20] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3336:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3336:/ 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_GET_FIELD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_70_warmelt_normal_NORMEXP_GET_FIELD_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_70_warmelt_normal_NORMEXP_GET_FIELD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_71_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_) { long current_blocklevel_signals_meltrout_71_warmelt_normal_NORMEXP_UNSAFE_PUT_FIELDS_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_71_warmelt_normal_NORMEXP_UNSAFE_PUT_FIELDS_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 48 melt_ptr_t mcfr_varptr[48]; #define MELTFRAM_NBVARNUM 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_71_warmelt_normal_NORMEXP_UNSAFE_PUT_FIELDS is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_71_warmelt_normal_NORMEXP_UNSAFE_PUT_FIELDS_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 48; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_71_warmelt_normal_NORMEXP_UNSAFE_PUT_FIELDS nbval 48*/ meltfram__.mcfr_nbvar = 48 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_UNSAFE_PUT_FIELDS", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3386:/ 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:3387:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_UNSAFE_PUT_FIELDS */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3387:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3387:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check unsafeputfields recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3387) ? (3387) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3387:/ 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:3388:/ cppif.then"); /*^block */ /*anyblock */ { 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:3388:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3388:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3388) ? (3388) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3388:/ 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:3389:/ cppif.then"); /*^block */ /*anyblock */ { 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:3389:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3389:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3389) ? (3389) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3389:/ 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:3390:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3390:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3390:/ 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 = 3390; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_unsafe_put_fields 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:3390:/ 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:3390:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3390:/ 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:3391:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3392:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SUPUT_OBJ"); /*_.SOBJ__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3393:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SUPUT_FIELDS"); /*_.SFIELDS__V19*/ meltfptr[18] = slot; }; ; /*_#NBFIELDS__L6*/ meltfnum[4] = (melt_multiple_length ((melt_ptr_t) ( /*_.SFIELDS__V19*/ meltfptr[18])));; /*^compute */ /*_.NFIELDS__V20*/ meltfptr[19] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[4])), ( /*_#NBFIELDS__L6*/ meltfnum[4])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3396:/ apply"); /*apply */ { /*_.CSYM__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[5])), (melt_ptr_t) (( /*!konst_6_UNSAFPUT_ */ meltfrout-> tabval[6])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3397:/ apply"); /*apply */ { /*_.CINTSYMB__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[5])), (melt_ptr_t) (( /*!konst_7_UNSAFPUT_INTER_ */ meltfrout-> tabval[7])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3398:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHECKSIGNAL */ meltfrout->tabval[8])), (1), "CLASS_NREP_CHECKSIGNAL"); /*_.INST__V24*/ meltfptr[23] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V24*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V24*/ meltfptr[23]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V24*/ meltfptr[23], "newly made instance"); ; /*_.NCHINT__V23*/ meltfptr[22] = /*_.INST__V24*/ meltfptr[23];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3400:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[9])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V26*/ meltfptr[25] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V26*/ meltfptr[25]), (0), ( /*_.CINTSYMB__V22*/ meltfptr[21]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V26*/ meltfptr[25]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[10])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V26*/ meltfptr[25]), (2), ( /*_.NCHINT__V23*/ meltfptr[22]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V26*/ meltfptr[25], "newly made instance"); ; /*_.CINTBIND__V25*/ meltfptr[24] = /*_.INST__V26*/ meltfptr[25];; MELT_LOCATION ("warmelt-normal.melt:3404:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltpair_st rpair_0__CINTBIND_x5; struct meltlist_st rlist_1__LIST_; 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 */ /*inipair rpair_0__CINTBIND_x5 */ /*_.CINTBIND__V28*/ meltfptr[27] = (melt_ptr_t) & meltletrec_1_ptr->rpair_0__CINTBIND_x5; meltletrec_1_ptr->rpair_0__CINTBIND_x5.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_1__LIST_ */ /*_.LIST___V29*/ meltfptr[28] = (melt_ptr_t) & meltletrec_1_ptr->rlist_1__LIST_; meltletrec_1_ptr->rlist_1__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*^putpairhead */ /*putpairhead */ melt_assertmsg ("putpairhead /6 checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CINTBIND__V28*/ meltfptr[27])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CINTBIND__V28*/ meltfptr[27]))->hd = (melt_ptr_t) ( /*_.CINTBIND__V25*/ meltfptr[24]); ; /*^touch */ meltgc_touch ( /*_.CINTBIND__V28*/ meltfptr[27]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.LIST___V29*/ meltfptr[28])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.LIST___V29*/ meltfptr[28]))->first = (meltpair_ptr_t) ( /*_.CINTBIND__V28*/ meltfptr[27]); ((meltlist_ptr_t) ( /*_.LIST___V29*/ meltfptr[28]))->last = (meltpair_ptr_t) ( /*_.CINTBIND__V28*/ meltfptr[27]); ; /*^touch */ meltgc_touch ( /*_.LIST___V29*/ meltfptr[28]); ; /*_.NBINDLIST__V27*/ meltfptr[26] = /*_.LIST___V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3404:/ clear"); /*clear *//*_.CINTBIND__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.LIST___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.CINTBIND__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.LIST___V29*/ meltfptr[28] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3405:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[9])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V31*/ meltfptr[28] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[28]), (0), ( /*_.CSYM__V21*/ meltfptr[20]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[28]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[28]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[10])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[28]), (2), (( /*nil */ NULL)), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V31*/ meltfptr[28], "newly made instance"); ; /*_.CBIND__V30*/ meltfptr[27] = /*_.INST__V31*/ meltfptr[28];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3411:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[11])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V33*/ meltfptr[32] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (2), (( /*!CTYPE_VOID */ meltfrout->tabval[10])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (1), ( /*_.CSYM__V21*/ meltfptr[20]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (3), ( /*_.CBIND__V30*/ meltfptr[27]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V33*/ meltfptr[32], "newly made instance"); ; /*_.CLOCC__V32*/ meltfptr[31] = /*_.INST__V33*/ meltfptr[32];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3417:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NOBJBIND__V36*/ meltfptr[35]; /*^multimsend.send */ /*_.NOBJ__V35*/ meltfptr[34] = meltgc_send ((melt_ptr_t) ( /*_.SOBJ__V18*/ meltfptr[17]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[12]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3420:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NOBJBIND__V36*/ meltfptr[35]; /*_.LIST_APPEND2LIST__V37*/ meltfptr[36] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[13])), (melt_ptr_t) ( /*_.NBINDLIST__V27*/ meltfptr[26]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3423:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V39*/ meltfptr[38] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_24 */ meltfrout-> tabval[24])), (5)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38]))); ((meltclosure_ptr_t) /*_.LAMBDA___V39*/ meltfptr[38])->tabval[0] = (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38]))); ((meltclosure_ptr_t) /*_.LAMBDA___V39*/ meltfptr[38])->tabval[1] = (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38]))); ((meltclosure_ptr_t) /*_.LAMBDA___V39*/ meltfptr[38])->tabval[2] = (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 3 >= 0 && 3 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38]))); ((meltclosure_ptr_t) /*_.LAMBDA___V39*/ meltfptr[38])->tabval[3] = (melt_ptr_t) ( /*_.NBINDLIST__V27*/ meltfptr[26]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 4 >= 0 && 4 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V39*/ meltfptr[38]))); ((meltclosure_ptr_t) /*_.LAMBDA___V39*/ meltfptr[38])->tabval[4] = (melt_ptr_t) ( /*_.NFIELDS__V20*/ meltfptr[19]); ; /*_.LAMBDA___V38*/ meltfptr[37] = /*_.LAMBDA___V39*/ meltfptr[38];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3421:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V38*/ meltfptr[37]; /*_.MULTIPLE_EVERY__V40*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[14])), (melt_ptr_t) ( /*_.SFIELDS__V19*/ meltfptr[18]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3447:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_UNSAFE_PUT_FIELDS */ meltfrout->tabval[25])), (3), "CLASS_NREP_UNSAFE_PUT_FIELDS"); /*_.INST__V43*/ meltfptr[42] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V43*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V43*/ meltfptr[42]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUPUT_OBJ", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V43*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V43*/ meltfptr[42]), (1), ( /*_.NOBJ__V35*/ meltfptr[34]), "NUPUT_OBJ"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUPUT_FIELDS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V43*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V43*/ meltfptr[42]), (2), ( /*_.NFIELDS__V20*/ meltfptr[19]), "NUPUT_FIELDS"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V43*/ meltfptr[42], "newly made instance"); ; /*_.NPUF__V42*/ meltfptr[41] = /*_.INST__V43*/ meltfptr[42];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3451:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V30*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CBIND__V30*/ meltfptr[27]), (2), ( /*_.NPUF__V42*/ meltfptr[41]), "LETBIND_EXPR"); ; /*^touch */ meltgc_touch ( /*_.CBIND__V30*/ meltfptr[27]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CBIND__V30*/ meltfptr[27], "put-fields"); ; { MELT_LOCATION ("warmelt-normal.melt:3452:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDLIST__V27*/ meltfptr[26]), (melt_ptr_t) ( /*_.CBIND__V30*/ meltfptr[27])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3453:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3453:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3453:/ 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 = 3453; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_unsafe_put_fields result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V32*/ meltfptr[31]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindlist="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDLIST__V27*/ meltfptr[26]; /*_.MELT_DEBUG_FUN__V46*/ meltfptr[45] = 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___V45*/ meltfptr[44] = /*_.MELT_DEBUG_FUN__V46*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3453:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V46*/ meltfptr[45] = 0; } ; } else { /*^cond.else */ /*_.IF___V45*/ meltfptr[44] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3453:/ quasiblock"); /*_.PROGN___V47*/ meltfptr[45] = /*_.IF___V45*/ meltfptr[44];; /*^compute */ /*_.IFCPP___V44*/ meltfptr[43] = /*_.PROGN___V47*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3453:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.PROGN___V47*/ meltfptr[45] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V44*/ meltfptr[43] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3455:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V32*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:3455:/ 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) ( /*_.NBINDLIST__V27*/ meltfptr[26]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V41*/ meltfptr[40] = /*_.RETURN___V48*/ meltfptr[44];; MELT_LOCATION ("warmelt-normal.melt:3447:/ clear"); /*clear *//*_.NPUF__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.IFCPP___V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.RETURN___V48*/ meltfptr[44] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V34*/ meltfptr[33] = /*_.LET___V41*/ meltfptr[40];; MELT_LOCATION ("warmelt-normal.melt:3417:/ clear"); /*clear *//*_.LIST_APPEND2LIST__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.LAMBDA___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.LET___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.NOBJBIND__V36*/ meltfptr[35] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V34*/ meltfptr[33];; MELT_LOCATION ("warmelt-normal.melt:3391:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SOBJ__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SFIELDS__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_#NBFIELDS__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.NFIELDS__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.CSYM__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CINTSYMB__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NCHINT__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.CINTBIND__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.NBINDLIST__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.CBIND__V30*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.CLOCC__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.MULTI___V34*/ meltfptr[33] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3386:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3386:/ 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_UNSAFE_PUT_FIELDS", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_71_warmelt_normal_NORMEXP_UNSAFE_PUT_FIELDS_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_71_warmelt_normal_NORMEXP_UNSAFE_PUT_FIELDS */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_72_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_) { long current_blocklevel_signals_meltrout_72_warmelt_normal_LAMBDA___24___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_72_warmelt_normal_LAMBDA___24___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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 21 melt_ptr_t mcfr_varptr[21]; #define MELTFRAM_NBVARNUM 6 long mcfr_varnum[6]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_72_warmelt_normal_LAMBDA___24__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_72_warmelt_normal_LAMBDA___24___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_72_warmelt_normal_LAMBDA___24__ nbval 21*/ meltfram__.mcfr_nbvar = 21 /*nbval */ ; 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:3423:/ getarg"); /*_.FLA__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3424:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.FLA__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELDASSIGN */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3424:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3424:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fla"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3424) ? (3424) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3424:/ 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:3425:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLA__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SFLA_FIELD"); /*_.FLD__V5*/ meltfptr[3] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3426:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLA__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SFLA_EXPR"); /*_.EXP__V6*/ meltfptr[5] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3427:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLA__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V7*/ meltfptr[6] = slot; }; ; /*^cond */ /*cond */ if ( /*_.LOCA_LOCATION__V7*/ meltfptr[6]) /*then */ { /*^cond.then */ /*_.FSLOC__V8*/ meltfptr[7] = /*_.LOCA_LOCATION__V7*/ meltfptr[6];; } else { MELT_LOCATION ("warmelt-normal.melt:3427:/ cond.else"); /*_.FSLOC__V8*/ meltfptr[7] = ( /*~SLOC */ meltfclos->tabval[0]);; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3429:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.FLD__V5*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:3429:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V10*/ meltfptr[9] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3429:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fld"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3429) ? (3429) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V10*/ meltfptr[9] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V9*/ meltfptr[8] = /*_.IFELSE___V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3429:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V10*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3430:/ 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 *) & ( /*~SLOC */ meltfclos->tabval[0]); /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEXPBIND__V12*/ meltfptr[11]; /*^multimsend.send */ /*_.NEXP__V11*/ meltfptr[9] = meltgc_send ((melt_ptr_t) ( /*_.EXP__V6*/ meltfptr[5]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[2]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3433:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEXPBIND__V12*/ meltfptr[11]; /*_.LIST_APPEND2LIST__V13*/ meltfptr[12] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[3])), (melt_ptr_t) (( /*~NBINDLIST */ meltfclos->tabval[3])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3434:/ quasiblock"); 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__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 */ meltfclos->tabval[0])), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NFLA_FIELD", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V15*/ meltfptr[14])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V15*/ meltfptr[14]), (1), ( /*_.FLD__V5*/ meltfptr[3]), "NFLA_FIELD"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NFLA_VAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V15*/ meltfptr[14])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V15*/ meltfptr[14]), (2), ( /*_.NEXP__V11*/ meltfptr[9]), "NFLA_VAL"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V15*/ meltfptr[14], "newly made instance"); ; /*_.NFLA__V14*/ meltfptr[13] = /*_.INST__V15*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:3438:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) (( /*~NFIELDS */ meltfclos->tabval[4])), ( /*_#IX__L1*/ meltfnum[0]), (melt_ptr_t) ( /*_.NFLA__V14*/ meltfptr[13])); } ; MELT_LOCATION ("warmelt-normal.melt:3439:/ quasiblock"); 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 */ meltfclos->tabval[1]); /*_.FCTYP__V16*/ meltfptr[15] = meltgc_send ((melt_ptr_t) ( /*_.NEXP__V11*/ meltfptr[9]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[5])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3440:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ 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:3440:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3440:/ 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 = 3440; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_unsafe_put_fields fctyp"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FCTYP__V16*/ meltfptr[15]; /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[6])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V18*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3440:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3440:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[18] = /*_.IF___V18*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.PROGN___V20*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3440:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ meltfnum[1] = 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_CHECK_SIGNAL (); ; /*^compute */ /*_#__L6*/ meltfnum[4] = (( /*_.FCTYP__V16*/ meltfptr[15]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:3441:/ cond"); /*cond */ if ( /*_#__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3445:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.FLD__V5*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[8]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLD__V5*/ meltfptr[3]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V21*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V21*/ meltfptr[17] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3442:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.FSLOC__V8*/ meltfptr[7]), ("invalid field type in (UNSAFE_PUT_FIELDS ..); expecting a :value"), (melt_ptr_t) ( /*_.NAMED_NAME__V21*/ meltfptr[17])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3441:/ clear"); /*clear *//*_.NAMED_NAME__V21*/ meltfptr[17] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:3439:/ clear"); /*clear *//*_.FCTYP__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_#__L6*/ meltfnum[4] = 0; MELT_LOCATION ("warmelt-normal.melt:3434:/ clear"); /*clear *//*_.NFLA__V14*/ meltfptr[13] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3430:/ clear"); /*clear *//*_.LIST_APPEND2LIST__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.NEXPBIND__V12*/ meltfptr[11] = 0; MELT_LOCATION ("warmelt-normal.melt:3425:/ clear"); /*clear *//*_.FLD__V5*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.EXP__V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LOCA_LOCATION__V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.FSLOC__V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[8] = 0; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3423:/ clear"); /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_72_warmelt_normal_LAMBDA___24___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_72_warmelt_normal_LAMBDA___24__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_73_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_) { long current_blocklevel_signals_meltrout_73_warmelt_normal_LAMBDA___25___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_73_warmelt_normal_LAMBDA___25___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_73_warmelt_normal_LAMBDA___25__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_73_warmelt_normal_LAMBDA___25___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_73_warmelt_normal_LAMBDA___25__ nbval 3*/ meltfram__.mcfr_nbvar = 3 /*nbval */ ; 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:3458:/ 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); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { /*_.RETVAL___V1*/ meltfptr[0] = ( /*!CTYPE_VOID */ meltfrout->tabval[0]);; { MELT_LOCATION ("warmelt-normal.melt:3458:/ 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; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_73_warmelt_normal_LAMBDA___25___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_73_warmelt_normal_LAMBDA___25__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_74_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_) { long current_blocklevel_signals_meltrout_74_warmelt_normal_NORMEXP_PUT_FIELDS_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_74_warmelt_normal_NORMEXP_PUT_FIELDS_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 84 melt_ptr_t mcfr_varptr[84]; #define MELTFRAM_NBVARNUM 20 long mcfr_varnum[20]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_74_warmelt_normal_NORMEXP_PUT_FIELDS is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_74_warmelt_normal_NORMEXP_PUT_FIELDS_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 84; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_74_warmelt_normal_NORMEXP_PUT_FIELDS nbval 84*/ meltfram__.mcfr_nbvar = 84 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_PUT_FIELDS", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3462:/ 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:3463:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_PUT_FIELDS */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3463:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3463:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check putfields recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3463) ? (3463) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3463:/ 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:3464:/ cppif.then"); /*^block */ /*anyblock */ { 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:3464:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3464:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3464) ? (3464) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3464:/ 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:3465:/ cppif.then"); /*^block */ /*anyblock */ { 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:3465:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3465:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3465) ? (3465) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3465:/ 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:3466:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3466:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3466:/ 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 = 3466; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_put_fields 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:3466:/ 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:3466:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3466:/ 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:3467:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3468:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SUPUT_OBJ"); /*_.SOBJ__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3469:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SUPUT_FIELDS"); /*_.SFIELDS__V19*/ meltfptr[18] = slot; }; ; /*_#NBFIELDS__L6*/ meltfnum[4] = (melt_multiple_length ((melt_ptr_t) ( /*_.SFIELDS__V19*/ meltfptr[18])));; /*^compute */ /*_.NFIELDS__V20*/ meltfptr[19] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[4])), ( /*_#NBFIELDS__L6*/ meltfnum[4])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3472:/ apply"); /*apply */ { /*_.CSYM__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[5])), (melt_ptr_t) (( /*!konst_6_PUTFLD_ */ meltfrout-> tabval[6])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3473:/ apply"); /*apply */ { /*_.CINTSYMB__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[5])), (melt_ptr_t) (( /*!konst_7_PUTFLD_INTER_ */ meltfrout-> tabval[7])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3474:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHECKSIGNAL */ meltfrout->tabval[8])), (1), "CLASS_NREP_CHECKSIGNAL"); /*_.INST__V24*/ meltfptr[23] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V24*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V24*/ meltfptr[23]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V24*/ meltfptr[23], "newly made instance"); ; /*_.NCHINT__V23*/ meltfptr[22] = /*_.INST__V24*/ meltfptr[23];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3476:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[9])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V26*/ meltfptr[25] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V26*/ meltfptr[25]), (0), ( /*_.CINTSYMB__V22*/ meltfptr[21]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V26*/ meltfptr[25]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[10])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V26*/ meltfptr[25]), (2), ( /*_.NCHINT__V23*/ meltfptr[22]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V26*/ meltfptr[25], "newly made instance"); ; /*_.CINTBIND__V25*/ meltfptr[24] = /*_.INST__V26*/ meltfptr[25];; MELT_LOCATION ("warmelt-normal.melt:3480:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltpair_st rpair_0__CINTBIND_x6; struct meltlist_st rlist_1__LIST_; 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 */ /*inipair rpair_0__CINTBIND_x6 */ /*_.CINTBIND__V28*/ meltfptr[27] = (melt_ptr_t) & meltletrec_1_ptr->rpair_0__CINTBIND_x6; meltletrec_1_ptr->rpair_0__CINTBIND_x6.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_1__LIST_ */ /*_.LIST___V29*/ meltfptr[28] = (melt_ptr_t) & meltletrec_1_ptr->rlist_1__LIST_; meltletrec_1_ptr->rlist_1__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*^putpairhead */ /*putpairhead */ melt_assertmsg ("putpairhead /7 checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CINTBIND__V28*/ meltfptr[27])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CINTBIND__V28*/ meltfptr[27]))->hd = (melt_ptr_t) ( /*_.CINTBIND__V25*/ meltfptr[24]); ; /*^touch */ meltgc_touch ( /*_.CINTBIND__V28*/ meltfptr[27]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.LIST___V29*/ meltfptr[28])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.LIST___V29*/ meltfptr[28]))->first = (meltpair_ptr_t) ( /*_.CINTBIND__V28*/ meltfptr[27]); ((meltlist_ptr_t) ( /*_.LIST___V29*/ meltfptr[28]))->last = (meltpair_ptr_t) ( /*_.CINTBIND__V28*/ meltfptr[27]); ; /*^touch */ meltgc_touch ( /*_.LIST___V29*/ meltfptr[28]); ; /*_.NBINDLIST__V27*/ meltfptr[26] = /*_.LIST___V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3480:/ clear"); /*clear *//*_.CINTBIND__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.LIST___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.CINTBIND__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.LIST___V29*/ meltfptr[28] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3481:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[9])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V31*/ meltfptr[28] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[28]), (0), ( /*_.CSYM__V21*/ meltfptr[20]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[28]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[28]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[10])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V31*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V31*/ meltfptr[28]), (2), (( /*nil */ NULL)), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V31*/ meltfptr[28], "newly made instance"); ; /*_.CBIND__V30*/ meltfptr[27] = /*_.INST__V31*/ meltfptr[28];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3487:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[11])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V33*/ meltfptr[32] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (2), (( /*!CTYPE_VOID */ meltfrout->tabval[10])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (1), ( /*_.CSYM__V21*/ meltfptr[20]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (3), ( /*_.CBIND__V30*/ meltfptr[27]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V33*/ meltfptr[32], "newly made instance"); ; /*_.CLOCC__V32*/ meltfptr[31] = /*_.INST__V33*/ meltfptr[32];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3492:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[12])), (1), "CLASS_REFERENCE"); /*_.INST__V35*/ meltfptr[34] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (0), (( /*nil */ NULL)), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V35*/ meltfptr[34], "newly made instance"); ; /*_.CLACONT__V34*/ meltfptr[33] = /*_.INST__V35*/ meltfptr[34];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3494:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NOBJBIND__V38*/ meltfptr[37]; /*^multimsend.send */ /*_.NOBJ__V37*/ meltfptr[36] = meltgc_send ((melt_ptr_t) ( /*_.SOBJ__V18*/ meltfptr[17]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[13]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3497:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NOBJBIND__V38*/ meltfptr[37]; /*_.LIST_APPEND2LIST__V39*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[14])), (melt_ptr_t) ( /*_.NBINDLIST__V27*/ meltfptr[26]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SFIELDS__V19*/ meltfptr[18]); for ( /*_#IX__L7*/ meltfnum[0] = 0; ( /*_#IX__L7*/ meltfnum[0] >= 0) && ( /*_#IX__L7*/ meltfnum[0] < meltcit1__EACHTUP_ln); /*_#IX__L7*/ meltfnum[0]++) { /*_.FLA__V40*/ meltfptr[39] = melt_multiple_nth ((melt_ptr_t) ( /*_.SFIELDS__V19*/ meltfptr[18]), /*_#IX__L7*/ meltfnum[0]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3501:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:3501:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3501:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 3501; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_put_fields fla="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FLA__V40*/ meltfptr[39]; /*^apply.arg */ argtab[5].meltbp_cstring = " clacont="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLACONT__V34*/ meltfptr[33]; /*_.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:3501:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = 0; } ; } else { /*^cond.else */ /*_.IF___V42*/ meltfptr[41] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3501:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[42] = /*_.IF___V42*/ meltfptr[41];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[40] = /*_.PROGN___V44*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3501:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.PROGN___V44*/ meltfptr[42] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V41*/ meltfptr[40] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3502:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[8] = melt_is_instance_of ((melt_ptr_t) ( /*_.FLA__V40*/ meltfptr[39]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELDASSIGN */ meltfrout->tabval[15])));; MELT_LOCATION ("warmelt-normal.melt:3502:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[8]) /*then */ { /*^cond.then */ /*_.IFELSE___V46*/ meltfptr[42] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3502:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fla"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3502) ? (3502) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V46*/ meltfptr[42] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V45*/ meltfptr[41] = /*_.IFELSE___V46*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3502:/ clear"); /*clear *//*_#IS_A__L10*/ meltfnum[8] = 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:3503:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLA__V40*/ meltfptr[39]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SFLA_FIELD"); /*_.FLD__V47*/ meltfptr[42] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3504:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLA__V40*/ meltfptr[39]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SFLA_EXPR"); /*_.EXP__V48*/ meltfptr[47] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3505:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLA__V40*/ meltfptr[39]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOCA_LOCATION__V49*/ meltfptr[48] = slot; }; ; /*^cond */ /*cond */ if ( /*_.LOCA_LOCATION__V49*/ meltfptr[48]) /*then */ { /*^cond.then */ /*_.FSLOC__V50*/ meltfptr[49] = /*_.LOCA_LOCATION__V49*/ meltfptr[48];; } else { MELT_LOCATION ("warmelt-normal.melt:3505:/ cond.else"); /*_.FSLOC__V50*/ meltfptr[49] = /*_.SLOC__V17*/ meltfptr[13];; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3507:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L11*/ meltfnum[7] = melt_is_instance_of ((melt_ptr_t) ( /*_.FLD__V47*/ meltfptr[42]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout->tabval[16])));; MELT_LOCATION ("warmelt-normal.melt:3507:/ cond"); /*cond */ if ( /*_#IS_A__L11*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_.IFELSE___V52*/ meltfptr[51] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3507:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fld"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3507) ? (3507) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V52*/ meltfptr[51] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V51*/ meltfptr[50] = /*_.IFELSE___V52*/ meltfptr[51];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3507:/ clear"); /*clear *//*_#IS_A__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V52*/ meltfptr[51] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V51*/ meltfptr[50] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3508:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLD__V47*/ meltfptr[42]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "FLD_OWNCLASS"); /*_.FCLA__V54*/ meltfptr[53] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3509:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CLACONT__V34*/ meltfptr[33]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CLACONT__V34*/ meltfptr[33]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.PRECLA__V55*/ meltfptr[54] = slot; }; ; } else { /*^cond.else */ /*_.PRECLA__V55*/ meltfptr[54] = NULL;; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L12*/ meltfnum[8] = (( /*_.PRECLA__V55*/ meltfptr[54]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:3511:/ cond"); /*cond */ if ( /*_#NULL__L12*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3512:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CLACONT__V34*/ meltfptr[33]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.CLACONT__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLACONT__V34*/ meltfptr[33]), (0), ( /*_.FCLA__V54*/ meltfptr[53]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch ( /*_.CLACONT__V34*/ meltfptr[33]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CLACONT__V34*/ meltfptr[33], "put-fields"); ; /*_.IFELSE___V56*/ meltfptr[55] = /*_.CLACONT__V34*/ meltfptr[33];; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normal.melt:3512:/ cond.else"); /*_.IFELSE___V56*/ meltfptr[55] = NULL;; } ; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normal.melt:3511:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#__L13*/ meltfnum[7] = (( /*_.PRECLA__V55*/ meltfptr[54]) == ( /*_.FCLA__V54*/ meltfptr[53]));; MELT_LOCATION ("warmelt-normal.melt:3514:/ cond"); /*cond */ if ( /*_#__L13*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_.IFELSE___V57*/ meltfptr[56] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3514:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#SUBCLASS_OF__L14*/ meltfnum[13] = melt_is_subclass_of ((meltobject_ptr_t) ( /*_.PRECLA__V55*/ meltfptr[54]), (meltobject_ptr_t) ( /*_.FCLA__V54*/ meltfptr[53]));; MELT_LOCATION ("warmelt-normal.melt:3517:/ cond"); /*cond */ if ( /*_#SUBCLASS_OF__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*_.IFELSE___V58*/ meltfptr[57] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3517:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#SUBCLASS_OF__L15*/ meltfnum[14] = melt_is_subclass_of ((meltobject_ptr_t) ( /*_.FCLA__V54*/ meltfptr[53]), (meltobject_ptr_t) ( /*_.PRECLA__V55*/ meltfptr[54]));; MELT_LOCATION ("warmelt-normal.melt:3520:/ cond"); /*cond */ if ( /*_#SUBCLASS_OF__L15*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3521:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CLACONT__V34*/ meltfptr[33]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.CLACONT__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLACONT__V34*/ meltfptr[33]), (0), ( /*_.FCLA__V54*/ meltfptr[53]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch ( /*_.CLACONT__V34*/ meltfptr[33]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CLACONT__V34*/ meltfptr[33], "put-fields"); ; /*_.IFELSE___V58*/ meltfptr[57] = /*_.CLACONT__V34*/ meltfptr[33];; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normal.melt:3521:/ cond.else"); /*_.IFELSE___V58*/ meltfptr[57] = NULL;; } ; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normal.melt:3520:/ cond.else"); /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3524:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ 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:3524:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3524:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3524; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_put_fields bad fld="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FLD__V47*/ meltfptr[42]; /*^apply.arg */ argtab[5].meltbp_cstring = " fcla="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.FCLA__V54*/ meltfptr[53]; /*^apply.arg */ argtab[7].meltbp_cstring = " precla="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.PRECLA__V55*/ meltfptr[54]; /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60] = 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___V60*/ meltfptr[59] = /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3524:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V61*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*_.IF___V60*/ meltfptr[59] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3524:/ quasiblock"); /*_.PROGN___V62*/ meltfptr[60] = /*_.IF___V60*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V59*/ meltfptr[58] = /*_.PROGN___V62*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3524:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IF___V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.PROGN___V62*/ meltfptr[60] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V59*/ meltfptr[58] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3526:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLD__V47*/ meltfptr[42]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V63*/ meltfptr[59] = slot; }; ; { /*^locexp */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("bad field name in PUT_FIELD"), (melt_ptr_t) ( /*_.NAMED_NAME__V63*/ meltfptr[59])); } ; MELT_LOCATION ("warmelt-normal.melt:3527:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.PRECLA__V55*/ meltfptr[54]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V64*/ meltfptr[60] = slot; }; ; { /*^locexp */ melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("PUT_FIELD expecting field of class"), (melt_ptr_t) ( /*_.NAMED_NAME__V64*/ meltfptr[60])); } ; MELT_LOCATION ("warmelt-normal.melt:3528:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.FCLA__V54*/ meltfptr[53]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[17]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FCLA__V54*/ meltfptr[53]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V65*/ meltfptr[64] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V65*/ meltfptr[64] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3528:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("PUT_FIELD got field of class"), (melt_ptr_t) ( /*_.NAMED_NAME__V65*/ meltfptr[64])); } ; MELT_LOCATION ("warmelt-normal.melt:3523:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3520:/ clear"); /*clear *//*_.IFCPP___V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V63*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V64*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V65*/ meltfptr[64] = 0; } ; } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3517:/ clear"); /*clear *//*_#SUBCLASS_OF__L15*/ meltfnum[14] = 0; } ; } ; /*_.IFELSE___V57*/ meltfptr[56] = /*_.IFELSE___V58*/ meltfptr[57];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3514:/ clear"); /*clear *//*_#SUBCLASS_OF__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IFELSE___V58*/ meltfptr[57] = 0; } ; } ; /*_.IFELSE___V56*/ meltfptr[55] = /*_.IFELSE___V57*/ meltfptr[56];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3511:/ clear"); /*clear *//*_#__L13*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V57*/ meltfptr[56] = 0; } ; } ; /*_.LET___V53*/ meltfptr[51] = /*_.IFELSE___V56*/ meltfptr[55];; MELT_LOCATION ("warmelt-normal.melt:3508:/ clear"); /*clear *//*_.FCLA__V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.PRECLA__V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_#NULL__L12*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFELSE___V56*/ meltfptr[55] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3532:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEXPBIND__V67*/ meltfptr[59]; /*^multimsend.send */ /*_.NEXP__V66*/ meltfptr[58] = meltgc_send ((melt_ptr_t) ( /*_.EXP__V48*/ meltfptr[47]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[13]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3535:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEXPBIND__V67*/ meltfptr[59]; /*_.LIST_APPEND2LIST__V68*/ meltfptr[60] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[14])), (melt_ptr_t) ( /*_.NBINDLIST__V27*/ meltfptr[26]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3536:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_FIELDASSIGN */ meltfrout->tabval[18])), (3), "CLASS_NREP_FIELDASSIGN"); /*_.INST__V70*/ meltfptr[57] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V70*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V70*/ meltfptr[57]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NFLA_FIELD", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V70*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V70*/ meltfptr[57]), (1), ( /*_.FLD__V47*/ meltfptr[42]), "NFLA_FIELD"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NFLA_VAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V70*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V70*/ meltfptr[57]), (2), ( /*_.NEXP__V66*/ meltfptr[58]), "NFLA_VAL"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V70*/ meltfptr[57], "newly made instance"); ; /*_.NFLA__V69*/ meltfptr[64] = /*_.INST__V70*/ meltfptr[57];; MELT_LOCATION ("warmelt-normal.melt:3540:/ quasiblock"); 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__V3*/ meltfptr[2]; /*_.FCTYP__V71*/ meltfptr[56] = meltgc_send ((melt_ptr_t) ( /*_.NEXP__V66*/ meltfptr[58]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[19])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*_#__L18*/ meltfnum[16] = (( /*_.FCTYP__V71*/ meltfptr[56]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[20])));; MELT_LOCATION ("warmelt-normal.melt:3542:/ cond"); /*cond */ if ( /*_#__L18*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3546:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.FLD__V47*/ meltfptr[42]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[17]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLD__V47*/ meltfptr[42]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V72*/ meltfptr[53] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V72*/ meltfptr[53] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3543:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.FSLOC__V50*/ meltfptr[49]), ("invalid field type in (PUT_FIELDS ..); expecting a :value"), (melt_ptr_t) ( /*_.NAMED_NAME__V72*/ meltfptr[53])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3542:/ clear"); /*clear *//*_.NAMED_NAME__V72*/ meltfptr[53] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:3540:/ clear"); /*clear *//*_.FCTYP__V71*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_#__L18*/ meltfnum[16] = 0; { MELT_LOCATION ("warmelt-normal.melt:3549:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.NFIELDS__V20*/ meltfptr[19]), ( /*_#IX__L7*/ meltfnum[0]), (melt_ptr_t) ( /*_.NFLA__V69*/ meltfptr[64])); } ; MELT_LOCATION ("warmelt-normal.melt:3536:/ clear"); /*clear *//*_.NFLA__V69*/ meltfptr[64] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3532:/ clear"); /*clear *//*_.LIST_APPEND2LIST__V68*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.NEXPBIND__V67*/ meltfptr[59] = 0; MELT_LOCATION ("warmelt-normal.melt:3503:/ clear"); /*clear *//*_.FLD__V47*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.EXP__V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.LOCA_LOCATION__V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.FSLOC__V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.IFCPP___V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.LET___V53*/ meltfptr[51] = 0; if ( /*_#IX__L7*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:3498:/ clear"); /*clear *//*_.FLA__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_#IX__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.IFCPP___V45*/ meltfptr[41] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-normal.melt:3551:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:3552:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CLACONT__V34*/ meltfptr[33]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout-> tabval[12]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CLACONT__V34*/ meltfptr[33]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V74*/ meltfptr[55] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V74*/ meltfptr[55] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3552:/ 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]; /*_.NCLA__V75*/ meltfptr[53] = meltgc_send ((melt_ptr_t) ( /*_.REFERENCED_VALUE__V74*/ meltfptr[55]), (melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[13])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3553:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_UNSAFE_PUT_FIELDS */ meltfrout->tabval[21])), (3), "CLASS_NREP_UNSAFE_PUT_FIELDS"); /*_.INST__V77*/ meltfptr[64] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V77*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V77*/ meltfptr[64]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUPUT_OBJ", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V77*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V77*/ meltfptr[64]), (1), ( /*_.NOBJ__V37*/ meltfptr[36]), "NUPUT_OBJ"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NUPUT_FIELDS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V77*/ meltfptr[64])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V77*/ meltfptr[64]), (2), ( /*_.NFIELDS__V20*/ meltfptr[19]), "NUPUT_FIELDS"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V77*/ meltfptr[64], "newly made instance"); ; /*_.NPUF__V76*/ meltfptr[56] = /*_.INST__V77*/ meltfptr[64];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3557:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_IFISA */ meltfrout->tabval[22])), (6), "CLASS_NREP_IFISA"); /*_.INST__V79*/ meltfptr[58] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[58]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_TESTVAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[58]), (4), ( /*_.NOBJ__V37*/ meltfptr[36]), "NIF_TESTVAL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIFA_CLASS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[58]), (5), ( /*_.NCLA__V75*/ meltfptr[53]), "NIFA_CLASS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[58]), (2), ( /*_.NPUF__V76*/ meltfptr[56]), "NIF_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V79*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V79*/ meltfptr[58]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[10])), "NEXPR_CTYP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V79*/ meltfptr[58], "newly made instance"); ; /*_.NIF__V78*/ meltfptr[60] = /*_.INST__V79*/ meltfptr[58];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3565:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V30*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CBIND__V30*/ meltfptr[27]), (2), ( /*_.NIF__V78*/ meltfptr[60]), "LETBIND_EXPR"); ; /*^touch */ meltgc_touch ( /*_.CBIND__V30*/ meltfptr[27]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CBIND__V30*/ meltfptr[27], "put-fields"); ; { MELT_LOCATION ("warmelt-normal.melt:3566:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDLIST__V27*/ meltfptr[26]), (melt_ptr_t) ( /*_.CBIND__V30*/ meltfptr[27])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3567:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ 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:3567:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[14] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3567:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L20*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3567; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_put_fields result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V32*/ meltfptr[31]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindlist="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDLIST__V27*/ meltfptr[26]; /*_.MELT_DEBUG_FUN__V82*/ meltfptr[47] = 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[42] = /*_.MELT_DEBUG_FUN__V82*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3567:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L20*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V82*/ meltfptr[47] = 0; } ; } else { /*^cond.else */ /*_.IF___V81*/ meltfptr[42] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3567:/ quasiblock"); /*_.PROGN___V83*/ meltfptr[48] = /*_.IF___V81*/ meltfptr[42];; /*^compute */ /*_.IFCPP___V80*/ meltfptr[59] = /*_.PROGN___V83*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3567:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IF___V81*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.PROGN___V83*/ meltfptr[48] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V80*/ meltfptr[59] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3568:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V32*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:3568:/ 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) ( /*_.NBINDLIST__V27*/ meltfptr[26]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V73*/ meltfptr[54] = /*_.RETURN___V84*/ meltfptr[49];; MELT_LOCATION ("warmelt-normal.melt:3551:/ clear"); /*clear *//*_.REFERENCED_VALUE__V74*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.NCLA__V75*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.NPUF__V76*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.NIF__V78*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.IFCPP___V80*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.RETURN___V84*/ meltfptr[49] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V36*/ meltfptr[35] = /*_.LET___V73*/ meltfptr[54];; MELT_LOCATION ("warmelt-normal.melt:3494:/ clear"); /*clear *//*_.LIST_APPEND2LIST__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.LET___V73*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.NOBJBIND__V38*/ meltfptr[37] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V36*/ meltfptr[35];; MELT_LOCATION ("warmelt-normal.melt:3467:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SOBJ__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SFIELDS__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_#NBFIELDS__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.NFIELDS__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.CSYM__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CINTSYMB__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NCHINT__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.CINTBIND__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.NBINDLIST__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.CBIND__V30*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.CLOCC__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CLACONT__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.MULTI___V36*/ meltfptr[35] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3462:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3462:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___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_PUT_FIELDS", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_74_warmelt_normal_NORMEXP_PUT_FIELDS_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_74_warmelt_normal_NORMEXP_PUT_FIELDS */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_75_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_) { long current_blocklevel_signals_meltrout_75_warmelt_normal_NORMEXP_SETQ_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_75_warmelt_normal_NORMEXP_SETQ_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 55 melt_ptr_t mcfr_varptr[55]; #define MELTFRAM_NBVARNUM 14 long mcfr_varnum[14]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_75_warmelt_normal_NORMEXP_SETQ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_75_warmelt_normal_NORMEXP_SETQ_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 55; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_75_warmelt_normal_NORMEXP_SETQ nbval 55*/ meltfram__.mcfr_nbvar = 55 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_SETQ", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3573:/ 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:3574:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_SETQ */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3574:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3574:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check setq recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3574) ? (3574) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3574:/ 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:3575:/ cppif.then"); /*^block */ /*anyblock */ { 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:3575:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3575:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3575) ? (3575) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3575:/ 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:3576:/ cppif.then"); /*^block */ /*anyblock */ { 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:3576:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3576:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3576) ? (3576) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3576:/ 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:3577:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3577:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3577:/ 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 = 3577; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp setq 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:3577:/ 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:3577:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3577:/ 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:3578:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3579:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SSTQ_VAR"); /*_.SVAR__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3580:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SSTQ_EXPR"); /*_.SEXP__V19*/ meltfptr[18] = slot; }; ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3581:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.SVAR__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:3581:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V21*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3581:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check svar"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3581) ? (3581) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_.IFELSE___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3581:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V21*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3582:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*_.NVAR__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!NORMEXP_SYMBOL */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.SVAR__V18*/ meltfptr[17]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3583:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*_.VARCTYP__V24*/ meltfptr[23] = meltgc_send ((melt_ptr_t) ( /*_.NVAR__V23*/ meltfptr[22]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[6])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3585:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3585:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3585:/ apply"); /*apply */ { union meltparam_un argtab[5]; 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 = 3585; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_setq varctyp"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.VARCTYP__V24*/ meltfptr[23]; /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 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___V26*/ meltfptr[25] = /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3585:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_.IF___V26*/ meltfptr[25] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3585:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_.IF___V26*/ meltfptr[25];; /*^compute */ /*_.IFCPP___V25*/ meltfptr[24] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3585:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.PROGN___V28*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V25*/ meltfptr[24] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3586:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.VARCTYP__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:3586:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V30*/ meltfptr[26] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3586:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check varctyp"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3586) ? (3586) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V30*/ meltfptr[26] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V29*/ meltfptr[25] = /*_.IFELSE___V30*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3586:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V30*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3587:/ 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__V3*/ meltfptr[2]; /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V33*/ meltfptr[32]; /*^multimsend.send */ /*_.NEXP__V32*/ meltfptr[31] = meltgc_send ((melt_ptr_t) ( /*_.SEXP__V19*/ meltfptr[18]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[8]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_CHECK_SIGNAL (); ; /*_#NULL__L10*/ meltfnum[0] = (( /*_.NBIND__V33*/ meltfptr[32]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:3590:/ cond"); /*cond */ if ( /*_#NULL__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_LIST__V35*/ meltfptr[34] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[9]))));; MELT_LOCATION ("warmelt-normal.melt:3590:/ compute"); /*_.NBIND__V33*/ meltfptr[32] = /*_.SETQ___V36*/ meltfptr[35] = /*_.MAKE_LIST__V35*/ meltfptr[34];; /*_.IF___V34*/ meltfptr[33] = /*_.SETQ___V36*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3590:/ clear"); /*clear *//*_.MAKE_LIST__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.SETQ___V36*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*_.IF___V34*/ meltfptr[33] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3591:/ quasiblock"); 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__V3*/ meltfptr[2]; /*_.EXPCTYP__V37*/ meltfptr[34] = meltgc_send ((melt_ptr_t) ( /*_.NEXP__V32*/ meltfptr[31]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[6])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3593:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ 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:3593:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3593:/ 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 = 3593; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_setq expctyp"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.EXPCTYP__V37*/ 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V39*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3593:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3593:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_.IF___V39*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[35] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3593:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IF___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.PROGN___V41*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[35] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3594:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L13*/ meltfnum[11] = melt_is_instance_of ((melt_ptr_t) ( /*_.EXPCTYP__V37*/ meltfptr[34]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:3594:/ cond"); /*cond */ if ( /*_#IS_A__L13*/ meltfnum[11]) /*then */ { /*^cond.then */ /*_.IFELSE___V43*/ meltfptr[39] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3594:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check expctyp"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3594) ? (3594) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V43*/ meltfptr[39] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V42*/ meltfptr[38] = /*_.IFELSE___V43*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3594:/ clear"); /*clear *//*_#IS_A__L13*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IFELSE___V43*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V42*/ meltfptr[38] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#__L14*/ meltfnum[4] = (( /*_.VARCTYP__V24*/ meltfptr[23]) != ( /*_.EXPCTYP__V37*/ meltfptr[34]));; MELT_LOCATION ("warmelt-normal.melt:3595:/ cond"); /*cond */ if ( /*_#__L14*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3598:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SVAR__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V44*/ meltfptr[39] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:3597:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("incompatible type for SETQ"), (melt_ptr_t) ( /*_.NAMED_NAME__V44*/ meltfptr[39])); } ; MELT_LOCATION ("warmelt-normal.melt:3600:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.VARCTYP__V24*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V45*/ meltfptr[44] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:3599:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("left [var] type for incomatible SETQ"), (melt_ptr_t) ( /*_.NAMED_NAME__V45*/ meltfptr[44])); } ; MELT_LOCATION ("warmelt-normal.melt:3602:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.EXPCTYP__V37*/ meltfptr[34]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V46*/ meltfptr[45] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:3601:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("right [expr] type for incomatible SETQ"), (melt_ptr_t) ( /*_.NAMED_NAME__V46*/ meltfptr[45])); } ; MELT_LOCATION ("warmelt-normal.melt:3596:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3595:/ clear"); /*clear *//*_.NAMED_NAME__V44*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V46*/ meltfptr[45] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:3591:/ clear"); /*clear *//*_.EXPCTYP__V37*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.IFCPP___V42*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_#__L14*/ meltfnum[4] = 0; MELT_LOCATION ("warmelt-normal.melt:3604:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V48*/ meltfptr[44] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[10])), (melt_ptr_t) (( /*!konst_11_SETQ_ */ meltfrout-> tabval[11])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3610:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_SETQ */ meltfrout->tabval[13])), (3), "CLASS_NREP_SETQ"); /*_.INST__V50*/ meltfptr[34] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V50*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V50*/ meltfptr[34]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSTQ_VAR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V50*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V50*/ meltfptr[34]), (1), ( /*_.NVAR__V23*/ meltfptr[22]), "NSTQ_VAR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSTQ_EXP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V50*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V50*/ meltfptr[34]), (2), ( /*_.NEXP__V32*/ meltfptr[31]), "NSTQ_EXP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V50*/ meltfptr[34], "newly made instance"); ; /*_.INST___V49*/ meltfptr[45] = /*_.INST__V50*/ meltfptr[34];; MELT_LOCATION ("warmelt-normal.melt:3605:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[12])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V52*/ meltfptr[38] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[38]), (0), ( /*_.CSYM__V48*/ meltfptr[44]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[38]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[38]), (1), ( /*_.VARCTYP__V24*/ meltfptr[23]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V52*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V52*/ meltfptr[38]), (2), ( /*_.INST___V49*/ meltfptr[45]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V52*/ meltfptr[38], "newly made instance"); ; /*_.CBIND__V51*/ meltfptr[35] = /*_.INST__V52*/ meltfptr[38];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3614:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[14])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V54*/ meltfptr[53] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V54*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V54*/ meltfptr[53]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V54*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V54*/ meltfptr[53]), (2), ( /*_.VARCTYP__V24*/ meltfptr[23]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V54*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V54*/ meltfptr[53]), (1), ( /*_.CSYM__V48*/ meltfptr[44]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V54*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V54*/ meltfptr[53]), (3), ( /*_.CBIND__V51*/ meltfptr[35]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V54*/ meltfptr[53], "newly made instance"); ; /*_.CLOCC__V53*/ meltfptr[52] = /*_.INST__V54*/ meltfptr[53];; { MELT_LOCATION ("warmelt-normal.melt:3620:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V33*/ meltfptr[32]), (melt_ptr_t) ( /*_.CBIND__V51*/ meltfptr[35])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3621:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V53*/ meltfptr[52];; MELT_LOCATION ("warmelt-normal.melt:3621:/ 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) ( /*_.NBIND__V33*/ meltfptr[32]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V47*/ meltfptr[39] = /*_.RETURN___V55*/ meltfptr[54];; MELT_LOCATION ("warmelt-normal.melt:3604:/ clear"); /*clear *//*_.CSYM__V48*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.INST___V49*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.CBIND__V51*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.CLOCC__V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.RETURN___V55*/ meltfptr[54] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V31*/ meltfptr[26] = /*_.LET___V47*/ meltfptr[39];; MELT_LOCATION ("warmelt-normal.melt:3587:/ clear"); /*clear *//*_#NULL__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.LET___V47*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.NBIND__V33*/ meltfptr[32] = 0; /*_.LET___V22*/ meltfptr[20] = /*_.MULTI___V31*/ meltfptr[26];; MELT_LOCATION ("warmelt-normal.melt:3582:/ clear"); /*clear *//*_.NVAR__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.VARCTYP__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.IFCPP___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.MULTI___V31*/ meltfptr[26] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.LET___V22*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:3578:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SVAR__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SEXP__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LET___V22*/ meltfptr[20] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3573:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3573:/ 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_SETQ", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_75_warmelt_normal_NORMEXP_SETQ_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_75_warmelt_normal_NORMEXP_SETQ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_76_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_) { long current_blocklevel_signals_meltrout_76_warmelt_normal_LAMBDA___26___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_76_warmelt_normal_LAMBDA___26___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 5 melt_ptr_t mcfr_varptr[5]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_76_warmelt_normal_LAMBDA___26__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_76_warmelt_normal_LAMBDA___26___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 5; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_76_warmelt_normal_LAMBDA___26__ nbval 5*/ meltfram__.mcfr_nbvar = 5 /*nbval */ ; 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:3625:/ 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); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normal.melt:3626:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NSTQ_VAR"); /*_.NSTQ_VAR__V4*/ meltfptr[3] = slot; }; ; 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__V3*/ meltfptr[2]; /*_.GET_CTYPE__V5*/ meltfptr[4] = meltgc_send ((melt_ptr_t) ( /*_.NSTQ_VAR__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3625:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.GET_CTYPE__V5*/ meltfptr[4];; { MELT_LOCATION ("warmelt-normal.melt:3625:/ 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 *//*_.NSTQ_VAR__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V5*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_76_warmelt_normal_LAMBDA___26___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_76_warmelt_normal_LAMBDA___26__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_77_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_) { long current_blocklevel_signals_meltrout_77_warmelt_normal_NORMEXP_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_77_warmelt_normal_NORMEXP_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 63 melt_ptr_t mcfr_varptr[63]; #define MELTFRAM_NBVARNUM 15 long mcfr_varnum[15]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_77_warmelt_normal_NORMEXP_INSTANCE is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_77_warmelt_normal_NORMEXP_INSTANCE_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 63; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_77_warmelt_normal_NORMEXP_INSTANCE nbval 63*/ meltfram__.mcfr_nbvar = 63 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_INSTANCE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3632:/ 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:3633:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_INSTANCE */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3633:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3633:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check instance recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3633) ? (3633) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3633:/ 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:3634:/ cppif.then"); /*^block */ /*anyblock */ { 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:3634:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3634:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3634) ? (3634) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3634:/ 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:3635:/ cppif.then"); /*^block */ /*anyblock */ { 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:3635:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3635:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3635) ? (3635) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3635:/ 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:3636:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3636:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3636:/ 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 = 3636; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_instance 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:3636:/ 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:3636:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3636:/ 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:3637:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3638:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SMINS_CLASS"); /*_.SCLASS__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3639:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SMINS_CLABIND"); /*_.SCLABIND__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3640:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "SMINS_FIELDS"); /*_.SFIELDS__V20*/ meltfptr[19] = slot; }; ; MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[4] = 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:3641:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SCLABIND__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.BINDER__V22*/ meltfptr[21] = slot; }; ; /*_.SCLASYM__V21*/ meltfptr[20] = /*_.BINDER__V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3641:/ clear"); /*clear *//*_.BINDER__V22*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*_.SCLASYM__V21*/ meltfptr[20] = NULL;; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_A__L7*/ 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:3642:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3643:/ 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]; /*_.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:3642:/ clear"); /*clear *//*_.NORMAL_EXP__V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*_.CLADATA__V23*/ meltfptr[21] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3644:/ apply"); /*apply */ { /*_.CINTSYMB__V25*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[7])), (melt_ptr_t) (( /*!konst_8_INSTANCE_INTER_ */ meltfrout-> tabval[8])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3645:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHECKSIGNAL */ meltfrout->tabval[9])), (1), "CLASS_NREP_CHECKSIGNAL"); /*_.INST__V27*/ meltfptr[26] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V27*/ meltfptr[26], "newly made instance"); ; /*_.NCHINT__V26*/ meltfptr[25] = /*_.INST__V27*/ meltfptr[26];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3647:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[10])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V29*/ meltfptr[28] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (0), ( /*_.CINTSYMB__V25*/ meltfptr[23]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[11])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (2), ( /*_.NCHINT__V26*/ meltfptr[25]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V29*/ meltfptr[28], "newly made instance"); ; /*_.CINTBIND__V28*/ meltfptr[27] = /*_.INST__V29*/ meltfptr[28];; MELT_LOCATION ("warmelt-normal.melt:3651:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltpair_st rpair_0__CINTBIND_x7; struct meltlist_st rlist_1__LIST_; 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 */ /*inipair rpair_0__CINTBIND_x7 */ /*_.CINTBIND__V31*/ meltfptr[30] = (melt_ptr_t) & meltletrec_1_ptr->rpair_0__CINTBIND_x7; meltletrec_1_ptr->rpair_0__CINTBIND_x7.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_1__LIST_ */ /*_.LIST___V32*/ meltfptr[31] = (melt_ptr_t) & meltletrec_1_ptr->rlist_1__LIST_; meltletrec_1_ptr->rlist_1__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*^putpairhead */ /*putpairhead */ melt_assertmsg ("putpairhead /8 checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CINTBIND__V31*/ meltfptr[30])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CINTBIND__V31*/ meltfptr[30]))->hd = (melt_ptr_t) ( /*_.CINTBIND__V28*/ meltfptr[27]); ; /*^touch */ meltgc_touch ( /*_.CINTBIND__V31*/ meltfptr[30]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.LIST___V32*/ meltfptr[31])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.LIST___V32*/ meltfptr[31]))->first = (meltpair_ptr_t) ( /*_.CINTBIND__V31*/ meltfptr[30]); ((meltlist_ptr_t) ( /*_.LIST___V32*/ meltfptr[31]))->last = (meltpair_ptr_t) ( /*_.CINTBIND__V31*/ meltfptr[30]); ; /*^touch */ meltgc_touch ( /*_.LIST___V32*/ meltfptr[31]); ; /*_.BINDLIST__V30*/ meltfptr[29] = /*_.LIST___V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3651:/ clear"); /*clear *//*_.CINTBIND__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.LIST___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CINTBIND__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.LIST___V32*/ meltfptr[31] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; /*_#IS_NOT_A__L8*/ meltfnum[7] = !melt_is_instance_of ((melt_ptr_t) ( /*_.SCLASS__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_CLASS */ meltfrout-> tabval[12])));; MELT_LOCATION ("warmelt-normal.melt:3655:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3656:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3656:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3656:/ 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 = 3656; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_instance bad sclass"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SCLASS__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V36*/ meltfptr[35] = 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___V35*/ meltfptr[34] = /*_.MELT_DEBUG_FUN__V36*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3656:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V36*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*_.IF___V35*/ meltfptr[34] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3656:/ quasiblock"); /*_.PROGN___V37*/ meltfptr[35] = /*_.IF___V35*/ meltfptr[34];; /*^compute */ /*_.IFCPP___V34*/ meltfptr[31] = /*_.PROGN___V37*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3656:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.PROGN___V37*/ meltfptr[35] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[31] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:3657:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("bad class in (INSTANCE [:field1 ...]) expression"), (melt_ptr_t) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3658:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = ( /*nil */ NULL);; { MELT_LOCATION ("warmelt-normal.melt:3658:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-normal.melt:3655:/ quasiblock"); /*_.PROGN___V39*/ meltfptr[35] = /*_.RETURN___V38*/ meltfptr[34];; /*^compute */ /*_.IFELSE___V33*/ meltfptr[30] = /*_.PROGN___V39*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3655:/ clear"); /*clear *//*_.IFCPP___V34*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.RETURN___V38*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.PROGN___V39*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_NOT_A__L11*/ meltfnum[9] = !melt_is_instance_of ((melt_ptr_t) ( /*_.CLADATA__V23*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_NREP */ meltfrout-> tabval[13])));; MELT_LOCATION ("warmelt-normal.melt:3660:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L11*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3661:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3661:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3661:/ 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 = 3661; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_instance bad cladata"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLADATA__V23*/ meltfptr[21]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V42*/ meltfptr[35] = /*_.MELT_DEBUG_FUN__V43*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3661:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = 0; } ; } else { /*^cond.else */ /*_.IF___V42*/ meltfptr[35] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3661:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[42] = /*_.IF___V42*/ meltfptr[35];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[34] = /*_.PROGN___V44*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3661:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V42*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.PROGN___V44*/ meltfptr[42] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V41*/ meltfptr[34] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3663:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SCLASS__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[14]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SCLASS__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V45*/ meltfptr[35] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V45*/ meltfptr[35] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3662:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("invalid class in (INSTANCE [:field1 ...]) expression"), (melt_ptr_t) ( /*_.NAMED_NAME__V45*/ meltfptr[35])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3664:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = ( /*nil */ NULL);; { MELT_LOCATION ("warmelt-normal.melt:3664:/ 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:3660:/ quasiblock"); /*_.PROGN___V47*/ meltfptr[46] = /*_.RETURN___V46*/ meltfptr[42];; /*^compute */ /*_.IFELSE___V40*/ meltfptr[31] = /*_.PROGN___V47*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3660:/ clear"); /*clear *//*_.IFCPP___V41*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V45*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.RETURN___V46*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.PROGN___V47*/ meltfptr[46] = 0; } ; } else { /*^cond.else */ /*_.IFELSE___V40*/ meltfptr[31] = NULL;; } ; /*^compute */ /*_.IFELSE___V33*/ meltfptr[30] = /*_.IFELSE___V40*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3655:/ clear"); /*clear *//*_#IS_NOT_A__L11*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V40*/ meltfptr[31] = 0; } ; } ; MELT_LOCATION ("warmelt-normal.melt:3667:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:3670:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V50*/ meltfptr[42] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_25 */ meltfrout-> tabval[25])), (5)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V50*/ meltfptr[42])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V50*/ meltfptr[42]))); ((meltclosure_ptr_t) /*_.LAMBDA___V50*/ meltfptr[42])->tabval[0] = (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V50*/ meltfptr[42])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V50*/ meltfptr[42]))); ((meltclosure_ptr_t) /*_.LAMBDA___V50*/ meltfptr[42])->tabval[1] = (melt_ptr_t) ( /*_.SCLASS__V18*/ meltfptr[17]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V50*/ meltfptr[42])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V50*/ meltfptr[42]))); ((meltclosure_ptr_t) /*_.LAMBDA___V50*/ meltfptr[42])->tabval[2] = (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V50*/ meltfptr[42])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 3 >= 0 && 3 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V50*/ meltfptr[42]))); ((meltclosure_ptr_t) /*_.LAMBDA___V50*/ meltfptr[42])->tabval[3] = (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V50*/ meltfptr[42])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 4 >= 0 && 4 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V50*/ meltfptr[42]))); ((meltclosure_ptr_t) /*_.LAMBDA___V50*/ meltfptr[42])->tabval[4] = (melt_ptr_t) ( /*_.BINDLIST__V30*/ meltfptr[29]); ; /*_.LAMBDA___V49*/ meltfptr[35] = /*_.LAMBDA___V50*/ meltfptr[42];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3668:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V49*/ meltfptr[35]; /*_.NFIELDS__V51*/ meltfptr[46] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_MAP */ meltfrout->tabval[15])), (melt_ptr_t) ( /*_.SFIELDS__V20*/ meltfptr[19]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3719:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_INSTANCE */ meltfrout->tabval[26])), (4), "CLASS_NREP_INSTANCE"); /*_.INST__V53*/ meltfptr[52] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V53*/ meltfptr[52]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NMINS_CLASS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V53*/ meltfptr[52]), (1), ( /*_.SCLASS__V18*/ meltfptr[17]), "NMINS_CLASS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NMINS_CLADATA", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V53*/ meltfptr[52]), (2), ( /*_.CLADATA__V23*/ meltfptr[21]), "NMINS_CLADATA"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NMINS_FIELDS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V53*/ meltfptr[52])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V53*/ meltfptr[52]), (3), ( /*_.NFIELDS__V51*/ meltfptr[46]), "NMINS_FIELDS"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V53*/ meltfptr[52], "newly made instance"); ; /*_.NMKINS__V52*/ meltfptr[31] = /*_.INST__V53*/ meltfptr[52];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3724:/ apply"); /*apply */ { /*_.CSYM__V54*/ meltfptr[53] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[7])), (melt_ptr_t) (( /*!konst_27_INST_ */ meltfrout-> tabval[27])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3725:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[10])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V56*/ meltfptr[55] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V56*/ meltfptr[55])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V56*/ meltfptr[55]), (0), ( /*_.CSYM__V54*/ meltfptr[53]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V56*/ meltfptr[55])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V56*/ meltfptr[55]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V56*/ meltfptr[55])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V56*/ meltfptr[55]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[28])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V56*/ meltfptr[55])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V56*/ meltfptr[55]), (2), ( /*_.NMKINS__V52*/ meltfptr[31]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V56*/ meltfptr[55], "newly made instance"); ; /*_.CBIND__V55*/ meltfptr[54] = /*_.INST__V56*/ meltfptr[55];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3730:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[29])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V58*/ meltfptr[57] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V58*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V58*/ meltfptr[57]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V58*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V58*/ meltfptr[57]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[28])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V58*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V58*/ meltfptr[57]), (1), ( /*_.CSYM__V54*/ meltfptr[53]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V58*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V58*/ meltfptr[57]), (3), ( /*_.CBIND__V55*/ meltfptr[54]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V58*/ meltfptr[57], "newly made instance"); ; /*_.CLOCC__V57*/ meltfptr[56] = /*_.INST__V58*/ meltfptr[57];; { MELT_LOCATION ("warmelt-normal.melt:3736:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.BINDLIST__V30*/ meltfptr[29]), (melt_ptr_t) ( /*_.CBIND__V55*/ meltfptr[54])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3737:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3737:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3737:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3737; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_instance result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V57*/ meltfptr[56]; /*^apply.arg */ argtab[5].meltbp_cstring = " bindlist="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.BINDLIST__V30*/ meltfptr[29]; /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60] = 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___V60*/ meltfptr[59] = /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3737:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V61*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*_.IF___V60*/ meltfptr[59] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3737:/ quasiblock"); /*_.PROGN___V62*/ meltfptr[60] = /*_.IF___V60*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V59*/ meltfptr[58] = /*_.PROGN___V62*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3737:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IF___V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.PROGN___V62*/ meltfptr[60] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V59*/ meltfptr[58] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3738:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V57*/ meltfptr[56];; MELT_LOCATION ("warmelt-normal.melt:3738:/ 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__V30*/ meltfptr[29]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V48*/ meltfptr[34] = /*_.RETURN___V63*/ meltfptr[59];; MELT_LOCATION ("warmelt-normal.melt:3667:/ clear"); /*clear *//*_.LAMBDA___V49*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.NFIELDS__V51*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.NMKINS__V52*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CSYM__V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.CBIND__V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.CLOCC__V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.IFCPP___V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.RETURN___V63*/ meltfptr[59] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.LET___V48*/ meltfptr[34];; MELT_LOCATION ("warmelt-normal.melt:3637:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 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__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.SCLASYM__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#IS_A__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.CLADATA__V23*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.CINTSYMB__V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.NCHINT__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.CINTBIND__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.BINDLIST__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V33*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.LET___V48*/ meltfptr[34] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3632:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3632:/ 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_INSTANCE", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_77_warmelt_normal_NORMEXP_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_77_warmelt_normal_NORMEXP_INSTANCE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_78_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_) { long current_blocklevel_signals_meltrout_78_warmelt_normal_LAMBDA___27___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_78_warmelt_normal_LAMBDA___27___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 48 melt_ptr_t mcfr_varptr[48]; #define MELTFRAM_NBVARNUM 16 long mcfr_varnum[16]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_78_warmelt_normal_LAMBDA___27__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_78_warmelt_normal_LAMBDA___27___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 48; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_78_warmelt_normal_LAMBDA___27__ nbval 48*/ meltfram__.mcfr_nbvar = 48 /*nbval */ ; 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:3670:/ 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:3671:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3671:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3671:/ 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 = 3671; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_instance.lambda curflda"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURFLDA__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:3671:/ 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:3671:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3671:/ 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:3672:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[2] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURFLDA__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_FIELDASSIGN */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:3672:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V8*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3672:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curflda"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3672) ? (3672) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V8*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[3] = /*_.IFELSE___V8*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3672:/ 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:3673:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFLDA__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.CURFLOC__V10*/ meltfptr[9] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3674:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFLDA__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SFLA_FIELD"); /*_.CURFIELD__V11*/ meltfptr[10] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3675:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFLDA__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SFLA_EXPR"); /*_.CUREXP__V12*/ meltfptr[11] = slot; }; ; MELT_CHECK_SIGNAL (); ; /*_#NULL__L5*/ meltfnum[1] = (( /*_.CURFLOC__V10*/ meltfptr[9]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:3676:/ cond"); /*cond */ if ( /*_#NULL__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^compute */ /*_.CURFLOC__V10*/ meltfptr[9] = /*_.SETQ___V14*/ meltfptr[13] = ( /*~SLOC */ meltfclos->tabval[0]);; /*_.IF___V13*/ meltfptr[12] = /*_.SETQ___V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3676:/ clear"); /*clear *//*_.SETQ___V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_.IF___V13*/ meltfptr[12] = NULL;; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_NOT_A__L6*/ meltfnum[2] = !melt_is_instance_of ((melt_ptr_t) ( /*_.CURFIELD__V11*/ meltfptr[10]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout-> tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:3679:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L6*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3680:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3680:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3680:/ 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 = 3680; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_instance corrupted curflda="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURFLDA__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " curfield="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CURFIELD__V11*/ meltfptr[10]; /*_.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 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:3680:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V18*/ meltfptr[17] = 0; } ; } else { /*^cond.else */ /*_.IF___V17*/ meltfptr[16] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3680:/ quasiblock"); /*_.PROGN___V19*/ meltfptr[17] = /*_.IF___V17*/ meltfptr[16];; /*^compute */ /*_.IFCPP___V16*/ meltfptr[15] = /*_.PROGN___V19*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3680:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[6] = 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:3684:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~SCLASS */ meltfclos-> tabval[1])), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~SCLASS */ meltfclos-> tabval[1])) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V20*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V20*/ meltfptr[16] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3682:/ locexp"); melt_error_str ((melt_ptr_t) (( /*~SLOC */ meltfclos->tabval[0])), ("invalid field in (INSTANCE [:field1 ...]) expression"), (melt_ptr_t) ( /*_.NAMED_NAME__V20*/ meltfptr[16])); } ; MELT_LOCATION ("warmelt-normal.melt:3685:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:3685:/ 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:3679:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[21] = /*_.RETURN___V21*/ meltfptr[17];; /*^compute */ /*_.IFELSE___V15*/ meltfptr[13] = /*_.PROGN___V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3679:/ clear"); /*clear *//*_.IFCPP___V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V20*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.RETURN___V21*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V22*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3686:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFIELD__V11*/ meltfptr[10]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "FLD_OWNCLASS"); /*_.FLD_OWNCLASS__V23*/ meltfptr[15] = slot; }; ; /*_#SUBCLASS_OR_EQ__L9*/ meltfnum[7] = ((( /*~SCLASS */ meltfclos->tabval[1]) == /*_.FLD_OWNCLASS__V23*/ meltfptr[15]) || melt_is_subclass_of ((meltobject_ptr_t) (( /*~SCLASS */ meltfclos->tabval[1])), (meltobject_ptr_t) ( /*_.FLD_OWNCLASS__V23*/ meltfptr[15])));; /*^compute */ /*_#NOT__L10*/ meltfnum[6] = (!( /*_#SUBCLASS_OR_EQ__L9*/ meltfnum[7]));; MELT_LOCATION ("warmelt-normal.melt:3686:/ cond"); /*cond */ if ( /*_#NOT__L10*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3687:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ 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:3687:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3687:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 3687; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_instance corrupted curflda="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURFLDA__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " curfield="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CURFIELD__V11*/ meltfptr[10]; /*_.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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V26*/ meltfptr[21] = /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3687:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_.IF___V26*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3687:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_.IF___V26*/ meltfptr[21];; /*^compute */ /*_.IFCPP___V25*/ meltfptr[17] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3687:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V26*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PROGN___V28*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V25*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3691:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURFIELD__V11*/ meltfptr[10]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFIELD__V11*/ meltfptr[10]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V29*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V29*/ meltfptr[21] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3689:/ locexp"); melt_error_str ((melt_ptr_t) (( /*~SLOC */ meltfclos->tabval[0])), ("unexpected field in (INSTANCE [:field1 ...]) expression"), (melt_ptr_t) ( /*_.NAMED_NAME__V29*/ meltfptr[21])); } ; MELT_LOCATION ("warmelt-normal.melt:3694:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFIELD__V11*/ meltfptr[10]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "FLD_OWNCLASS"); /*_.FLD_OWNCLASS__V30*/ meltfptr[26] = slot; }; ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.FLD_OWNCLASS__V30*/ meltfptr[26]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FLD_OWNCLASS__V30*/ meltfptr[26]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V31*/ meltfptr[30] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V31*/ meltfptr[30] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3692:/ locexp"); melt_inform_str ((melt_ptr_t) (( /*~SLOC */ meltfclos->tabval[0])), ("this field belongs to class "), (melt_ptr_t) ( /*_.NAMED_NAME__V31*/ meltfptr[30])); } ; MELT_LOCATION ("warmelt-normal.melt:3697:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~SCLASS */ meltfclos->tabval[1])), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*~SCLASS */ meltfclos-> tabval[1])) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V32*/ meltfptr[31] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V32*/ meltfptr[31] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3695:/ locexp"); melt_inform_str ((melt_ptr_t) (( /*~SLOC */ meltfclos->tabval[0])), ("field misused in (INSTANCE ...) of class"), (melt_ptr_t) ( /*_.NAMED_NAME__V32*/ meltfptr[31])); } ; MELT_LOCATION ("warmelt-normal.melt:3698:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:3698:/ 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:3686:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[33] = /*_.RETURN___V33*/ meltfptr[32];; /*^compute */ /*_.IFELSE___V24*/ meltfptr[16] = /*_.PROGN___V34*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3686:/ clear"); /*clear *//*_.IFCPP___V25*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V29*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.FLD_OWNCLASS__V30*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.RETURN___V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[33] = 0; } ; } else { /*^cond.else */ /*_.IFELSE___V24*/ meltfptr[16] = NULL;; } ; /*^compute */ /*_.IFELSE___V15*/ meltfptr[13] = /*_.IFELSE___V24*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3679:/ clear"); /*clear *//*_.FLD_OWNCLASS__V23*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_#SUBCLASS_OR_EQ__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_#NOT__L10*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V24*/ meltfptr[16] = 0; } ; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3701:/ 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[2]); /*^multimsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & ( /*~NCX */ meltfclos->tabval[3]); /*^multimsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.CURFLOC__V10*/ meltfptr[9]; /*^multimsend.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V37*/ meltfptr[26]; /*^multimsend.send */ /*_.NEXP__V36*/ meltfptr[21] = meltgc_send ((melt_ptr_t) ( /*_.CUREXP__V12*/ meltfptr[11]), ((melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[4]))), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3704:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L13*/ meltfnum[11] = (( /*_.NBIND__V37*/ meltfptr[26]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.NBIND__V37*/ meltfptr[26])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-normal.melt:3704:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L13*/ meltfnum[11]) /*then */ { /*^cond.then */ /*_.IFELSE___V39*/ meltfptr[31] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3704:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3704) ? (3704) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V39*/ meltfptr[31] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V38*/ meltfptr[30] = /*_.IFELSE___V39*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3704:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L13*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IFELSE___V39*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3705:/ quasiblock"); 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 */ meltfclos->tabval[2]); /*_.FCTYP__V40*/ meltfptr[32] = meltgc_send ((melt_ptr_t) ( /*_.NEXP__V36*/ meltfptr[21]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[5])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3706:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ 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:3706:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3706:/ 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 = 3706; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_instance fctyp"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FCTYP__V40*/ meltfptr[32]; /*_.MELT_DEBUG_FUN__V43*/ 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___V42*/ meltfptr[15] = /*_.MELT_DEBUG_FUN__V43*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3706:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V43*/ meltfptr[16] = 0; } ; } else { /*^cond.else */ /*_.IF___V42*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3706:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[31] = /*_.IF___V42*/ meltfptr[15];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[33] = /*_.PROGN___V44*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3706:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V42*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.PROGN___V44*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V41*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#__L16*/ meltfnum[6] = (( /*_.FCTYP__V40*/ meltfptr[32]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:3707:/ cond"); /*cond */ if ( /*_#__L16*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3711:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURFIELD__V11*/ meltfptr[10]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFIELD__V11*/ meltfptr[10]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V45*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V45*/ meltfptr[16] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:3708:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.CURFLOC__V10*/ meltfptr[9]), ("invalid field type in (INSTANCE ..); expecting a :value"), (melt_ptr_t) ( /*_.NAMED_NAME__V45*/ meltfptr[16])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3707:/ clear"); /*clear *//*_.NAMED_NAME__V45*/ meltfptr[16] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:3705:/ clear"); /*clear *//*_.FCTYP__V40*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.IFCPP___V41*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_#__L16*/ meltfnum[6] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3712:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V37*/ meltfptr[26]; /*_.LIST_APPEND2LIST__V46*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[7])), (melt_ptr_t) (( /*~BINDLIST */ meltfclos->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3713:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_FIELDASSIGN */ meltfrout->tabval[8])), (3), "CLASS_NREP_FIELDASSIGN"); /*_.INST__V48*/ meltfptr[16] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[16]), (0), ( /*_.CURFLOC__V10*/ meltfptr[9]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NFLA_FIELD", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[16]), (1), ( /*_.CURFIELD__V11*/ meltfptr[10]), "NFLA_FIELD"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NFLA_VAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[16]), (2), ( /*_.NEXP__V36*/ meltfptr[21]), "NFLA_VAL"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V48*/ meltfptr[16], "newly made instance"); ; /*_.INST___V47*/ meltfptr[31] = /*_.INST__V48*/ meltfptr[16];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_.MULTI___V35*/ meltfptr[17] = /*_.INST___V47*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:3701:/ clear"); /*clear *//*_.IFCPP___V38*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V46*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.INST___V47*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.NBIND__V37*/ meltfptr[26] = 0; /*_.LET___V9*/ meltfptr[4] = /*_.MULTI___V35*/ meltfptr[17];; MELT_LOCATION ("warmelt-normal.melt:3673:/ clear"); /*clear *//*_.CURFLOC__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.CURFIELD__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.CUREXP__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_#NULL__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L6*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.MULTI___V35*/ meltfptr[17] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3670:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V9*/ meltfptr[4];; { MELT_LOCATION ("warmelt-normal.melt:3670:/ 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 *//*_.LET___V9*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_78_warmelt_normal_LAMBDA___27___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_78_warmelt_normal_LAMBDA___27__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_79_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_) { long current_blocklevel_signals_meltrout_79_warmelt_normal_LAMBDA___28___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_79_warmelt_normal_LAMBDA___28___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 3 melt_ptr_t mcfr_varptr[3]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_79_warmelt_normal_LAMBDA___28__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_79_warmelt_normal_LAMBDA___28___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; 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__)); /* declstructinit plain routine meltrout_79_warmelt_normal_LAMBDA___28__ nbval 3*/ meltfram__.mcfr_nbvar = 3 /*nbval */ ; 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:3744:/ 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); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { /*_.RETVAL___V1*/ meltfptr[0] = ( /*!CTYPE_VALUE */ meltfrout->tabval[0]);; { MELT_LOCATION ("warmelt-normal.melt:3744:/ 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; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_79_warmelt_normal_LAMBDA___28___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_79_warmelt_normal_LAMBDA___28__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_80_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_) { long current_blocklevel_signals_meltrout_80_warmelt_normal_NORMEXP_FOREVER_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_80_warmelt_normal_NORMEXP_FOREVER_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 88 melt_ptr_t mcfr_varptr[88]; #define MELTFRAM_NBVARNUM 25 long mcfr_varnum[25]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_80_warmelt_normal_NORMEXP_FOREVER is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_80_warmelt_normal_NORMEXP_FOREVER_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 88; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_80_warmelt_normal_NORMEXP_FOREVER nbval 88*/ meltfram__.mcfr_nbvar = 88 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_FOREVER", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3749:/ 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:3750:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_FOREVER */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3750:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3750:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check forever recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3750) ? (3750) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3750:/ 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:3751:/ cppif.then"); /*^block */ /*anyblock */ { 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:3751:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3751:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3751) ? (3751) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3751:/ 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:3752:/ cppif.then"); /*^block */ /*anyblock */ { 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:3752:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3752:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3752) ? (3752) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3752:/ 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:3753:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3753:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3753:/ 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 = 3753; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_forever 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:3753:/ 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:3753:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3753:/ 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:3754:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3755:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SLABEL_BIND"); /*_.SLBIND__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3756:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SFRV_BODY"); /*_.SBODY__V19*/ meltfptr[18] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3757:/ apply"); /*apply */ { /*_.NEWENV__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3759:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.SLBIND__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_LABEL_BINDING */ meltfrout->tabval[5])));; MELT_LOCATION ("warmelt-normal.melt:3759:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V22*/ meltfptr[21] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3759:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check slbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3759) ? (3759) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V22*/ meltfptr[21] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V21*/ meltfptr[20] = /*_.IFELSE___V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3759:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V22*/ meltfptr[21] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[20] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3760:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SLBIND__V18*/ meltfptr[17]; /*_.PUT_ENV__V23*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[6])), (melt_ptr_t) ( /*_.NEWENV__V20*/ meltfptr[19]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3761:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SLBIND__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.BINDER__V25*/ meltfptr[24] = slot; }; ; MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.RESY__V26*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.BINDER__V25*/ meltfptr[24]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3762:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3762:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3762:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 3762; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_forever putting resy="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RESY__V26*/ meltfptr[25]; /*^apply.arg */ argtab[5].meltbp_cstring = " in slbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SLBIND__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V29*/ meltfptr[28] = 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___V28*/ meltfptr[27] = /*_.MELT_DEBUG_FUN__V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3762:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V29*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*_.IF___V28*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3762:/ quasiblock"); /*_.PROGN___V30*/ meltfptr[28] = /*_.IF___V28*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V27*/ meltfptr[26] = /*_.PROGN___V30*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3762:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V30*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V27*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3763:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L9*/ meltfnum[4] = (melt_magic_discr ((melt_ptr_t) ( /*_.RESY__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-normal.melt:3763:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L9*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V32*/ meltfptr[28] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3763:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check resy obj1"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3763) ? (3763) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V32*/ meltfptr[28] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V31*/ meltfptr[27] = /*_.IFELSE___V32*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3763:/ clear"); /*clear *//*_#IS_OBJECT__L9*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V32*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3764:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LABIND_CLONSY", melt_magic_discr ((melt_ptr_t) ( /*_.SLBIND__V18*/ meltfptr[17])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.SLBIND__V18*/ meltfptr[17]), (2), ( /*_.RESY__V26*/ meltfptr[25]), "LABIND_CLONSY"); ; /*^touch */ meltgc_touch ( /*_.SLBIND__V18*/ meltfptr[17]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.SLBIND__V18*/ meltfptr[17], "put-fields"); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3765:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3765:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3765:/ 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 = 3765; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_forever updated slbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SLBIND__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = 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___V34*/ meltfptr[33] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3765:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V35*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*_.IF___V34*/ meltfptr[33] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3765:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[34] = /*_.IF___V34*/ meltfptr[33];; /*^compute */ /*_.IFCPP___V33*/ meltfptr[28] = /*_.PROGN___V36*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3765:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.PROGN___V36*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V33*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3766:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L12*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.RESY__V26*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_CLONED_SYMBOL */ meltfrout->tabval[8])));; MELT_LOCATION ("warmelt-normal.melt:3766:/ cond"); /*cond */ if ( /*_#IS_A__L12*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V38*/ meltfptr[34] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3766:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check resy"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3766) ? (3766) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V38*/ meltfptr[34] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V37*/ meltfptr[33] = /*_.IFELSE___V38*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3766:/ clear"); /*clear *//*_#IS_A__L12*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V38*/ meltfptr[34] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V37*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3767:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ 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:3767:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_LOCATION ("warmelt-normal.melt:3767:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SLBIND__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "LABIND_CLONSY"); /*_.LABIND_CLONSY__V41*/ meltfptr[40] = slot; }; ; MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3767; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_forever got1 clonsy "; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.LABIND_CLONSY__V41*/ meltfptr[40]; /*_.MELT_DEBUG_FUN__V42*/ meltfptr[41] = 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___V40*/ meltfptr[39] = /*_.MELT_DEBUG_FUN__V42*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3767:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.LABIND_CLONSY__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V42*/ meltfptr[41] = 0; } ; } else { /*^cond.else */ /*_.IF___V40*/ meltfptr[39] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3767:/ quasiblock"); /*_.PROGN___V43*/ meltfptr[40] = /*_.IF___V40*/ meltfptr[39];; /*^compute */ /*_.IFCPP___V39*/ meltfptr[34] = /*_.PROGN___V43*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3767:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.PROGN___V43*/ meltfptr[40] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V39*/ meltfptr[34] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3768:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SLBIND__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "LABIND_CLONSY"); /*_.LABIND_CLONSY__V45*/ meltfptr[39] = slot; }; ; /*_#__L15*/ meltfnum[4] = (( /*_.LABIND_CLONSY__V45*/ meltfptr[39]) == ( /*_.RESY__V26*/ meltfptr[25]));; MELT_LOCATION ("warmelt-normal.melt:3768:/ cond"); /*cond */ if ( /*_#__L15*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V46*/ meltfptr[40] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3768:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check did1 put resy"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3768) ? (3768) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V46*/ meltfptr[40] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V44*/ meltfptr[41] = /*_.IFELSE___V46*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3768:/ clear"); /*clear *//*_.LABIND_CLONSY__V45*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_#__L15*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V46*/ meltfptr[40] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V44*/ meltfptr[41] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3769:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L16*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.RESY__V26*/ meltfptr[25])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-normal.melt:3769:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L16*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V48*/ meltfptr[40] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3769:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check resy obj2"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3769) ? (3769) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V48*/ meltfptr[40] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V47*/ meltfptr[39] = /*_.IFELSE___V48*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3769:/ clear"); /*clear *//*_#IS_OBJECT__L16*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V48*/ meltfptr[40] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V47*/ meltfptr[39] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3770:/ 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__V20*/ meltfptr[19]; /*^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__V51*/ meltfptr[50]; /*^multiapply.appl */ /*_.NBODY__V50*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[9])), (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:3773:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ 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:3773:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L18*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3773:/ apply"); /*apply */ { union meltparam_un argtab[9]; 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 = 3773; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_forever again slbind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SLBIND__V18*/ meltfptr[17]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbody="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBODY__V50*/ meltfptr[49]; /*^apply.arg */ argtab[7].meltbp_cstring = " nbodbindings="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NBODBINDINGS__V51*/ meltfptr[50]; /*_.MELT_DEBUG_FUN__V54*/ meltfptr[53] = 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___V53*/ meltfptr[52] = /*_.MELT_DEBUG_FUN__V54*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3773:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L18*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V54*/ meltfptr[53] = 0; } ; } else { /*^cond.else */ /*_.IF___V53*/ meltfptr[52] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3773:/ quasiblock"); /*_.PROGN___V55*/ meltfptr[53] = /*_.IF___V53*/ meltfptr[52];; /*^compute */ /*_.IFCPP___V52*/ meltfptr[51] = /*_.PROGN___V55*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3773:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[4] = 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:3775:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CINTSYMB__V57*/ meltfptr[53] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[7])), (melt_ptr_t) (( /*!konst_10_FOREVER_INTER_ */ meltfrout-> tabval[10])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3776:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CHECKSIGNAL */ meltfrout->tabval[11])), (1), "CLASS_NREP_CHECKSIGNAL"); /*_.INST__V59*/ meltfptr[58] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V59*/ meltfptr[58])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V59*/ meltfptr[58]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V59*/ meltfptr[58], "newly made instance"); ; /*_.NCHINT__V58*/ meltfptr[57] = /*_.INST__V59*/ meltfptr[58];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3778:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[12])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V61*/ meltfptr[60] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V61*/ meltfptr[60])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V61*/ meltfptr[60]), (0), ( /*_.CINTSYMB__V57*/ meltfptr[53]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V61*/ meltfptr[60])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V61*/ meltfptr[60]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[13])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V61*/ meltfptr[60])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V61*/ meltfptr[60]), (2), ( /*_.NCHINT__V58*/ meltfptr[57]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V61*/ meltfptr[60], "newly made instance"); ; /*_.CINTBIND__V60*/ meltfptr[59] = /*_.INST__V61*/ meltfptr[60];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L19*/ meltfnum[0] = (( /*_.NBODBINDINGS__V51*/ meltfptr[50]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:3783:/ cond"); /*cond */ if ( /*_#NULL__L19*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3784:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltpair_st rpair_0__CINTBIND_x8; struct meltlist_st rlist_1__LIST_; 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 */ /*inipair rpair_0__CINTBIND_x8 */ /*_.CINTBIND__V64*/ meltfptr[63] = (melt_ptr_t) & meltletrec_1_ptr->rpair_0__CINTBIND_x8; meltletrec_1_ptr->rpair_0__CINTBIND_x8.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_1__LIST_ */ /*_.LIST___V65*/ meltfptr[64] = (melt_ptr_t) & meltletrec_1_ptr->rlist_1__LIST_; meltletrec_1_ptr->rlist_1__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*^putpairhead */ /*putpairhead */ melt_assertmsg ("putpairhead /9 checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CINTBIND__V64*/ meltfptr[63])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CINTBIND__V64*/ meltfptr[63]))->hd = (melt_ptr_t) ( /*_.CINTBIND__V60*/ meltfptr[59]); ; /*^touch */ meltgc_touch ( /*_.CINTBIND__V64*/ meltfptr[63]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.LIST___V65*/ meltfptr[64])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.LIST___V65*/ meltfptr[64]))->first = (meltpair_ptr_t) ( /*_.CINTBIND__V64*/ meltfptr[63]); ((meltlist_ptr_t) ( /*_.LIST___V65*/ meltfptr[64]))->last = (meltpair_ptr_t) ( /*_.CINTBIND__V64*/ meltfptr[63]); ; /*^touch */ meltgc_touch ( /*_.LIST___V65*/ meltfptr[64]); ; /*_.LIST___V63*/ meltfptr[62] = /*_.LIST___V65*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3784:/ clear"); /*clear *//*_.CINTBIND__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.LIST___V65*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.CINTBIND__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.LIST___V65*/ meltfptr[64] = 0; } /*end multiallocblock */ ; /*^compute */ /*_.NBODBINDINGS__V51*/ meltfptr[50] = /*_.SETQ___V66*/ meltfptr[63] = /*_.LIST___V63*/ meltfptr[62];; /*_.IFELSE___V62*/ meltfptr[61] = /*_.SETQ___V66*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3783:/ clear"); /*clear *//*_.LIST___V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.SETQ___V66*/ meltfptr[63] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:3785:/ locexp"); meltgc_prepend_list ((melt_ptr_t) ( /*_.NBODBINDINGS__V51*/ meltfptr[50]), (melt_ptr_t) ( /*_.CINTBIND__V60*/ meltfptr[59])); } ; /*clear *//*_.IFELSE___V62*/ meltfptr[61] = 0; /*epilog */ } ; } ; /*^compute */ /*_.LET___V56*/ meltfptr[52] = /*_.IFELSE___V62*/ meltfptr[61];; MELT_LOCATION ("warmelt-normal.melt:3775:/ clear"); /*clear *//*_.CINTSYMB__V57*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.NCHINT__V58*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.CINTBIND__V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_#NULL__L19*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V62*/ meltfptr[61] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3787:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SLBIND__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "LABIND_CLONSY"); /*_.LABIND_CLONSY__V68*/ meltfptr[62] = slot; }; ; /*_#__L20*/ meltfnum[4] = (( /*_.LABIND_CLONSY__V68*/ meltfptr[62]) == ( /*_.RESY__V26*/ meltfptr[25]));; MELT_LOCATION ("warmelt-normal.melt:3787:/ cond"); /*cond */ if ( /*_#__L20*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V69*/ meltfptr[63] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3787:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check did2 put resy"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3787) ? (3787) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V69*/ meltfptr[63] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V67*/ meltfptr[64] = /*_.IFELSE___V69*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3787:/ clear"); /*clear *//*_.LABIND_CLONSY__V68*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_#__L20*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V69*/ meltfptr[63] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V67*/ meltfptr[64] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3788:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#GET_INT__L21*/ meltfnum[0] = (melt_get_int ((melt_ptr_t) (( /*!LABIND_CLONSY */ meltfrout->tabval[14]))));; /*^compute */ /*_#OBJECT_LENGTH__L22*/ meltfnum[4] = ((long) melt_object_length ((melt_ptr_t) ( /*_.SLBIND__V18*/ meltfptr[17])));; /*^compute */ /*_#I__L23*/ meltfnum[22] = (( /*_#GET_INT__L21*/ meltfnum[0]) < ( /*_#OBJECT_LENGTH__L22*/ meltfnum[4]));; MELT_LOCATION ("warmelt-normal.melt:3788:/ cond"); /*cond */ if ( /*_#I__L23*/ meltfnum[22]) /*then */ { /*^cond.then */ /*_.IFELSE___V71*/ meltfptr[57] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3788:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check size slbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3788) ? (3788) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V71*/ meltfptr[57] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V70*/ meltfptr[53] = /*_.IFELSE___V71*/ meltfptr[57];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3788:/ clear"); /*clear *//*_#GET_INT__L21*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#OBJECT_LENGTH__L22*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_#I__L23*/ meltfnum[22] = 0; /*^clear */ /*clear *//*_.IFELSE___V71*/ meltfptr[57] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V70*/ meltfptr[53] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:3789:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3791:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBODBINDINGS__V51*/ meltfptr[50]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*_.WRAP_NORMAL_LETSEQ__V73*/ meltfptr[61] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LETSEQ */ meltfrout->tabval[15])), (melt_ptr_t) ( /*_.NBODY__V50*/ meltfptr[49]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:3790:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_2_st { struct MELT_MULTIPLE_STRUCT (1) rtup_0__TUPLREC__x7; long meltletrec_2_endgap; } *meltletrec_2_ptr = 0; meltletrec_2_ptr = (struct meltletrec_2_st *) meltgc_allocate (sizeof (struct meltletrec_2_st), 0); /*^blockmultialloc.initfill */ /*inimult rtup_0__TUPLREC__x7 */ /*_.TUPLREC___V75*/ meltfptr[63] = (melt_ptr_t) & meltletrec_2_ptr->rtup_0__TUPLREC__x7; meltletrec_2_ptr->rtup_0__TUPLREC__x7.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_2_ptr->rtup_0__TUPLREC__x7.nbval = 1; /*^putuple */ /*putupl#31 */ melt_assertmsg ("putupl [:3790] #31 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V75*/ meltfptr[63])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:3790] #31 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V75*/ meltfptr[63])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V75*/ meltfptr[63]))->tabval[0] = (melt_ptr_t) ( /*_.WRAP_NORMAL_LETSEQ__V73*/ meltfptr[61]); ; /*^touch */ meltgc_touch ( /*_.TUPLREC___V75*/ meltfptr[63]); ; /*_.RESBODY__V74*/ meltfptr[62] = /*_.TUPLREC___V75*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3790:/ clear"); /*clear *//*_.TUPLREC___V75*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.TUPLREC___V75*/ meltfptr[63] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3792:/ apply"); /*apply */ { /*_.CSYM__V76*/ meltfptr[57] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[7])), (melt_ptr_t) (( /*!konst_16_FOREVER_ */ meltfrout-> tabval[16])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3793:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_FOREVER */ meltfrout->tabval[17])), (4), "CLASS_NREP_FOREVER"); /*_.INST__V78*/ meltfptr[77] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V78*/ meltfptr[77])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V78*/ meltfptr[77]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NFOREVER_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V78*/ meltfptr[77])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V78*/ meltfptr[77]), (1), ( /*_.SLBIND__V18*/ meltfptr[17]), "NFOREVER_BIND"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NFOREVER_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V78*/ meltfptr[77])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V78*/ meltfptr[77]), (2), ( /*_.RESBODY__V74*/ meltfptr[62]), "NFOREVER_BODY"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NFOREVER_RESULT", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V78*/ meltfptr[77])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V78*/ meltfptr[77]), (3), ( /*_.RESY__V26*/ meltfptr[25]), "NFOREVER_RESULT"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V78*/ meltfptr[77], "newly made instance"); ; /*_.NFOREVER__V77*/ meltfptr[63] = /*_.INST__V78*/ meltfptr[77];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3798:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[12])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V80*/ meltfptr[79] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V80*/ meltfptr[79])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V80*/ meltfptr[79]), (0), ( /*_.CSYM__V76*/ meltfptr[57]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V80*/ meltfptr[79])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V80*/ meltfptr[79]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V80*/ meltfptr[79])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V80*/ meltfptr[79]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[18])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V80*/ meltfptr[79])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V80*/ meltfptr[79]), (2), ( /*_.NFOREVER__V77*/ meltfptr[63]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V80*/ meltfptr[79], "newly made instance"); ; /*_.CBIND__V79*/ meltfptr[78] = /*_.INST__V80*/ meltfptr[79];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3803:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[19])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V82*/ meltfptr[81] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[81])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[81]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[81])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[81]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[18])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[81])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[81]), (1), ( /*_.CSYM__V76*/ meltfptr[57]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V82*/ meltfptr[81])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V82*/ meltfptr[81]), (3), ( /*_.CBIND__V79*/ meltfptr[78]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V82*/ meltfptr[81], "newly made instance"); ; /*_.CLOCC__V81*/ meltfptr[80] = /*_.INST__V82*/ meltfptr[81];; /*^compute */ /*_.NFORBINDINGS__V83*/ meltfptr[82] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[20]))));; { MELT_LOCATION ("warmelt-normal.melt:3810:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NFORBINDINGS__V83*/ meltfptr[82]), (melt_ptr_t) ( /*_.CBIND__V79*/ meltfptr[78])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3811:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L24*/ 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:3811:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L24*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3811:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L25*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3811; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_forever return clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V81*/ meltfptr[80]; /*^apply.arg */ argtab[5].meltbp_cstring = " nforbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NFORBINDINGS__V83*/ meltfptr[82]; /*_.MELT_DEBUG_FUN__V86*/ meltfptr[85] = 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___V85*/ meltfptr[84] = /*_.MELT_DEBUG_FUN__V86*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3811:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L25*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V86*/ meltfptr[85] = 0; } ; } else { /*^cond.else */ /*_.IF___V85*/ meltfptr[84] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3811:/ quasiblock"); /*_.PROGN___V87*/ meltfptr[85] = /*_.IF___V85*/ meltfptr[84];; /*^compute */ /*_.IFCPP___V84*/ meltfptr[83] = /*_.PROGN___V87*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3811:/ clear"); /*clear *//*_#MELT_NEED_DBG__L24*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V85*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.PROGN___V87*/ meltfptr[85] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V84*/ meltfptr[83] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3813:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V81*/ meltfptr[80];; MELT_LOCATION ("warmelt-normal.melt:3813:/ 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) ( /*_.NFORBINDINGS__V83*/ meltfptr[82]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V72*/ meltfptr[59] = /*_.RETURN___V88*/ meltfptr[84];; MELT_LOCATION ("warmelt-normal.melt:3789:/ clear"); /*clear *//*_.WRAP_NORMAL_LETSEQ__V73*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.RESBODY__V74*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.CSYM__V76*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.NFOREVER__V77*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.CBIND__V79*/ meltfptr[78] = 0; /*^clear */ /*clear *//*_.CLOCC__V81*/ meltfptr[80] = 0; /*^clear */ /*clear *//*_.NFORBINDINGS__V83*/ meltfptr[82] = 0; /*^clear */ /*clear *//*_.IFCPP___V84*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.RETURN___V88*/ meltfptr[84] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V49*/ meltfptr[40] = /*_.LET___V72*/ meltfptr[59];; MELT_LOCATION ("warmelt-normal.melt:3770:/ clear"); /*clear *//*_.IFCPP___V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.LET___V56*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.IFCPP___V67*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.IFCPP___V70*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.LET___V72*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.NBODBINDINGS__V51*/ meltfptr[50] = 0; /*_.LET___V24*/ meltfptr[23] = /*_.MULTI___V49*/ meltfptr[40];; MELT_LOCATION ("warmelt-normal.melt:3761:/ clear"); /*clear *//*_.BINDER__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.RESY__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IFCPP___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V33*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V37*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.IFCPP___V39*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.IFCPP___V44*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.IFCPP___V47*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.MULTI___V49*/ meltfptr[40] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.LET___V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:3754:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SLBIND__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SBODY__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.NEWENV__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V23*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.LET___V24*/ meltfptr[23] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3749:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3749:/ 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_FOREVER", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_80_warmelt_normal_NORMEXP_FOREVER_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_80_warmelt_normal_NORMEXP_FOREVER */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_81_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_) { long current_blocklevel_signals_meltrout_81_warmelt_normal_NORMEXP_EXIT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_81_warmelt_normal_NORMEXP_EXIT_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 43 melt_ptr_t mcfr_varptr[43]; #define MELTFRAM_NBVARNUM 11 long mcfr_varnum[11]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_81_warmelt_normal_NORMEXP_EXIT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_81_warmelt_normal_NORMEXP_EXIT_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 43; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_81_warmelt_normal_NORMEXP_EXIT nbval 43*/ meltfram__.mcfr_nbvar = 43 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_EXIT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3823:/ 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:3824:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_EXIT */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3824:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3824:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check exit recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3824) ? (3824) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3824:/ 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:3825:/ cppif.then"); /*^block */ /*anyblock */ { 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:3825:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3825:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3825) ? (3825) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3825:/ 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:3826:/ cppif.then"); /*^block */ /*anyblock */ { 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:3826:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3826:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3826) ? (3826) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3826:/ 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:3827:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3827:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3827:/ 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 = 3827; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_exit 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:3827:/ 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:3827:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3827:/ 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:3828:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3829:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SLABEL_BIND"); /*_.SLBIND__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3830:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SEXI_BODY"); /*_.SBODY__V19*/ meltfptr[18] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3831:/ apply"); /*apply */ { /*_.NEWENV__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3833:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.SLBIND__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_LABEL_BINDING */ meltfrout->tabval[5])));; MELT_LOCATION ("warmelt-normal.melt:3833:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V22*/ meltfptr[21] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3833:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check slbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3833) ? (3833) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V22*/ meltfptr[21] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V21*/ meltfptr[20] = /*_.IFELSE___V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3833:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V22*/ meltfptr[21] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[20] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3834:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SLBIND__V18*/ meltfptr[17]; /*_.PUT_ENV__V23*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[6])), (melt_ptr_t) ( /*_.NEWENV__V20*/ meltfptr[19]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3835:/ 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__V20*/ meltfptr[19]; /*^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__V26*/ meltfptr[25]; /*^multiapply.appl */ /*_.NBODY__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.SBODY__V19*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ MELT_CHECK_SIGNAL (); ; /*_#NULL__L7*/ meltfnum[0] = (( /*_.NBODBINDINGS__V26*/ meltfptr[25]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:3838:/ cond"); /*cond */ if ( /*_#NULL__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_LIST__V28*/ meltfptr[27] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; MELT_LOCATION ("warmelt-normal.melt:3839:/ compute"); /*_.NBODBINDINGS__V26*/ meltfptr[25] = /*_.SETQ___V29*/ meltfptr[28] = /*_.MAKE_LIST__V28*/ meltfptr[27];; /*_.IF___V27*/ meltfptr[26] = /*_.SETQ___V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3838:/ clear"); /*clear *//*_.MAKE_LIST__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.SETQ___V29*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*_.IF___V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3841:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*_#MULTIPLE_LENGTH__L8*/ meltfnum[4] = (melt_multiple_length ((melt_ptr_t) ( /*_.NBODY__V25*/ meltfptr[24])));; /*^compute */ /*_#I__L9*/ meltfnum[8] = (( /*_#MULTIPLE_LENGTH__L8*/ meltfnum[4]) - (1));; /*^compute */ /*_.MULTIPLE_NTH__V31*/ meltfptr[28] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NBODY__V25*/ meltfptr[24]), ( /*_#I__L9*/ meltfnum[8])));; MELT_LOCATION ("warmelt-normal.melt:3841:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_EXIT */ meltfrout->tabval[9])), (3), "CLASS_NREP_EXIT"); /*_.INST__V33*/ meltfptr[32] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXIT_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (1), ( /*_.SLBIND__V18*/ meltfptr[17]), "NEXIT_BIND"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXIT_VAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V33*/ meltfptr[32])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V33*/ meltfptr[32]), (2), ( /*_.MULTIPLE_NTH__V31*/ meltfptr[28]), "NEXIT_VAL"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V33*/ meltfptr[32], "newly made instance"); ; /*_.NEXIT__V32*/ meltfptr[31] = /*_.INST__V33*/ meltfptr[32];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3845:/ apply"); /*apply */ { /*_.CSYM__V34*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[10])), (melt_ptr_t) (( /*!konst_11_EXIT_ */ meltfrout-> tabval[11])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3846:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[12])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V36*/ meltfptr[35] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (0), ( /*_.CSYM__V34*/ meltfptr[33]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[13])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V36*/ meltfptr[35]), (2), ( /*_.NEXIT__V32*/ meltfptr[31]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V36*/ meltfptr[35], "newly made instance"); ; /*_.CBIND__V35*/ meltfptr[34] = /*_.INST__V36*/ meltfptr[35];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3851:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[14])), (4), "CLASS_NREP_LOCSYMOCC"); /*_.INST__V38*/ meltfptr[37] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V38*/ meltfptr[37])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V38*/ meltfptr[37]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V38*/ meltfptr[37])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V38*/ meltfptr[37]), (2), (( /*!CTYPE_VOID */ meltfrout->tabval[13])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V38*/ meltfptr[37])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V38*/ meltfptr[37]), (1), ( /*_.CSYM__V34*/ meltfptr[33]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V38*/ meltfptr[37])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V38*/ meltfptr[37]), (3), ( /*_.CBIND__V35*/ meltfptr[34]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V38*/ meltfptr[37], "newly made instance"); ; /*_.CLOCC__V37*/ meltfptr[36] = /*_.INST__V38*/ meltfptr[37];; { MELT_LOCATION ("warmelt-normal.melt:3857:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBODBINDINGS__V26*/ meltfptr[25]), (melt_ptr_t) ( /*_.CBIND__V35*/ meltfptr[34])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3858:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3858:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3858:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 3858; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_exit clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V37*/ meltfptr[36]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbodbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBODBINDINGS__V26*/ meltfptr[25]; /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40] = 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___V40*/ meltfptr[39] = /*_.MELT_DEBUG_FUN__V41*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3858:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V41*/ meltfptr[40] = 0; } ; } else { /*^cond.else */ /*_.IF___V40*/ meltfptr[39] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3858:/ quasiblock"); /*_.PROGN___V42*/ meltfptr[40] = /*_.IF___V40*/ meltfptr[39];; /*^compute */ /*_.IFCPP___V39*/ meltfptr[38] = /*_.PROGN___V42*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3858:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.PROGN___V42*/ meltfptr[40] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V39*/ meltfptr[38] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3859:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V37*/ meltfptr[36];; MELT_LOCATION ("warmelt-normal.melt:3859:/ 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) ( /*_.NBODBINDINGS__V26*/ meltfptr[25]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V30*/ meltfptr[27] = /*_.RETURN___V43*/ meltfptr[39];; MELT_LOCATION ("warmelt-normal.melt:3841:/ clear"); /*clear *//*_#MULTIPLE_LENGTH__L8*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_#I__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MULTIPLE_NTH__V31*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.NEXIT__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CSYM__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.CBIND__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.CLOCC__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.RETURN___V43*/ meltfptr[39] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V24*/ meltfptr[23] = /*_.LET___V30*/ meltfptr[27];; MELT_LOCATION ("warmelt-normal.melt:3835:/ clear"); /*clear *//*_#NULL__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.LET___V30*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.NBODBINDINGS__V26*/ meltfptr[25] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:3828:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SLBIND__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SBODY__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.NEWENV__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V23*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.MULTI___V24*/ meltfptr[23] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3823:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3823:/ 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_EXIT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_81_warmelt_normal_NORMEXP_EXIT_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_81_warmelt_normal_NORMEXP_EXIT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_82_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_) { long current_blocklevel_signals_meltrout_82_warmelt_normal_NORMEXP_AGAIN_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_82_warmelt_normal_NORMEXP_AGAIN_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; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 35 melt_ptr_t mcfr_varptr[35]; #define MELTFRAM_NBVARNUM 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_82_warmelt_normal_NORMEXP_AGAIN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_82_warmelt_normal_NORMEXP_AGAIN_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 35; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_82_warmelt_normal_NORMEXP_AGAIN nbval 35*/ meltfram__.mcfr_nbvar = 35 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("NORMEXP_AGAIN", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3865:/ 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:3866:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_AGAIN */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3866:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3866:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check again recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3866) ? (3866) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3866:/ 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:3867:/ cppif.then"); /*^block */ /*anyblock */ { 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:3867:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3867:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3867) ? (3867) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3867:/ 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:3868:/ cppif.then"); /*^block */ /*anyblock */ { 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:3868:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3868:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3868) ? (3868) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3868:/ 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:3869:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3869:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3869:/ 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 = 3869; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_again 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:3869:/ 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:3869:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3869:/ 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:3870:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.SLOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:3871:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SLABEL_BIND"); /*_.SLBIND__V18*/ meltfptr[17] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3872:/ apply"); /*apply */ { /*_.CSYM__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!konst_5_AGAIN_ */ meltfrout-> tabval[5])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3873:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_AGAIN */ meltfrout->tabval[6])), (2), "CLASS_NREP_AGAIN"); /*_.INST__V21*/ meltfptr[20] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V21*/ meltfptr[20])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V21*/ meltfptr[20]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NAGAIN_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V21*/ meltfptr[20])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V21*/ meltfptr[20]), (1), ( /*_.SLBIND__V18*/ meltfptr[17]), "NAGAIN_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V21*/ meltfptr[20], "newly made instance"); ; /*_.NAGAIN__V20*/ meltfptr[19] = /*_.INST__V21*/ meltfptr[20];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3876:/ 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 @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V23*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V23*/ meltfptr[22]), (0), ( /*_.CSYM__V19*/ meltfptr[18]), "BINDER"); ; /*^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 @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), ( /*_.NAGAIN__V20*/ meltfptr[19]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V23*/ meltfptr[22], "newly made instance"); ; /*_.CBIND__V22*/ meltfptr[21] = /*_.INST__V23*/ meltfptr[22];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3881:/ 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__V19*/ meltfptr[18]), "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"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V25*/ meltfptr[24], "newly made instance"); ; /*_.CLOCC__V24*/ meltfptr[23] = /*_.INST__V25*/ meltfptr[24];; MELT_LOCATION ("warmelt-normal.melt:3886:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltpair_st rpair_0__CBIND_x2; struct meltlist_st rlist_1__LIST_; 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 */ /*inipair rpair_0__CBIND_x2 */ /*_.CBIND__V27*/ meltfptr[26] = (melt_ptr_t) & meltletrec_1_ptr->rpair_0__CBIND_x2; meltletrec_1_ptr->rpair_0__CBIND_x2.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_1__LIST_ */ /*_.LIST___V28*/ meltfptr[27] = (melt_ptr_t) & meltletrec_1_ptr->rlist_1__LIST_; meltletrec_1_ptr->rlist_1__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*^putpairhead */ /*putpairhead */ melt_assertmsg ("putpairhead /a checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V27*/ meltfptr[26])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CBIND__V27*/ meltfptr[26]))->hd = (melt_ptr_t) ( /*_.CBIND__V22*/ meltfptr[21]); ; /*^touch */ meltgc_touch ( /*_.CBIND__V27*/ meltfptr[26]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.LIST___V28*/ meltfptr[27])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.LIST___V28*/ meltfptr[27]))->first = (meltpair_ptr_t) ( /*_.CBIND__V27*/ meltfptr[26]); ((meltlist_ptr_t) ( /*_.LIST___V28*/ meltfptr[27]))->last = (meltpair_ptr_t) ( /*_.CBIND__V27*/ meltfptr[26]); ; /*^touch */ meltgc_touch ( /*_.LIST___V28*/ meltfptr[27]); ; /*_.NBINDINGS__V26*/ meltfptr[25] = /*_.LIST___V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3886:/ clear"); /*clear *//*_.CBIND__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.LIST___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.CBIND__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.LIST___V28*/ meltfptr[27] = 0; } /*end multiallocblock */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3888:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.SLBIND__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_LABEL_BINDING */ meltfrout->tabval[10])));; MELT_LOCATION ("warmelt-normal.melt:3888:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_.IFELSE___V30*/ meltfptr[27] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3888:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check slbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3888) ? (3888) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V30*/ meltfptr[27] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V29*/ meltfptr[26] = /*_.IFELSE___V30*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3888:/ clear"); /*clear *//*_#IS_A__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V30*/ meltfptr[27] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3889:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:3889:/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3889:/ apply"); /*apply */ { union meltparam_un argtab[7]; 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 = 3889; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_again clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V24*/ meltfptr[23]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V26*/ meltfptr[25]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 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___V32*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3889:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[31] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:3889:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[27] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3889:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3890:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:3890:/ 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__V26*/ meltfptr[25]); ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V16*/ meltfptr[12] = /*_.RETURN___V35*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:3870:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SLBIND__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.CSYM__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.NAGAIN__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.CBIND__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.CLOCC__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.NBINDINGS__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.RETURN___V35*/ meltfptr[31] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3865:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3865:/ 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_AGAIN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_82_warmelt_normal_NORMEXP_AGAIN_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_82_warmelt_normal_NORMEXP_AGAIN */ /**** end of warmelt-normal+02.c ****/