/* GCC MELT GENERATED FILE warmelt-normal+03.c - DO NOT EDIT */ /* secondary MELT generated C file of rank #3 */ #include "melt-run.h" /* used hash from melt-run.h when compiling this file: */ MELT_EXTERN const char meltrun_used_md5_melt_f3[] = MELT_RUN_HASHMD5 /* from melt-run.h */ ; /**** warmelt-normal+03.c declarations ****/ /**** MELT GENERATED DECLARATIONS for warmelt-normal ** DO NOT EDIT ; see gcc-melt.org ****/ /****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *** 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 meltbuild-sources/warmelt-normal**/ #define MELT_HAS_INITIAL_ENVIRONMENT 1 /*usualmodule */ /**** no MELT module variables ****/ /*** 3 MELT called hook declarations ***/ /*declare MELT called hook #0 HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER **/ MELT_EXTERN melt_ptr_t melthook_HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER (melt_ptr_t melthookdata, melt_ptr_t meltinp0_PREVENV, const char *meltinp1_MODULNAME); /*declare MELT called hook #1 HOOK_SYMBOL_IMPORTER **/ MELT_EXTERN melt_ptr_t melthook_HOOK_SYMBOL_IMPORTER (melt_ptr_t melthookdata, const char *meltinp0_SYMNAMESTR, const char *meltinp1_MODULENAMESTR, melt_ptr_t meltinp2_PARENV); /*declare MELT called hook #2 HOOK_VALUE_EXPORTER **/ MELT_EXTERN void melthook_HOOK_VALUE_EXPORTER (melt_ptr_t melthookdata, melt_ptr_t meltinp0_SYM, melt_ptr_t meltinp1_VAL, melt_ptr_t meltinp2_CONTENV); /*** end of 3 MELT called hook declarations ***/ /*** no extra MELT c-headers ***/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_1_WARMELTmiNORMAL_NORMAL_IMPORT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_3_WARMELTmiNORMAL_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_4_WARMELTmiNORMAL_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_5_WARMELTmiNORMAL_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_6_WARMELTmiNORMAL_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_7_WARMELTmiNORMAL_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_8_WARMELTmiNORMAL_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_9_WARMELTmiNORMAL_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_10_WARMELTmiNORMAL_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_11_WARMELTmiNORMAL_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_12_WARMELTmiNORMAL_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_13_WARMELTmiNORMAL_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_14_WARMELTmiNORMAL_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_15_WARMELTmiNORMAL_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_16_WARMELTmiNORMAL_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_17_WARMELTmiNORMAL_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_18_WARMELTmiNORMAL_LAMBDA_cl1 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_20_WARMELTmiNORMAL_LAMBDA_cl2 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_22_WARMELTmiNORMAL_LAMBDA_cl3 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_24_WARMELTmiNORMAL_LAMBDA_cl4 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_26_WARMELTmiNORMAL_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_27_WARMELTmiNORMAL_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_28_WARMELTmiNORMAL_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_29_WARMELTmiNORMAL_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_30_WARMELTmiNORMAL_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_31_WARMELTmiNORMAL_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_32_WARMELTmiNORMAL_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_33_WARMELTmiNORMAL_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_34_WARMELTmiNORMAL_GECTYP_MODVAROCC (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_36_WARMELTmiNORMAL_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_37_WARMELTmiNORMAL_NORMEXP_HOOK_CALL (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_39_WARMELTmiNORMAL_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_40_WARMELTmiNORMAL_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_41_WARMELTmiNORMAL_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_42_WARMELTmiNORMAL_LAMBDA_cl5 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_NORMEXP_EXPR_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_44_WARMELTmiNORMAL_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_45_WARMELTmiNORMAL_LAMBDA_cl6 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl7 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_48_WARMELTmiNORMAL_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_49_WARMELTmiNORMAL_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_50_WARMELTmiNORMAL_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_51_WARMELTmiNORMAL_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_52_WARMELTmiNORMAL_LAMBDA_cl8 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_54_WARMELTmiNORMAL_LAMBDA_cl9 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl10 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_57_WARMELTmiNORMAL_LAMBDA_cl11 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl12 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_60_WARMELTmiNORMAL_LAMBDA_cl13 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl14 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_63_WARMELTmiNORMAL_LAMBDA_cl15 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_65_WARMELTmiNORMAL_LAMBDA_cl16 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl17 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_68_WARMELTmiNORMAL_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_69_WARMELTmiNORMAL_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_70_WARMELTmiNORMAL_LAMBDA_cl18 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl19 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_73_WARMELTmiNORMAL_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_74_WARMELTmiNORMAL_LAMBDA_cl20 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_76_WARMELTmiNORMAL_LAMBDA_cl21 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl22 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_79_WARMELTmiNORMAL_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_80_WARMELTmiNORMAL_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_81_WARMELTmiNORMAL_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_82_WARMELTmiNORMAL_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_83_WARMELTmiNORMAL_LAMBDA_cl23 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_85_WARMELTmiNORMAL_LAMBDA_cl24 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_87_WARMELTmiNORMAL_LAMBDA_cl25 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl26 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_NORMEXP_DEFHOOK (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl27 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_LAMBDA_cl28 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_LAMBDA_cl29 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl30 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl31 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_LAMBDA_cl32 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_NORMEXP_ARITHMETIC_VARIADIC_OPERATION (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_103_WARMELTmiNORMAL_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_104_WARMELTmiNORMAL_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_105_WARMELTmiNORMAL_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_106_WARMELTmiNORMAL_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_107_WARMELTmiNORMAL_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_108_WARMELTmiNORMAL_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_109_WARMELTmiNORMAL_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_110_WARMELTmiNORMAL_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_111_WARMELTmiNORMAL_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_112_WARMELTmiNORMAL_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_113_WARMELTmiNORMAL_LAMBDA_cl33 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_115_WARMELTmiNORMAL_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_116_WARMELTmiNORMAL_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_117_WARMELTmiNORMAL_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_118_WARMELTmiNORMAL_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_119_WARMELTmiNORMAL_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_120_WARMELTmiNORMAL_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_121_WARMELTmiNORMAL_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_122_WARMELTmiNORMAL_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_123_WARMELTmiNORMAL_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_124_WARMELTmiNORMAL_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_125_WARMELTmiNORMAL_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_126_WARMELTmiNORMAL_LAMBDA_cl34 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_128_WARMELTmiNORMAL_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_129_WARMELTmiNORMAL_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_130_WARMELTmiNORMAL_LAMBDA_cl35 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl36 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl37 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl38 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl39 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl40 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl41 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_138_WARMELTmiNORMAL_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_139_WARMELTmiNORMAL_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_140_WARMELTmiNORMAL_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_141_WARMELTmiNORMAL_LAMBDA_cl42 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_NORMEXP_DEFVAR (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_144_WARMELTmiNORMAL_LAMBDA_cl43 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_146_WARMELTmiNORMAL_LAMBDA_cl44 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_148_WARMELTmiNORMAL_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_149_WARMELTmiNORMAL_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_150_WARMELTmiNORMAL_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_151_WARMELTmiNORMAL_LAMBDA_cl45 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_LAMBDA_cl46 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_NORMEXP_CURRENT_MODULE_ENVIRONMENT_REFERENCE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_NORMEXP_UPDATE_CURRENT_MODULE_ENVIRONMENT_REFERENCE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_LAMBDA_cl47 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_LAMBDA_cl48 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_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_WARMELTmiNORMAL_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_WARMELTmiNORMAL_NORMEXP_CIMPLEMENT (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_167_WARMELTmiNORMAL_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 *); struct melt_initial_frame_st; /*declare opaque initial frame: */ typedef struct melt_initial_frame_st meltinitial_frame_t; /* define different names when debugging or not */ #if MELT_HAVE_DEBUG MELT_EXTERN const char meltmodule_WARMELTmiNORMAL__melt_have_debug_enabled[]; #define melt_have_debug_string meltmodule_WARMELTmiNORMAL__melt_have_debug_enabled #else /*!MELT_HAVE_DEBUG */ MELT_EXTERN const char meltmodule_WARMELTmiNORMAL__melt_have_debug_disabled[]; #define melt_have_debug_string meltmodule_WARMELTmiNORMAL__melt_have_debug_disabled #endif /*!MELT_HAVE_DEBUG */ void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_0 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_1 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_2 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_3 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_4 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_5 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_6 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_7 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_8 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_9 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_10 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_11 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_12 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_13 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_14 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_15 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_16 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_17 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_18 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_19 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_20 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_21 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_22 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_23 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_24 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_25 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_26 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_27 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_28 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_29 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_30 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_31 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_32 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_33 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_34 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_35 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_36 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_37 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_38 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_39 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_40 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_41 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_42 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_43 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_44 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_45 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_46 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_47 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_48 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_49 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_50 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_51 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_52 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_53 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_54 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_55 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__initialmeltchunk_56 (meltinitial_frame_t *, char *); void MELT_MODULE_VISIBILITY meltmod__WARMELTmiNORMAL__forward_or_mark_module_start_frame (struct melt_callframe_st *fp, int marking); /**** warmelt-normal+03.c implementations ****/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_60_WARMELTmiNORMAL_LAMBDA_cl13 (meltclosure_ptr_t meltclosp_, 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_WARMELTmiNORMAL_LAMBDA_cl13_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_60_WARMELTmiNORMAL_LAMBDA_cl13_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_60_WARMELTmiNORMAL_LAMBDA_cl13 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_60_WARMELTmiNORMAL_LAMBDA_cl13_st *) meltfirstargp_; /* use arguments meltrout_60_WARMELTmiNORMAL_LAMBDA_cl13 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 40; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_60_WARMELTmiNORMAL_LAMBDA_cl13 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_cl13", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3661:/ getarg"); /*_.SCUR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto meltlab_endgetargs; /*_#SIX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3662:/ 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:3662:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L3*/ meltfnum[2] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; /*^compute */ /*_#GET_INT__L4*/ meltfnum[3] = (melt_get_int ((melt_ptr_t) (( /*~BOXORCOUNT */ meltfclos->tabval[0]))));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3662:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3662; /*^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:3662:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3662:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_._IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3662:/ 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:3663:/ 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:3666:/ 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:3666:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L6*/ meltfnum[3] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; /*^compute */ /*_#GET_INT__L7*/ meltfnum[1] = (melt_get_int ((melt_ptr_t) (( /*~BOXORCOUNT */ meltfclos->tabval[0]))));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3666:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L6*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3666; /*^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:3666:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3666:/ quasiblock"); /*_.PROGN___V13*/ meltfptr[11] = /*_._IF___V11*/ meltfptr[10];; /*^compute */ /*_.IFCPP___V10*/ meltfptr[9] = /*_.PROGN___V13*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3666:/ 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:3668:/ 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:3667:/ 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:3669:/ 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:3669:/ cond"); /*cond */ if ( /*_#NULL__L8*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3671:/ 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:3672:/ 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:3673:/ 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:3670:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[19] = ( /*nil */ NULL);; /*^compute */ /*_._IFELSE___V18*/ meltfptr[17] = /*_.PROGN___V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3669:/ 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:3676:/ 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:3678:/ 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:3678:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V24*/ meltfptr[23] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3678:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctypcur"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3678) ? (3678) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V24*/ meltfptr[23] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_._IFELSE___V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3678:/ 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:3679:/ 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 */ /*_#exeq__L10*/ meltfnum[2] = (( /*_.CTYPCUR__V22*/ meltfptr[19]) != ( /*_.REFERENCED_VALUE__V25*/ meltfptr[23]));; MELT_LOCATION ("warmelt-normal.melt:3679:/ cond"); /*cond */ if ( /*_#exeq__L10*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:3680:/ 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:3681:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3688:/ 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:3688:/ 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:3688:/ 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:3683:/ 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:3692:/ 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:3693:/ 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:3699:/ 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:3706:/ 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:3707:/ 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:3707:/ 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:3708:/ 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:3708:/ 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:3709:/ 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:3681:/ 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:3676:/ clear"); /*clear *//*_.CTYPCUR__V22*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#exeq__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:3669:/ clear"); /*clear *//*_.LET___V21*/ meltfptr[18] = 0; } ; } ; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V7*/ meltfptr[3] = /*_._IFELSE___V18*/ meltfptr[17];; MELT_LOCATION ("warmelt-normal.melt:3663:/ 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:3661:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.MULTI___V7*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normal.melt:3661:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.MULTI___V7*/ meltfptr[3] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl13", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_60_WARMELTmiNORMAL_LAMBDA_cl13_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_WARMELTmiNORMAL_LAMBDA_cl13 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_61_WARMELTmiNORMAL_LAMBDA_cl14 (meltclosure_ptr_t meltclosp_, 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_WARMELTmiNORMAL_LAMBDA_cl14_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_61_WARMELTmiNORMAL_LAMBDA_cl14_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_61_WARMELTmiNORMAL_LAMBDA_cl14 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_61_WARMELTmiNORMAL_LAMBDA_cl14_st *) meltfirstargp_; /* use arguments meltrout_61_WARMELTmiNORMAL_LAMBDA_cl14 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 3; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_61_WARMELTmiNORMAL_LAMBDA_cl14 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_cl14", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3668:/ getarg"); /*_.BND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_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:3668:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.PUT_ENV__V3*/ meltfptr[2] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl14", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_61_WARMELTmiNORMAL_LAMBDA_cl14_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_WARMELTmiNORMAL_LAMBDA_cl14 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_62_WARMELTmiNORMAL_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_62_WARMELTmiNORMAL_NORMEXP_PROGN_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_62_WARMELTmiNORMAL_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_62_WARMELTmiNORMAL_NORMEXP_PROGN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_62_WARMELTmiNORMAL_NORMEXP_PROGN_st *) meltfirstargp_; /* use arguments meltrout_62_WARMELTmiNORMAL_NORMEXP_PROGN output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 64; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_62_WARMELTmiNORMAL_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:3726:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3727:/ 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:3727:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3727:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check progn recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3727) ? (3727) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3727:/ 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:3728:/ 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:3728:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3728:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3728) ? (3728) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3728:/ 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:3729:/ 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:3729:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3729:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3729) ? (3729) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3729:/ 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:3730:/ 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:3730:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3730:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3730; /*^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:3730:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3730:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3730:/ 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:3731:/ 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:3732:/ 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 */ /*_#lteqI__L7*/ meltfnum[0] = (( /*_#LNBODY__L6*/ meltfnum[4]) <= (0));; MELT_LOCATION ("warmelt-normal.melt:3736:/ cond"); /*cond */ if ( /*_#lteqI__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3737:/ 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:3738:/ 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:3739:/ 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:3739:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3739:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3739; /*^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:3739:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3739:/ quasiblock"); /*_.PROGN___V27*/ meltfptr[25] = /*_._IF___V25*/ meltfptr[24];; /*^compute */ /*_.IFCPP___V24*/ meltfptr[23] = /*_.PROGN___V27*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3739:/ 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:3740:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.ONULL__V22*/ meltfptr[21];; { MELT_LOCATION ("warmelt-normal.melt:3740:/ 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 meltlabend_rout; /*_.LET___V21*/ meltfptr[20] = /*_.RETURN___V28*/ meltfptr[24];; MELT_LOCATION ("warmelt-normal.melt:3737:/ 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:3736:/ clear"); /*clear *//*_.LET___V21*/ meltfptr[20] = 0; } ; } else { /*^cond.else */ /*_._IF___V20*/ meltfptr[19] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3741:/ 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:3744:/ 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:3744:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L11*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3744:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L11*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3744; /*^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:3744:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3744:/ quasiblock"); /*_.PROGN___V35*/ meltfptr[33] = /*_._IF___V33*/ meltfptr[20];; /*^compute */ /*_.IFCPP___V32*/ meltfptr[24] = /*_.PROGN___V35*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3744:/ 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:3745:/ 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 */ /*_#gtI__L13*/ meltfnum[8] = (( /*_#LENBODY__L12*/ meltfnum[7]) > (0));; MELT_LOCATION ("warmelt-normal.melt:3747:/ cond"); /*cond */ if ( /*_#gtI__L13*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#miI__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])), ( /*_#miI__L14*/ meltfnum[13])));; /*^compute */ /*_.NALLBUTLAST__V38*/ meltfptr[37] = /*_.MAKE_MULTIPLE__V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3747:/ clear"); /*clear *//*_#miI__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:3750:/ quasiblock"); /*_#IX__L15*/ meltfnum[13] = (( /*_#LENBODY__L12*/ meltfnum[7]) - (1));; MELT_LOCATION ("warmelt-normal.melt:3751:/ loop"); /*loop */ { meltlabloop_BODYLOOP_1:; /*^loopbody */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*_#ltI__L16*/ meltfnum[15] = (( /*_#IX__L15*/ meltfnum[13]) < (0));; MELT_LOCATION ("warmelt-normal.melt:3752:/ cond"); /*cond */ if ( /*_#ltI__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^quasiblock */ /*^compute */ /*_.BODYLOOP__V42*/ meltfptr[41] = NULL;; /*^exit */ /*exit */ { goto meltlabexit_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:3753:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.NALLBUTLAST__V38*/ meltfptr[37]), ( /*_#IX__L15*/ meltfnum[13]), (melt_ptr_t) ( /*_.MULTIPLE_NTH__V43*/ meltfptr[42])); } ; /*_#miI__L17*/ meltfnum[16] = (( /*_#IX__L15*/ meltfnum[13]) - (1));; MELT_LOCATION ("warmelt-normal.melt:3754:/ compute"); /*_#IX__L15*/ meltfnum[13] = /*_#SETQ___L18*/ meltfnum[17] = /*_#miI__L17*/ meltfnum[16];; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3751:/ clear"); /*clear *//*_#ltI__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.MULTIPLE_NTH__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_#miI__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_#SETQ___L18*/ meltfnum[17] = 0; } ; ; goto meltlabloop_BODYLOOP_1; meltlabexit_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:3750:/ clear"); /*clear *//*_#IX__L15*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.FOREVER___V41*/ meltfptr[40] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3755:/ 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:3755:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L20*/ meltfnum[16] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3755:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L20*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3755; /*^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:3755:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3755:/ quasiblock"); /*_.PROGN___V47*/ meltfptr[45] = /*_._IF___V45*/ meltfptr[40];; /*^compute */ /*_.IFCPP___V44*/ meltfptr[42] = /*_.PROGN___V47*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3755:/ 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:3756:/ 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:3756:/ 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:3756:/ 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:3757:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3758:/ 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:3759:/ 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:3764:/ 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:3760:/ 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:3768:/ 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:3774:/ 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:3775:/ 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:3775:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L22*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L23*/ meltfnum[16] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3775:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L23*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3775; /*^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:3775:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3775:/ quasiblock"); /*_.PROGN___V63*/ meltfptr[61] = /*_._IF___V61*/ meltfptr[60];; /*^compute */ /*_.IFCPP___V60*/ meltfptr[59] = /*_.PROGN___V63*/ meltfptr[61];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3775:/ 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:3776:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V58*/ meltfptr[57];; MELT_LOCATION ("warmelt-normal.melt:3776:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBIND__V31*/ meltfptr[23]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V51*/ meltfptr[45] = /*_.RETURN___V64*/ meltfptr[60];; MELT_LOCATION ("warmelt-normal.melt:3757:/ 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:3745:/ clear"); /*clear *//*_.NLAST__V37*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_#LENBODY__L12*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_#gtI__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:3741:/ 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:3731:/ 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 *//*_#lteqI__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:3726:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3726:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_PROGN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_62_WARMELTmiNORMAL_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_62_WARMELTmiNORMAL_NORMEXP_PROGN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_63_WARMELTmiNORMAL_LAMBDA_cl15 (meltclosure_ptr_t meltclosp_, 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_WARMELTmiNORMAL_LAMBDA_cl15_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_63_WARMELTmiNORMAL_LAMBDA_cl15_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_63_WARMELTmiNORMAL_LAMBDA_cl15 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_63_WARMELTmiNORMAL_LAMBDA_cl15_st *) meltfirstargp_; /* use arguments meltrout_63_WARMELTmiNORMAL_LAMBDA_cl15 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 5; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_63_WARMELTmiNORMAL_LAMBDA_cl15 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_cl15", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3780:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_endgetargs; meltlab_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:3780:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.NPROGN_LAST__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V5*/ meltfptr[4] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl15", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_63_WARMELTmiNORMAL_LAMBDA_cl15_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_WARMELTmiNORMAL_LAMBDA_cl15 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_64_WARMELTmiNORMAL_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_64_WARMELTmiNORMAL_NORMEXP_LET_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_64_WARMELTmiNORMAL_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_64_WARMELTmiNORMAL_NORMEXP_LET is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_64_WARMELTmiNORMAL_NORMEXP_LET_st *) meltfirstargp_; /* use arguments meltrout_64_WARMELTmiNORMAL_NORMEXP_LET output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 109; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_64_WARMELTmiNORMAL_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:3785:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3786:/ 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:3786:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3786:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check let recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3786) ? (3786) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3786:/ 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:3787:/ 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:3787:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3787:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3787) ? (3787) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3787:/ 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:3788:/ 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:3788:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3788:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3788) ? (3788) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3788:/ 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:3789:/ 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:3789:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3789:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3789; /*^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:3789:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3789:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3789:/ 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:3790:/ 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:3791:/ 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:3792:/ 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:3793:/ 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:3800:/ 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:3800:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3800:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3800; /*^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:3800:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3800:/ quasiblock"); /*_.PROGN___V26*/ meltfptr[24] = /*_._IF___V24*/ meltfptr[23];; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.PROGN___V26*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3800:/ 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:3801:/ 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:3801:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_._IFELSE___V28*/ meltfptr[24] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3801:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sb"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3801) ? (3801) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V28*/ meltfptr[24] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V27*/ meltfptr[23] = /*_._IFELSE___V28*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3801:/ 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:3802:/ 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:3803:/ 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:3804:/ 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:3805:/ 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:3807:/ 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:3807:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V35*/ meltfptr[34] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3807:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sbtyp"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3807) ? (3807) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V35*/ meltfptr[34] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V34*/ meltfptr[33] = /*_._IFELSE___V35*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3807:/ 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:3809:/ 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:3811:/ 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:3809:/ cond"); /*cond */ if ( /*_.FIND_ENV__V36*/ meltfptr[34]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3813:/ 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:3812:/ 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:3809:/ 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:3816:/ 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:3821:/ 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:3823:/ 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:3823:/ cond"); /*cond */ if ( /*_#IS_A__L12*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V43*/ meltfptr[42] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3823:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbctype"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3823) ? (3823) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V43*/ meltfptr[42] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V42*/ meltfptr[41] = /*_._IFELSE___V43*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3823:/ 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 */ /*_#eqeq__L13*/ meltfnum[0] = (( /*_.SBTYP__V31*/ meltfptr[30]) == (( /*!QUASI_CTYPE_AUTO */ meltfrout->tabval[13])));; MELT_LOCATION ("warmelt-normal.melt:3825:/ cond"); /*cond */ if ( /*_#eqeq__L13*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3826:/ 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:3825:/ clear"); /*clear *//*_.SETQ___V45*/ meltfptr[44] = 0; } ; } else { /*^cond.else */ /*_._IF___V44*/ meltfptr[42] = NULL;; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#exeq__L14*/ meltfnum[13] = (( /*_.NBCTYPE__V41*/ meltfptr[40]) != ( /*_.SBTYP__V31*/ meltfptr[30]));; MELT_LOCATION ("warmelt-normal.melt:3828:/ cond"); /*cond */ if ( /*_#exeq__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3833:/ 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:3830:/ 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:3837:/ 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:3834:/ 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:3841:/ 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:3838:/ 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:3829:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3828:/ 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:3821:/ clear"); /*clear *//*_.NBCTYPE__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.IFCPP___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_#eqeq__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V44*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_#exeq__L14*/ meltfnum[13] = 0; MELT_LOCATION ("warmelt-normal.melt:3844:/ 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:3847:/ 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:3847:/ cond"); /*cond */ if ( /*_#IS_A__L17*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3850:/ 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:3851:/ 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; }; ; /*_#eqeq__L19*/ meltfnum[18] = (( /*_.BINDER__V52*/ meltfptr[40]) == ( /*_.NOCC_SYMB__V53*/ meltfptr[41]));; /*^compute */ /*_#_IF___L18*/ meltfnum[17] = /*_#eqeq__L19*/ meltfnum[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3847:/ clear"); /*clear *//*_.BINDER__V52*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.NOCC_SYMB__V53*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_#eqeq__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:3847:/ 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:3847:/ cond"); /*cond */ if ( /*_#_IF___L16*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:3853:/ 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:3856:/ 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:3854:/ 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:3859:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3862:/ 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:3863:/ 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:3864:/ 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:3860:/ 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:3866:/ 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:3867:/ 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:3859:/ 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:3853:/ 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:3847:/ clear"); /*clear *//*_.LET___V55*/ meltfptr[40] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3872:/ 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:3873:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3874:/ 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:3879:/ 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:3880:/ 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:3873:/ clear"); /*clear *//*_.NEWPBND__V69*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V71*/ meltfptr[65] = 0; MELT_LOCATION ("warmelt-normal.melt:3870:/ quasiblock"); /*_.PROGN___V72*/ meltfptr[41] = /*_.LET___V68*/ meltfptr[61];; /*^compute */ /*_._IFELSE___V54*/ meltfptr[42] = /*_.PROGN___V72*/ meltfptr[41];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3847:/ 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:3844:/ 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:3816:/ 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:3802:/ 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:3797:/ 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:3885:/ 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:3888:/ 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:3889:/ 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:3889:/ 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:3889:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_let check bindlist"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3889) ? (3889) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V78*/ meltfptr[65] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V77*/ meltfptr[62] = /*_._IFELSE___V78*/ meltfptr[65];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3889:/ 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:3893:/ 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:3893:/ cond"); /*cond */ if ( /*_#IS_A__L21*/ meltfnum[16]) /*then */ { /*^cond.then */ /*_._IFELSE___V82*/ meltfptr[46] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3893:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_let check cbnd"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3893) ? (3893) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V82*/ meltfptr[46] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V81*/ meltfptr[41] = /*_._IFELSE___V82*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3893:/ 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:3890:/ 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:3895:/ 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:3899:/ 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:3896:/ 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:3901:/ 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:3901:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L22*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L23*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3901:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L23*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3901; /*^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:3901:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3901:/ quasiblock"); /*_.PROGN___V91*/ meltfptr[32] = /*_._IF___V89*/ meltfptr[30];; /*^compute */ /*_.IFCPP___V88*/ meltfptr[29] = /*_.PROGN___V91*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3901:/ 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:3895:/ clear"); /*clear *//*_.SYCMAP__V84*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.IFCPP___V88*/ meltfptr[29] = 0; MELT_LOCATION ("warmelt-normal.melt:3904:/ quasiblock"); /*_.NLASTBODY__V93*/ meltfptr[36] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NBODY__V74*/ meltfptr[58]), (-1)));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3907:/ 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:3907:/ cond.else"); /*_.NLASTYP__V95*/ meltfptr[46] = ( /*!CTYPE_VOID */ meltfrout->tabval[21]);; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3908:/ 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:3912:/ 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:3910:/ 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:3914:/ 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:3919:/ 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:3925:/ 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:3926:/ 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:3926:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L24*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L25*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3926:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L25*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3926; /*^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:3926:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3926:/ quasiblock"); /*_.PROGN___V108*/ meltfptr[106] = /*_._IF___V106*/ meltfptr[105];; /*^compute */ /*_.IFCPP___V105*/ meltfptr[104] = /*_.PROGN___V108*/ meltfptr[106];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3926:/ 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:3927:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V102*/ meltfptr[101];; MELT_LOCATION ("warmelt-normal.melt:3927:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.RESBINDS__V104*/ meltfptr[103]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V92*/ meltfptr[33] = /*_.RETURN___V109*/ meltfptr[105];; MELT_LOCATION ("warmelt-normal.melt:3904:/ 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:3885:/ 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:3790:/ 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:3785:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3785:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_LET", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_64_WARMELTmiNORMAL_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_64_WARMELTmiNORMAL_NORMEXP_LET */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_65_WARMELTmiNORMAL_LAMBDA_cl16 (meltclosure_ptr_t meltclosp_, 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_WARMELTmiNORMAL_LAMBDA_cl16_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_65_WARMELTmiNORMAL_LAMBDA_cl16_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_65_WARMELTmiNORMAL_LAMBDA_cl16 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_65_WARMELTmiNORMAL_LAMBDA_cl16_st *) meltfirstargp_; /* use arguments meltrout_65_WARMELTmiNORMAL_LAMBDA_cl16 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 2; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_65_WARMELTmiNORMAL_LAMBDA_cl16 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_cl16", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3856:/ getarg"); /*_.B__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL (); ; /*_#exeq__L1*/ meltfnum[0] = (( /*_.B__V2*/ meltfptr[1]) != (( /*~LASTNBINDING */ meltfclos->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:3857:/ cond"); /*cond */ if ( /*_#exeq__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:3858:/ 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:3856:/ clear"); /*clear *//*_#exeq__L1*/ meltfnum[0] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl16", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_65_WARMELTmiNORMAL_LAMBDA_cl16_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_65_WARMELTmiNORMAL_LAMBDA_cl16 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_66_WARMELTmiNORMAL_LAMBDA_cl17 (meltclosure_ptr_t meltclosp_, 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_WARMELTmiNORMAL_LAMBDA_cl17_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_66_WARMELTmiNORMAL_LAMBDA_cl17_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_66_WARMELTmiNORMAL_LAMBDA_cl17 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_66_WARMELTmiNORMAL_LAMBDA_cl17_st *) meltfirstargp_; /* use arguments meltrout_66_WARMELTmiNORMAL_LAMBDA_cl17 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 8; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_66_WARMELTmiNORMAL_LAMBDA_cl17 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_cl17", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:3932:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normal.melt:3933:/ 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 */ /*_#lteqI__L2*/ meltfnum[1] = (( /*_#LENB__L1*/ meltfnum[0]) <= (0));; MELT_LOCATION ("warmelt-normal.melt:3935:/ cond"); /*cond */ if ( /*_#lteqI__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V6*/ meltfptr[5] = ( /*!CTYPE_VOID */ meltfrout->tabval[0]);; } else { MELT_LOCATION ("warmelt-normal.melt:3935:/ cond.else"); /*^block */ /*anyblock */ { /*_#miI__L3*/ meltfnum[2] = (( /*_#LENB__L1*/ meltfnum[0]) - (1));; /*^compute */ /*_.MULTIPLE_NTH__V7*/ meltfptr[6] = (melt_multiple_nth ((melt_ptr_t) ( /*_.LBOD__V5*/ meltfptr[4]), ( /*_#miI__L3*/ meltfnum[2])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3936:/ 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:3935:/ clear"); /*clear *//*_#miI__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:3933:/ clear"); /*clear *//*_.LBOD__V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_#LENB__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#lteqI__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_._IFELSE___V6*/ meltfptr[5] = 0; MELT_LOCATION ("warmelt-normal.melt:3932:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V4*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normal.melt:3932:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.LET___V4*/ meltfptr[3] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl17", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_66_WARMELTmiNORMAL_LAMBDA_cl17_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_WARMELTmiNORMAL_LAMBDA_cl17 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_67_WARMELTmiNORMAL_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_67_WARMELTmiNORMAL_NORMEXP_UNSAFE_GET_FIELD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_67_WARMELTmiNORMAL_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_67_WARMELTmiNORMAL_NORMEXP_UNSAFE_GET_FIELD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_67_WARMELTmiNORMAL_NORMEXP_UNSAFE_GET_FIELD_st *) meltfirstargp_; /* use arguments meltrout_67_WARMELTmiNORMAL_NORMEXP_UNSAFE_GET_FIELD output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 41; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_67_WARMELTmiNORMAL_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:3941:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3942:/ 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:3942:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3942:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check unsafegetfield recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3942) ? (3942) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3942:/ 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:3943:/ 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:3943:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3943:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3943) ? (3943) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3943:/ 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:3944:/ 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:3944:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3944:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3944) ? (3944) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3944:/ 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:3945:/ 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:3945:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3945:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3945; /*^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:3945:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3945:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3945:/ 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:3946:/ 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:3947:/ 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:3948:/ 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:3950:/ 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:3950:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_._IFELSE___V21*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3950:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sfld"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3950) ? (3950) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V21*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_._IFELSE___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3950:/ 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:3951:/ 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:3954:/ 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:3954:/ 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:3954:/ 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:3955:/ 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:3961:/ 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:3956:/ 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:3965:/ 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:3971:/ 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:3972:/ 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:3972:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3972:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3972; /*^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:3972:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3972:/ quasiblock"); /*_.PROGN___V40*/ meltfptr[38] = /*_._IF___V38*/ meltfptr[37];; /*^compute */ /*_.IFCPP___V37*/ meltfptr[36] = /*_.PROGN___V40*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3972:/ 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:3973:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V35*/ meltfptr[34];; MELT_LOCATION ("warmelt-normal.melt:3973:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBIND__V24*/ meltfptr[23]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V28*/ meltfptr[25] = /*_.RETURN___V41*/ meltfptr[37];; MELT_LOCATION ("warmelt-normal.melt:3955:/ 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:3951:/ 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:3946:/ 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:3941:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3941:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_UNSAFE_GET_FIELD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_67_WARMELTmiNORMAL_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_67_WARMELTmiNORMAL_NORMEXP_UNSAFE_GET_FIELD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_68_WARMELTmiNORMAL_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_68_WARMELTmiNORMAL_NORMEXP_GET_FIELD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_68_WARMELTmiNORMAL_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_68_WARMELTmiNORMAL_NORMEXP_GET_FIELD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_68_WARMELTmiNORMAL_NORMEXP_GET_FIELD_st *) meltfirstargp_; /* use arguments meltrout_68_WARMELTmiNORMAL_NORMEXP_GET_FIELD output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 55; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_68_WARMELTmiNORMAL_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:3978:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:3979:/ 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:3979:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3979:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check getfield recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3979) ? (3979) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3979:/ 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:3980:/ 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:3980:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3980:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3980) ? (3980) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3980:/ 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:3981:/ 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:3981:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3981:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3981) ? (3981) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3981:/ 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:3982:/ 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:3982:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3982:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3982; /*^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:3982:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3982:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3982:/ 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:3983:/ 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:3984:/ 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:3985:/ 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:3987:/ 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:3987:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_._IFELSE___V21*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:3987:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sfld"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (3987) ? (3987) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V21*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_._IFELSE___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3987:/ 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:3988:/ 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:3991:/ 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:3991:/ 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:3991:/ 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:3992:/ 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:3992:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3992:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3992; /*^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:3992:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3992:/ quasiblock"); /*_.PROGN___V31*/ meltfptr[29] = /*_._IF___V29*/ meltfptr[26];; /*^compute */ /*_.IFCPP___V28*/ meltfptr[25] = /*_.PROGN___V31*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3992:/ 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:3993:/ 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:3994:/ 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:3995:/ 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:3996:/ 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:3996:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L11*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:3996:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L11*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3996; /*^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:3996:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:3996:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_._IF___V39*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[37] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:3996:/ 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:3995:/ 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:3998:/ 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:4007:/ 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:4002:/ 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:4014:/ 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:4020:/ 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:4021:/ 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:4021:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L13*/ meltfnum[8] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4021:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L13*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4021; /*^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:4021:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4021:/ quasiblock"); /*_.PROGN___V54*/ meltfptr[52] = /*_._IF___V52*/ meltfptr[51];; /*^compute */ /*_.IFCPP___V51*/ meltfptr[50] = /*_.PROGN___V54*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4021:/ 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:4022:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V49*/ meltfptr[48];; MELT_LOCATION ("warmelt-normal.melt:4022:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBIND__V24*/ meltfptr[23]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V32*/ meltfptr[26] = /*_.RETURN___V55*/ meltfptr[51];; MELT_LOCATION ("warmelt-normal.melt:3993:/ 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:3988:/ 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:3983:/ 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:3978:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:3978:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_GET_FIELD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_68_WARMELTmiNORMAL_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_68_WARMELTmiNORMAL_NORMEXP_GET_FIELD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_69_WARMELTmiNORMAL_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_69_WARMELTmiNORMAL_NORMEXP_UNSAFE_PUT_FIELDS_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_69_WARMELTmiNORMAL_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_69_WARMELTmiNORMAL_NORMEXP_UNSAFE_PUT_FIELDS is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_69_WARMELTmiNORMAL_NORMEXP_UNSAFE_PUT_FIELDS_st *) meltfirstargp_; /* use arguments meltrout_69_WARMELTmiNORMAL_NORMEXP_UNSAFE_PUT_FIELDS output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 48; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_69_WARMELTmiNORMAL_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:4028:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4029:/ 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:4029:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4029:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check unsafeputfields recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4029) ? (4029) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4029:/ 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:4030:/ 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:4030:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4030:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4030) ? (4030) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4030:/ 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:4031:/ 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:4031:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4031:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4031) ? (4031) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4031:/ 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:4032:/ 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:4032:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4032:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4032; /*^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:4032:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4032:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4032:/ 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:4033:/ 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:4034:/ 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:4035:/ 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:4038:/ 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:4039:/ 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:4040:/ 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:4042:/ 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:4046:/ 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:4046:/ 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:4047:/ 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:4053:/ 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:4059:/ 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:4062:/ 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:4065:/ 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:4063:/ 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:4089:/ 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:4093:/ 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:4094:/ 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:4095:/ 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:4095:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4095:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4095; /*^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:4095:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4095:/ quasiblock"); /*_.PROGN___V47*/ meltfptr[45] = /*_._IF___V45*/ meltfptr[44];; /*^compute */ /*_.IFCPP___V44*/ meltfptr[43] = /*_.PROGN___V47*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4095:/ 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:4097:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V32*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:4097:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBINDLIST__V27*/ meltfptr[26]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V41*/ meltfptr[40] = /*_.RETURN___V48*/ meltfptr[44];; MELT_LOCATION ("warmelt-normal.melt:4089:/ 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:4059:/ 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:4033:/ 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:4028:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4028:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_UNSAFE_PUT_FIELDS", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_69_WARMELTmiNORMAL_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_69_WARMELTmiNORMAL_NORMEXP_UNSAFE_PUT_FIELDS */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_70_WARMELTmiNORMAL_LAMBDA_cl18 (meltclosure_ptr_t meltclosp_, 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_WARMELTmiNORMAL_LAMBDA_cl18_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_70_WARMELTmiNORMAL_LAMBDA_cl18_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_70_WARMELTmiNORMAL_LAMBDA_cl18 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_70_WARMELTmiNORMAL_LAMBDA_cl18_st *) meltfirstargp_; /* use arguments meltrout_70_WARMELTmiNORMAL_LAMBDA_cl18 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 21; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_70_WARMELTmiNORMAL_LAMBDA_cl18 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_cl18", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4065:/ getarg"); /*_.FLA__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto meltlab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4066:/ 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:4066:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4066:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fla"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4066) ? (4066) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_._IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4066:/ 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:4067:/ 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:4068:/ 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:4069:/ 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:4069:/ cond.else"); /*_.FSLOC__V8*/ meltfptr[7] = ( /*~SLOC */ meltfclos->tabval[0]);; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4071:/ 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:4071:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V10*/ meltfptr[9] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4071:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fld"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4071) ? (4071) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V10*/ meltfptr[9] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V9*/ meltfptr[8] = /*_._IFELSE___V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4071:/ 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:4072:/ 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:4075:/ 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:4076:/ 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:4080:/ 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:4081:/ 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:4082:/ 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:4082:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4082:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4082; /*^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:4082:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4082:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[18] = /*_._IF___V18*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.PROGN___V20*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4082:/ 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 */ /*_#exeq__L6*/ meltfnum[4] = (( /*_.FCTYP__V16*/ meltfptr[15]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:4083:/ cond"); /*cond */ if ( /*_#exeq__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4087:/ 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:4084:/ 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:4083:/ clear"); /*clear *//*_.NAMED_NAME__V21*/ meltfptr[17] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:4081:/ clear"); /*clear *//*_.FCTYP__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_#exeq__L6*/ meltfnum[4] = 0; MELT_LOCATION ("warmelt-normal.melt:4076:/ clear"); /*clear *//*_.NFLA__V14*/ meltfptr[13] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4072:/ clear"); /*clear *//*_.LIST_APPEND2LIST__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.NEXPBIND__V12*/ meltfptr[11] = 0; MELT_LOCATION ("warmelt-normal.melt:4067:/ 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:4065:/ clear"); /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl18", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_70_WARMELTmiNORMAL_LAMBDA_cl18_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_70_WARMELTmiNORMAL_LAMBDA_cl18 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_71_WARMELTmiNORMAL_LAMBDA_cl19 (meltclosure_ptr_t meltclosp_, 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_WARMELTmiNORMAL_LAMBDA_cl19_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_71_WARMELTmiNORMAL_LAMBDA_cl19_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_71_WARMELTmiNORMAL_LAMBDA_cl19 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_71_WARMELTmiNORMAL_LAMBDA_cl19_st *) meltfirstargp_; /* use arguments meltrout_71_WARMELTmiNORMAL_LAMBDA_cl19 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 3; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_71_WARMELTmiNORMAL_LAMBDA_cl19 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_cl19", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4100:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { /*_._RETVAL___V1*/ meltfptr[0] = ( /*!CTYPE_VOID */ meltfrout->tabval[0]);; { MELT_LOCATION ("warmelt-normal.melt:4100:/ 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 meltlabend_rout; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl19", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_71_WARMELTmiNORMAL_LAMBDA_cl19_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_WARMELTmiNORMAL_LAMBDA_cl19 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_72_WARMELTmiNORMAL_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_72_WARMELTmiNORMAL_NORMEXP_PUT_FIELDS_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_72_WARMELTmiNORMAL_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_72_WARMELTmiNORMAL_NORMEXP_PUT_FIELDS is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_72_WARMELTmiNORMAL_NORMEXP_PUT_FIELDS_st *) meltfirstargp_; /* use arguments meltrout_72_WARMELTmiNORMAL_NORMEXP_PUT_FIELDS output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 84; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_72_WARMELTmiNORMAL_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:4104:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4105:/ 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:4105:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4105:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check putfields recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4105) ? (4105) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4105:/ 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:4106:/ 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:4106:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4106:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4106) ? (4106) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4106:/ 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:4107:/ 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:4107:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4107:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4107) ? (4107) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4107:/ 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:4108:/ 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:4108:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4108:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4108; /*^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:4108:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4108:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4108:/ 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:4109:/ 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:4110:/ 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:4111:/ 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:4114:/ 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:4115:/ 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:4116:/ 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:4118:/ 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:4122:/ 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:4122:/ 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:4123:/ 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:4129:/ 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:4134:/ 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:4136:/ 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:4139:/ 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:4143:/ 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:4143:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L9*/ meltfnum[8] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4143:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4143; /*^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:4143:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4143:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[42] = /*_._IF___V42*/ meltfptr[41];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[40] = /*_.PROGN___V44*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4143:/ 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:4144:/ 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:4144:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[8]) /*then */ { /*^cond.then */ /*_._IFELSE___V46*/ meltfptr[42] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4144:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fla"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4144) ? (4144) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V46*/ meltfptr[42] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V45*/ meltfptr[41] = /*_._IFELSE___V46*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4144:/ 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:4145:/ 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:4146:/ 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:4147:/ 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:4147:/ cond.else"); /*_.FSLOC__V50*/ meltfptr[49] = /*_.SLOC__V17*/ meltfptr[13];; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4149:/ 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:4149:/ cond"); /*cond */ if ( /*_#IS_A__L11*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_._IFELSE___V52*/ meltfptr[51] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4149:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fld"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4149) ? (4149) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V52*/ meltfptr[51] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V51*/ meltfptr[50] = /*_._IFELSE___V52*/ meltfptr[51];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4149:/ 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:4150:/ 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:4151:/ 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:4153:/ cond"); /*cond */ if ( /*_#NULL__L12*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4154:/ 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:4154:/ cond.else"); /*_._IFELSE___V56*/ meltfptr[55] = NULL;; } ; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normal.melt:4153:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#eqeq__L13*/ meltfnum[7] = (( /*_.PRECLA__V55*/ meltfptr[54]) == ( /*_.FCLA__V54*/ meltfptr[53]));; MELT_LOCATION ("warmelt-normal.melt:4156:/ cond"); /*cond */ if ( /*_#eqeq__L13*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_._IFELSE___V57*/ meltfptr[56] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4156:/ 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:4159:/ cond"); /*cond */ if ( /*_#SUBCLASS_OF__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*_._IFELSE___V58*/ meltfptr[57] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4159:/ 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:4162:/ cond"); /*cond */ if ( /*_#SUBCLASS_OF__L15*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4163:/ 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:4163:/ cond.else"); /*_._IFELSE___V58*/ meltfptr[57] = NULL;; } ; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-normal.melt:4162:/ cond.else"); /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4166:/ 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:4166:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L17*/ meltfnum[16] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4166:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L17*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4166; /*^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:4166:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4166:/ quasiblock"); /*_.PROGN___V62*/ meltfptr[60] = /*_._IF___V60*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V59*/ meltfptr[58] = /*_.PROGN___V62*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4166:/ 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:4168:/ 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:4169:/ 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:4170:/ 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:4170:/ 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:4165:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4162:/ 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:4159:/ clear"); /*clear *//*_#SUBCLASS_OF__L15*/ meltfnum[14] = 0; } ; } ; /*_._IFELSE___V57*/ meltfptr[56] = /*_._IFELSE___V58*/ meltfptr[57];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4156:/ 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:4153:/ clear"); /*clear *//*_#eqeq__L13*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_._IFELSE___V57*/ meltfptr[56] = 0; } ; } ; /*_.LET___V53*/ meltfptr[51] = /*_._IFELSE___V56*/ meltfptr[55];; MELT_LOCATION ("warmelt-normal.melt:4150:/ 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:4174:/ 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:4177:/ 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:4178:/ 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:4182:/ 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 (); ; /*_#exeq__L18*/ meltfnum[16] = (( /*_.FCTYP__V71*/ meltfptr[56]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[20])));; MELT_LOCATION ("warmelt-normal.melt:4184:/ cond"); /*cond */ if ( /*_#exeq__L18*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4188:/ 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:4185:/ 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:4184:/ clear"); /*clear *//*_.NAMED_NAME__V72*/ meltfptr[53] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:4182:/ clear"); /*clear *//*_.FCTYP__V71*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_#exeq__L18*/ meltfnum[16] = 0; { MELT_LOCATION ("warmelt-normal.melt:4191:/ 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:4178:/ clear"); /*clear *//*_.NFLA__V69*/ meltfptr[64] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4174:/ clear"); /*clear *//*_.LIST_APPEND2LIST__V68*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.NEXPBIND__V67*/ meltfptr[59] = 0; MELT_LOCATION ("warmelt-normal.melt:4145:/ 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:4140:/ 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:4193:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4194:/ 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:4194:/ 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:4195:/ 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:4199:/ 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:4207:/ 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:4208:/ 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:4209:/ 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:4209:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L20*/ meltfnum[14] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4209:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L20*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4209; /*^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:4209:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4209:/ quasiblock"); /*_.PROGN___V83*/ meltfptr[48] = /*_._IF___V81*/ meltfptr[42];; /*^compute */ /*_.IFCPP___V80*/ meltfptr[59] = /*_.PROGN___V83*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4209:/ 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:4210:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V32*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:4210:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBINDLIST__V27*/ meltfptr[26]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V73*/ meltfptr[54] = /*_.RETURN___V84*/ meltfptr[49];; MELT_LOCATION ("warmelt-normal.melt:4193:/ 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:4136:/ 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:4109:/ 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:4104:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4104:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_PUT_FIELDS", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_72_WARMELTmiNORMAL_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_72_WARMELTmiNORMAL_NORMEXP_PUT_FIELDS */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_73_WARMELTmiNORMAL_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_73_WARMELTmiNORMAL_NORMEXP_SETQ_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_73_WARMELTmiNORMAL_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 74 melt_ptr_t mcfr_varptr[74]; #define MELTFRAM_NBVARNUM 19 long mcfr_varnum[19]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_73_WARMELTmiNORMAL_NORMEXP_SETQ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_73_WARMELTmiNORMAL_NORMEXP_SETQ_st *) meltfirstargp_; /* use arguments meltrout_73_WARMELTmiNORMAL_NORMEXP_SETQ output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 74; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_73_WARMELTmiNORMAL_NORMEXP_SETQ nbval 74*/ meltfram__.mcfr_nbvar = 74 /*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:4216:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4217:/ 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:4217:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4217:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4217; /*^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__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:4217:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4217:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_._IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4217:/ 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:4218:/ 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_SETQ */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4218:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4218:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check setq recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4218) ? (4218) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_._IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4218:/ 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:4219:/ 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:4219:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4219:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4219) ? (4219) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_._IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4219:/ 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:4220:/ 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:4220:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4220:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4220) ? (4220) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4220:/ 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:4221:/ 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:4222:/ 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:4223:/ 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:4224:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L6*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SVAR__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:4224:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V21*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4224:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check svar"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4224) ? (4224) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V21*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_._IFELSE___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4224:/ 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_LOCATION ("warmelt-normal.melt:4225:/ 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[16]; /*_.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:4226:/ 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:4228:/ 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:4228:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4228:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4228; /*^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[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V26*/ meltfptr[25] = /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4228:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L8*/ 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:4228:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_._IF___V26*/ meltfptr[25];; /*^compute */ /*_.IFCPP___V25*/ meltfptr[24] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4228:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 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:4229:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.VARCTYP__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[7])));; MELT_LOCATION ("warmelt-normal.melt:4229:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V30*/ meltfptr[26] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4229:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check varctyp"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4229) ? (4229) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V30*/ meltfptr[26] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V29*/ meltfptr[25] = /*_._IFELSE___V30*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4229:/ clear"); /*clear *//*_#IS_A__L9*/ 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_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4230:/ 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__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[1] = (( /*_.NBIND__V33*/ meltfptr[32]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:4233:/ cond"); /*cond */ if ( /*_#NULL__L10*/ meltfnum[1]) /*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:4233:/ 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:4233:/ 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:4234:/ 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:4236:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:4236:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L12*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4236:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L12*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4236; /*^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[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V39*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4236:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4236:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_._IF___V39*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[35] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4236:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[0] = 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:4237:/ 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:4237:/ cond"); /*cond */ if ( /*_#IS_A__L13*/ meltfnum[11]) /*then */ { /*^cond.then */ /*_._IFELSE___V43*/ meltfptr[39] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4237:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check expctyp"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4237) ? (4237) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V43*/ meltfptr[39] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V42*/ meltfptr[38] = /*_._IFELSE___V43*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4237:/ 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 */ /*_#exeq__L14*/ meltfnum[0] = (( /*_.VARCTYP__V24*/ meltfptr[23]) != ( /*_.EXPCTYP__V37*/ meltfptr[34]));; MELT_LOCATION ("warmelt-normal.melt:4238:/ cond"); /*cond */ if ( /*_#exeq__L14*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4240:/ 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:4239:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("incompatible type for SETQ"), (melt_ptr_t) ( /*_.NAMED_NAME__V44*/ meltfptr[39])); } ; MELT_LOCATION ("warmelt-normal.melt:4242:/ 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:4241:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("left [var] type for incompatible SETQ"), (melt_ptr_t) ( /*_.NAMED_NAME__V45*/ meltfptr[44])); } ; MELT_LOCATION ("warmelt-normal.melt:4244:/ 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:4243:/ locexp"); melt_inform_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("right [expr] type for incompatible SETQ"), (melt_ptr_t) ( /*_.NAMED_NAME__V46*/ meltfptr[45])); } ; MELT_LOCATION ("warmelt-normal.melt:4238:/ quasiblock"); /*epilog */ /*^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:4234:/ clear"); /*clear *//*_.EXPCTYP__V37*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.IFCPP___V42*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_#exeq__L14*/ meltfnum[0] = 0; MELT_CHECK_SIGNAL (); ; /*_#IS_A__L15*/ meltfnum[11] = melt_is_instance_of ((melt_ptr_t) ( /*_.NVAR__V23*/ meltfptr[22]), (melt_ptr_t) (( /*!CLASS_NREP_MODULEVAROCC */ meltfrout->tabval[10])));; MELT_LOCATION ("warmelt-normal.melt:4246:/ cond"); /*cond */ if ( /*_#IS_A__L15*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4247:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ 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:4247:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L17*/ meltfnum[16] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4247:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L17*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4247; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_setq modulevarocc nexp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEXP__V32*/ meltfptr[31]; /*_.MELT_DEBUG_FUN__V50*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V49*/ meltfptr[45] = /*_.MELT_DEBUG_FUN__V50*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4247:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V50*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*_._IF___V49*/ meltfptr[45] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4247:/ quasiblock"); /*_.PROGN___V51*/ meltfptr[35] = /*_._IF___V49*/ meltfptr[45];; /*^compute */ /*_.IFCPP___V48*/ meltfptr[44] = /*_.PROGN___V51*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4247:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V49*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.PROGN___V51*/ meltfptr[35] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V48*/ meltfptr[44] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4248:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V53*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[11])), (melt_ptr_t) (( /*!konst_12_PUTSTATIC_ */ meltfrout->tabval[12])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4254:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_PUTMODULEVAR */ meltfrout->tabval[15])), (3), "CLASS_NREP_PUTMODULEVAR"); /*_.INST__V55*/ meltfptr[35] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V55*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V55*/ meltfptr[35]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPUTMOD_DESTVAR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V55*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V55*/ meltfptr[35]), (1), ( /*_.NVAR__V23*/ meltfptr[22]), "NPUTMOD_DESTVAR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPUTMOD_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V55*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V55*/ meltfptr[35]), (2), ( /*_.NEXP__V32*/ meltfptr[31]), "NPUTMOD_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V55*/ meltfptr[35], "newly made instance"); ; /*_.INST___V54*/ meltfptr[45] = /*_.INST__V55*/ meltfptr[35];; MELT_LOCATION ("warmelt-normal.melt:4249:/ 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__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__V53*/ meltfptr[34]), "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[16]), "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), (( /*!CTYPE_VOID */ meltfrout->tabval[14])), "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[45]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V57*/ meltfptr[56], "newly made instance"); ; /*_.CSBIND__V56*/ meltfptr[55] = /*_.INST__V57*/ meltfptr[56];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4258:/ 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[16]), "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), (( /*!CTYPE_VOID */ meltfrout->tabval[14])), "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__V53*/ meltfptr[34]), "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), ( /*_.CSBIND__V56*/ meltfptr[55]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V59*/ meltfptr[58], "newly made instance"); ; /*_.CSLOCC__V58*/ meltfptr[57] = /*_.INST__V59*/ meltfptr[58];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4265:/ 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:4265:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L19*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4265:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L19*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4265; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_set static csbind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CSBIND__V56*/ meltfptr[55]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n cslocc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CSLOCC__V58*/ meltfptr[57]; /*_.MELT_DEBUG_FUN__V62*/ meltfptr[61] = 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___V61*/ meltfptr[60] = /*_.MELT_DEBUG_FUN__V62*/ meltfptr[61];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4265:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L19*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V62*/ meltfptr[61] = 0; } ; } else { /*^cond.else */ /*_._IF___V61*/ meltfptr[60] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4265:/ quasiblock"); /*_.PROGN___V63*/ meltfptr[61] = /*_._IF___V61*/ meltfptr[60];; /*^compute */ /*_.IFCPP___V60*/ meltfptr[59] = /*_.PROGN___V63*/ meltfptr[61];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4265:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[16] = 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_LOCATION ("warmelt-normal.melt:4266:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V33*/ meltfptr[32]), (melt_ptr_t) ( /*_.CSBIND__V56*/ meltfptr[55])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4267:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CSLOCC__V58*/ meltfptr[57];; MELT_LOCATION ("warmelt-normal.melt:4267:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBIND__V33*/ meltfptr[32]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V52*/ meltfptr[38] = /*_.RETURN___V64*/ meltfptr[60];; MELT_LOCATION ("warmelt-normal.melt:4248:/ clear"); /*clear *//*_.CSYM__V53*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.INST___V54*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.CSBIND__V56*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.CSLOCC__V58*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.IFCPP___V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.RETURN___V64*/ meltfptr[60] = 0; MELT_LOCATION ("warmelt-normal.melt:4246:/ quasiblock"); /*_.PROGN___V65*/ meltfptr[61] = /*_.LET___V52*/ meltfptr[38];; /*^compute */ /*_._IF___V47*/ meltfptr[39] = /*_.PROGN___V65*/ meltfptr[61];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4246:/ clear"); /*clear *//*_.IFCPP___V48*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.LET___V52*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.PROGN___V65*/ meltfptr[61] = 0; } ; } else { /*^cond.else */ /*_._IF___V47*/ meltfptr[39] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4270:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CSYM__V67*/ meltfptr[45] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[11])), (melt_ptr_t) (( /*!konst_17_SETQ_ */ meltfrout-> tabval[17])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4276:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_SETQ */ meltfrout->tabval[18])), (3), "CLASS_NREP_SETQ"); /*_.INST__V69*/ meltfptr[57] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V69*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V69*/ meltfptr[57]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSTQ_VAR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V69*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V69*/ meltfptr[57]), (1), ( /*_.NVAR__V23*/ meltfptr[22]), "NSTQ_VAR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSTQ_EXP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V69*/ meltfptr[57])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V69*/ meltfptr[57]), (2), ( /*_.NEXP__V32*/ meltfptr[31]), "NSTQ_EXP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V69*/ meltfptr[57], "newly made instance"); ; /*_.INST___V68*/ meltfptr[55] = /*_.INST__V69*/ meltfptr[57];; MELT_LOCATION ("warmelt-normal.melt:4271:/ 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__V71*/ meltfptr[60] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V71*/ meltfptr[60])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V71*/ meltfptr[60]), (0), ( /*_.CSYM__V67*/ meltfptr[45]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V71*/ meltfptr[60])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V71*/ meltfptr[60]), (3), ( /*_.SLOC__V17*/ meltfptr[16]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V71*/ meltfptr[60])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V71*/ meltfptr[60]), (1), ( /*_.VARCTYP__V24*/ meltfptr[23]), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V71*/ meltfptr[60])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V71*/ meltfptr[60]), (2), ( /*_.INST___V68*/ meltfptr[55]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V71*/ meltfptr[60], "newly made instance"); ; /*_.CBIND__V70*/ meltfptr[59] = /*_.INST__V71*/ meltfptr[60];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4280:/ 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__V73*/ meltfptr[38] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V73*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V73*/ meltfptr[38]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V73*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V73*/ meltfptr[38]), (2), ( /*_.VARCTYP__V24*/ meltfptr[23]), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V73*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V73*/ meltfptr[38]), (1), ( /*_.CSYM__V67*/ meltfptr[45]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V73*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V73*/ meltfptr[38]), (3), ( /*_.CBIND__V70*/ meltfptr[59]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V73*/ meltfptr[38], "newly made instance"); ; /*_.CLOCC__V72*/ meltfptr[44] = /*_.INST__V73*/ meltfptr[38];; { MELT_LOCATION ("warmelt-normal.melt:4286:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBIND__V33*/ meltfptr[32]), (melt_ptr_t) ( /*_.CBIND__V70*/ meltfptr[59])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4287:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V72*/ meltfptr[44];; MELT_LOCATION ("warmelt-normal.melt:4287:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBIND__V33*/ meltfptr[32]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V66*/ meltfptr[34] = /*_.RETURN___V74*/ meltfptr[61];; MELT_LOCATION ("warmelt-normal.melt:4270:/ clear"); /*clear *//*_.CSYM__V67*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.INST___V68*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.CBIND__V70*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.CLOCC__V72*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.RETURN___V74*/ meltfptr[61] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V31*/ meltfptr[26] = /*_.LET___V66*/ meltfptr[34];; MELT_LOCATION ("warmelt-normal.melt:4230:/ clear"); /*clear *//*_#NULL__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_._IF___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_#IS_A__L15*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_._IF___V47*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.LET___V66*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.NBIND__V33*/ meltfptr[32] = 0; /*_.LET___V22*/ meltfptr[20] = /*_.MULTI___V31*/ meltfptr[26];; MELT_LOCATION ("warmelt-normal.melt:4225:/ 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[14] = /*_.LET___V22*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:4221:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 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:4216:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:4216:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_SETQ", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_73_WARMELTmiNORMAL_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_73_WARMELTmiNORMAL_NORMEXP_SETQ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_74_WARMELTmiNORMAL_LAMBDA_cl20 (meltclosure_ptr_t meltclosp_, 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_WARMELTmiNORMAL_LAMBDA_cl20_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_74_WARMELTmiNORMAL_LAMBDA_cl20_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_74_WARMELTmiNORMAL_LAMBDA_cl20 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_74_WARMELTmiNORMAL_LAMBDA_cl20_st *) meltfirstargp_; /* use arguments meltrout_74_WARMELTmiNORMAL_LAMBDA_cl20 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 5; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_74_WARMELTmiNORMAL_LAMBDA_cl20 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_cl20", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4291:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normal.melt:4292:/ 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:4291:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.GET_CTYPE__V5*/ meltfptr[4];; { MELT_LOCATION ("warmelt-normal.melt:4291:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.NSTQ_VAR__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V5*/ meltfptr[4] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl20", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_74_WARMELTmiNORMAL_LAMBDA_cl20_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_WARMELTmiNORMAL_LAMBDA_cl20 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_75_WARMELTmiNORMAL_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_75_WARMELTmiNORMAL_NORMEXP_INSTANCE_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_75_WARMELTmiNORMAL_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_75_WARMELTmiNORMAL_NORMEXP_INSTANCE is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_75_WARMELTmiNORMAL_NORMEXP_INSTANCE_st *) meltfirstargp_; /* use arguments meltrout_75_WARMELTmiNORMAL_NORMEXP_INSTANCE output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 63; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_75_WARMELTmiNORMAL_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:4298:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4299:/ 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:4299:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4299:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check instance recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4299) ? (4299) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4299:/ 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:4300:/ 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:4300:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4300:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4300) ? (4300) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4300:/ 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:4301:/ 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:4301:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4301:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4301) ? (4301) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4301:/ 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:4302:/ 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:4302:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4302:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4302; /*^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:4302:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4302:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4302:/ 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:4303:/ 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:4304:/ 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:4305:/ 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:4306:/ 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:4307:/ 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:4307:/ 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:4308:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4309:/ 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:4308:/ clear"); /*clear *//*_.NORMAL_EXP__V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*_.CLADATA__V23*/ meltfptr[21] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4310:/ 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:4311:/ 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:4313:/ 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:4317:/ 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:4317:/ 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:4321:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4322:/ 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:4322:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L10*/ meltfnum[9] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4322:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4322; /*^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:4322:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4322:/ quasiblock"); /*_.PROGN___V37*/ meltfptr[35] = /*_._IF___V35*/ meltfptr[34];; /*^compute */ /*_.IFCPP___V34*/ meltfptr[31] = /*_.PROGN___V37*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4322:/ 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:4323:/ 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:4324:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = ( /*nil */ NULL);; { MELT_LOCATION ("warmelt-normal.melt:4324:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:4321:/ quasiblock"); /*_.PROGN___V39*/ meltfptr[35] = /*_.RETURN___V38*/ meltfptr[34];; /*^compute */ /*_._IFELSE___V33*/ meltfptr[30] = /*_.PROGN___V39*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4321:/ 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:4326:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L11*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4327:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; 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:4327:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4327:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4327; /*^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:4327:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4327:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[42] = /*_._IF___V42*/ meltfptr[35];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[34] = /*_.PROGN___V44*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4327:/ 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:4329:/ 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:4328:/ 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:4330:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = ( /*nil */ NULL);; { MELT_LOCATION ("warmelt-normal.melt:4330:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:4326:/ quasiblock"); /*_.PROGN___V47*/ meltfptr[46] = /*_.RETURN___V46*/ meltfptr[42];; /*^compute */ /*_._IFELSE___V40*/ meltfptr[31] = /*_.PROGN___V47*/ meltfptr[46];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4326:/ 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:4321:/ clear"); /*clear *//*_#IS_NOT_A__L11*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_._IFELSE___V40*/ meltfptr[31] = 0; } ; } ; MELT_LOCATION ("warmelt-normal.melt:4333:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4336:/ 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:4334:/ 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:4385:/ 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:4390:/ 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:4391:/ 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:4396:/ 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:4402:/ 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:4403:/ 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:4403:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L15*/ meltfnum[8] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4403:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L15*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4403; /*^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:4403:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4403:/ quasiblock"); /*_.PROGN___V62*/ meltfptr[60] = /*_._IF___V60*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V59*/ meltfptr[58] = /*_.PROGN___V62*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4403:/ 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:4404:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V57*/ meltfptr[56];; MELT_LOCATION ("warmelt-normal.melt:4404:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.BINDLIST__V30*/ meltfptr[29]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V48*/ meltfptr[34] = /*_.RETURN___V63*/ meltfptr[59];; MELT_LOCATION ("warmelt-normal.melt:4333:/ 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:4303:/ 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:4298:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4298:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_INSTANCE", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_75_WARMELTmiNORMAL_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_75_WARMELTmiNORMAL_NORMEXP_INSTANCE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_76_WARMELTmiNORMAL_LAMBDA_cl21 (meltclosure_ptr_t meltclosp_, 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_WARMELTmiNORMAL_LAMBDA_cl21_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_76_WARMELTmiNORMAL_LAMBDA_cl21_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_76_WARMELTmiNORMAL_LAMBDA_cl21 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_76_WARMELTmiNORMAL_LAMBDA_cl21_st *) meltfirstargp_; /* use arguments meltrout_76_WARMELTmiNORMAL_LAMBDA_cl21 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 48; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_76_WARMELTmiNORMAL_LAMBDA_cl21 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_cl21", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4336:/ getarg"); /*_.CURFLDA__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto meltlab_endgetargs; /*_#CURK__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4337:/ 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:4337:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L3*/ meltfnum[2] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4337:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4337; /*^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:4337:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4337:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_._IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4337:/ 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:4338:/ 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:4338:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_._IFELSE___V8*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4338:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curflda"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4338) ? (4338) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V8*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[3] = /*_._IFELSE___V8*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4338:/ 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:4339:/ 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:4340:/ 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:4341:/ 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:4342:/ 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:4342:/ 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:4345:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L6*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4346:/ 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:4346:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4346:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4346; /*^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:4346:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4346:/ quasiblock"); /*_.PROGN___V19*/ meltfptr[17] = /*_._IF___V17*/ meltfptr[16];; /*^compute */ /*_.IFCPP___V16*/ meltfptr[15] = /*_.PROGN___V19*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4346:/ 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:4350:/ 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:4348:/ 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:4351:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:4351:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:4345:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[21] = /*_.RETURN___V21*/ meltfptr[17];; /*^compute */ /*_._IFELSE___V15*/ meltfptr[13] = /*_.PROGN___V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4345:/ 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:4352:/ 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:4352:/ cond"); /*cond */ if ( /*_#NOT__L10*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4353:/ 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:4353:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L12*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4353:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L12*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4353; /*^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:4353:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4353:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_._IF___V26*/ meltfptr[21];; /*^compute */ /*_.IFCPP___V25*/ meltfptr[17] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4353:/ 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:4357:/ 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:4355:/ 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:4360:/ 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:4358:/ 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:4363:/ 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:4361:/ 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:4364:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:4364:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:4352:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[33] = /*_.RETURN___V33*/ meltfptr[32];; /*^compute */ /*_._IFELSE___V24*/ meltfptr[16] = /*_.PROGN___V34*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4352:/ 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:4345:/ 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:4367:/ 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:4370:/ 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:4370:/ 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:4370:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4370) ? (4370) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V39*/ meltfptr[31] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V38*/ meltfptr[30] = /*_._IFELSE___V39*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4370:/ 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:4371:/ 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:4372:/ 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:4372:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L15*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4372:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L15*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4372; /*^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:4372:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4372:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[31] = /*_._IF___V42*/ meltfptr[15];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[33] = /*_.PROGN___V44*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4372:/ 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 */ /*_#exeq__L16*/ meltfnum[6] = (( /*_.FCTYP__V40*/ meltfptr[32]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:4373:/ cond"); /*cond */ if ( /*_#exeq__L16*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4377:/ 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:4374:/ 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:4373:/ clear"); /*clear *//*_.NAMED_NAME__V45*/ meltfptr[16] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-normal.melt:4371:/ clear"); /*clear *//*_.FCTYP__V40*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.IFCPP___V41*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_#exeq__L16*/ meltfnum[6] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4378:/ 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:4379:/ 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:4367:/ 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:4339:/ 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:4336:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V9*/ meltfptr[4];; { MELT_LOCATION ("warmelt-normal.melt:4336:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V9*/ meltfptr[4] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl21", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_76_WARMELTmiNORMAL_LAMBDA_cl21_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_WARMELTmiNORMAL_LAMBDA_cl21 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_77_WARMELTmiNORMAL_LAMBDA_cl22 (meltclosure_ptr_t meltclosp_, 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_WARMELTmiNORMAL_LAMBDA_cl22_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_77_WARMELTmiNORMAL_LAMBDA_cl22_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_77_WARMELTmiNORMAL_LAMBDA_cl22 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_77_WARMELTmiNORMAL_LAMBDA_cl22_st *) meltfirstargp_; /* use arguments meltrout_77_WARMELTmiNORMAL_LAMBDA_cl22 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 3; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_77_WARMELTmiNORMAL_LAMBDA_cl22 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_cl22", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4410:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { /*_._RETVAL___V1*/ meltfptr[0] = ( /*!CTYPE_VALUE */ meltfrout->tabval[0]);; { MELT_LOCATION ("warmelt-normal.melt:4410:/ 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 meltlabend_rout; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl22", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_77_WARMELTmiNORMAL_LAMBDA_cl22_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_WARMELTmiNORMAL_LAMBDA_cl22 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_78_WARMELTmiNORMAL_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_78_WARMELTmiNORMAL_NORMEXP_FOREVER_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_78_WARMELTmiNORMAL_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_78_WARMELTmiNORMAL_NORMEXP_FOREVER is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_78_WARMELTmiNORMAL_NORMEXP_FOREVER_st *) meltfirstargp_; /* use arguments meltrout_78_WARMELTmiNORMAL_NORMEXP_FOREVER output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 88; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_78_WARMELTmiNORMAL_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:4415:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4416:/ 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:4416:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4416:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check forever recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4416) ? (4416) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4416:/ 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:4417:/ 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:4417:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4417:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4417) ? (4417) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4417:/ 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:4418:/ 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:4418:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4418:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4418) ? (4418) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4418:/ 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:4419:/ 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:4419:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4419:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4419; /*^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:4419:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4419:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4419:/ 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:4420:/ 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:4421:/ 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:4422:/ 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:4423:/ 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:4425:/ 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:4425:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_._IFELSE___V22*/ meltfptr[21] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4425:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check slbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4425) ? (4425) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V22*/ meltfptr[21] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V21*/ meltfptr[20] = /*_._IFELSE___V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4425:/ 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:4426:/ 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:4427:/ 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:4428:/ 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:4428:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4428:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4428; /*^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:4428:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4428:/ quasiblock"); /*_.PROGN___V30*/ meltfptr[28] = /*_._IF___V28*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V27*/ meltfptr[26] = /*_.PROGN___V30*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4428:/ 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:4429:/ 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:4429:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L9*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_._IFELSE___V32*/ meltfptr[28] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4429:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check resy obj1"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4429) ? (4429) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V32*/ meltfptr[28] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V31*/ meltfptr[27] = /*_._IFELSE___V32*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4429:/ 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:4430:/ 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:4431:/ 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:4431:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L11*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4431:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L11*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4431; /*^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:4431:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4431:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[34] = /*_._IF___V34*/ meltfptr[33];; /*^compute */ /*_.IFCPP___V33*/ meltfptr[28] = /*_.PROGN___V36*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4431:/ 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:4432:/ 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:4432:/ cond"); /*cond */ if ( /*_#IS_A__L12*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_._IFELSE___V38*/ meltfptr[34] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4432:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check resy"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4432) ? (4432) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V38*/ meltfptr[34] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V37*/ meltfptr[33] = /*_._IFELSE___V38*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4432:/ 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:4433:/ 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:4433:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L14*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_LOCATION ("warmelt-normal.melt:4433:/ 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 = /*_#MELT_CALLCOUNT__L14*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4433; /*^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:4433:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4433:/ quasiblock"); /*_.PROGN___V43*/ meltfptr[40] = /*_._IF___V40*/ meltfptr[39];; /*^compute */ /*_.IFCPP___V39*/ meltfptr[34] = /*_.PROGN___V43*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4433:/ 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:4434:/ 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; }; ; /*_#eqeq__L15*/ meltfnum[4] = (( /*_.LABIND_CLONSY__V45*/ meltfptr[39]) == ( /*_.RESY__V26*/ meltfptr[25]));; MELT_LOCATION ("warmelt-normal.melt:4434:/ cond"); /*cond */ if ( /*_#eqeq__L15*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_._IFELSE___V46*/ meltfptr[40] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4434:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check did1 put resy"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4434) ? (4434) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V46*/ meltfptr[40] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V44*/ meltfptr[41] = /*_._IFELSE___V46*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4434:/ clear"); /*clear *//*_.LABIND_CLONSY__V45*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_#eqeq__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:4435:/ 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:4435:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L16*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V48*/ meltfptr[40] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4435:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check resy obj2"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4435) ? (4435) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V48*/ meltfptr[40] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V47*/ meltfptr[39] = /*_._IFELSE___V48*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4435:/ 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:4436:/ 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:4439:/ 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:4439:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L18*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4439:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L18*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4439; /*^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:4439:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4439:/ quasiblock"); /*_.PROGN___V55*/ meltfptr[53] = /*_._IF___V53*/ meltfptr[52];; /*^compute */ /*_.IFCPP___V52*/ meltfptr[51] = /*_.PROGN___V55*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4439:/ 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:4441:/ 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:4442:/ 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:4444:/ 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:4449:/ cond"); /*cond */ if ( /*_#NULL__L19*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4450:/ 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:4450:/ 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:4449:/ clear"); /*clear *//*_.LIST___V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.SETQ___V66*/ meltfptr[63] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:4451:/ 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:4441:/ 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:4453:/ 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; }; ; /*_#eqeq__L20*/ meltfnum[4] = (( /*_.LABIND_CLONSY__V68*/ meltfptr[62]) == ( /*_.RESY__V26*/ meltfptr[25]));; MELT_LOCATION ("warmelt-normal.melt:4453:/ cond"); /*cond */ if ( /*_#eqeq__L20*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_._IFELSE___V69*/ meltfptr[63] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4453:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check did2 put resy"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4453) ? (4453) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V69*/ meltfptr[63] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V67*/ meltfptr[64] = /*_._IFELSE___V69*/ meltfptr[63];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4453:/ clear"); /*clear *//*_.LABIND_CLONSY__V68*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_#eqeq__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:4454:/ 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 */ /*_#ltI__L23*/ meltfnum[22] = (( /*_#GET_INT__L21*/ meltfnum[0]) < ( /*_#OBJECT_LENGTH__L22*/ meltfnum[4]));; MELT_LOCATION ("warmelt-normal.melt:4454:/ cond"); /*cond */ if ( /*_#ltI__L23*/ meltfnum[22]) /*then */ { /*^cond.then */ /*_._IFELSE___V71*/ meltfptr[57] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4454:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check size slbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4454) ? (4454) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V71*/ meltfptr[57] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V70*/ meltfptr[53] = /*_._IFELSE___V71*/ meltfptr[57];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4454:/ clear"); /*clear *//*_#GET_INT__L21*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#OBJECT_LENGTH__L22*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_#ltI__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:4455:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4457:/ 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:4456:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_2_st { struct MELT_MULTIPLE_STRUCT (1) rtup_0__TUPLREC__x9; 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__x9 */ /*_.TUPLREC___V75*/ meltfptr[63] = (melt_ptr_t) & meltletrec_2_ptr->rtup_0__TUPLREC__x9; meltletrec_2_ptr->rtup_0__TUPLREC__x9.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_2_ptr->rtup_0__TUPLREC__x9.nbval = 1; /*^putuple */ /*putupl#34 */ melt_assertmsg ("putupl [:4456] #34 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V75*/ meltfptr[63])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:4456] #34 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:4456:/ clear"); /*clear *//*_.TUPLREC___V75*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.TUPLREC___V75*/ meltfptr[63] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4458:/ 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:4459:/ 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:4464:/ 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:4469:/ 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:4476:/ 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:4477:/ 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:4477:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L24*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L25*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4477:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L25*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4477; /*^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:4477:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4477:/ quasiblock"); /*_.PROGN___V87*/ meltfptr[85] = /*_._IF___V85*/ meltfptr[84];; /*^compute */ /*_.IFCPP___V84*/ meltfptr[83] = /*_.PROGN___V87*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4477:/ 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:4479:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V81*/ meltfptr[80];; MELT_LOCATION ("warmelt-normal.melt:4479:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NFORBINDINGS__V83*/ meltfptr[82]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V72*/ meltfptr[59] = /*_.RETURN___V88*/ meltfptr[84];; MELT_LOCATION ("warmelt-normal.melt:4455:/ 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:4436:/ 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:4427:/ 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:4420:/ 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:4415:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4415:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_FOREVER", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_78_WARMELTmiNORMAL_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_78_WARMELTmiNORMAL_NORMEXP_FOREVER */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_79_WARMELTmiNORMAL_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_79_WARMELTmiNORMAL_NORMEXP_EXIT_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_79_WARMELTmiNORMAL_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_79_WARMELTmiNORMAL_NORMEXP_EXIT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_79_WARMELTmiNORMAL_NORMEXP_EXIT_st *) meltfirstargp_; /* use arguments meltrout_79_WARMELTmiNORMAL_NORMEXP_EXIT output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 43; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_79_WARMELTmiNORMAL_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:4489:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4490:/ 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:4490:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4490:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check exit recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4490) ? (4490) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4490:/ 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:4491:/ 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:4491:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4491:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4491) ? (4491) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4491:/ 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:4492:/ 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:4492:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4492:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4492) ? (4492) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4492:/ 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:4493:/ 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:4493:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4493:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4493; /*^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:4493:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4493:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4493:/ 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:4494:/ 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:4495:/ 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:4496:/ 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:4497:/ 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:4499:/ 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:4499:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_._IFELSE___V22*/ meltfptr[21] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4499:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check slbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4499) ? (4499) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V22*/ meltfptr[21] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V21*/ meltfptr[20] = /*_._IFELSE___V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4499:/ 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:4500:/ 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:4501:/ 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:4504:/ 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:4505:/ 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:4504:/ 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:4507:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*_#MULTIPLE_LENGTH__L8*/ meltfnum[4] = (melt_multiple_length ((melt_ptr_t) ( /*_.NBODY__V25*/ meltfptr[24])));; /*^compute */ /*_#miI__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]), ( /*_#miI__L9*/ meltfnum[8])));; MELT_LOCATION ("warmelt-normal.melt:4507:/ 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:4511:/ 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:4512:/ 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:4517:/ 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:4523:/ 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:4524:/ 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:4524:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L11*/ meltfnum[10] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4524:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L11*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4524; /*^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:4524:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4524:/ quasiblock"); /*_.PROGN___V42*/ meltfptr[40] = /*_._IF___V40*/ meltfptr[39];; /*^compute */ /*_.IFCPP___V39*/ meltfptr[38] = /*_.PROGN___V42*/ meltfptr[40];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4524:/ 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:4525:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V37*/ meltfptr[36];; MELT_LOCATION ("warmelt-normal.melt:4525:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBODBINDINGS__V26*/ meltfptr[25]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V30*/ meltfptr[27] = /*_.RETURN___V43*/ meltfptr[39];; MELT_LOCATION ("warmelt-normal.melt:4507:/ clear"); /*clear *//*_#MULTIPLE_LENGTH__L8*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_#miI__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:4501:/ 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:4494:/ 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:4489:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4489:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_EXIT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_79_WARMELTmiNORMAL_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_79_WARMELTmiNORMAL_NORMEXP_EXIT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_80_WARMELTmiNORMAL_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_80_WARMELTmiNORMAL_NORMEXP_AGAIN_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_80_WARMELTmiNORMAL_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_80_WARMELTmiNORMAL_NORMEXP_AGAIN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_80_WARMELTmiNORMAL_NORMEXP_AGAIN_st *) meltfirstargp_; /* use arguments meltrout_80_WARMELTmiNORMAL_NORMEXP_AGAIN output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 35; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_80_WARMELTmiNORMAL_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:4531:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4532:/ 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:4532:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4532:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check again recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4532) ? (4532) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4532:/ 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:4533:/ 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:4533:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4533:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4533) ? (4533) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4533:/ 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:4534:/ 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:4534:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4534:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4534) ? (4534) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4534:/ 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:4535:/ 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:4535:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4535:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4535; /*^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:4535:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4535:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4535:/ 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:4536:/ 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:4537:/ 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:4538:/ 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:4539:/ 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:4542:/ 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:4547:/ 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:4552:/ 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:4552:/ 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:4554:/ 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:4554:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_._IFELSE___V30*/ meltfptr[27] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4554:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check slbind"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4554) ? (4554) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V30*/ meltfptr[27] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V29*/ meltfptr[26] = /*_._IFELSE___V30*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4554:/ 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:4555:/ 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:4555:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4555:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4555; /*^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:4555:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4555:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_._IF___V32*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[27] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4555:/ 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:4556:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V24*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:4556:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBINDINGS__V26*/ meltfptr[25]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V16*/ meltfptr[12] = /*_.RETURN___V35*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:4536:/ 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:4531:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4531:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_AGAIN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_80_WARMELTmiNORMAL_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_80_WARMELTmiNORMAL_NORMEXP_AGAIN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_81_WARMELTmiNORMAL_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_) { long current_blocklevel_signals_meltrout_81_WARMELTmiNORMAL_NORMEXP_IFVARIADIC_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_81_WARMELTmiNORMAL_NORMEXP_IFVARIADIC_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 146 melt_ptr_t mcfr_varptr[146]; #define MELTFRAM_NBVARNUM 44 long mcfr_varnum[44]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_81_WARMELTmiNORMAL_NORMEXP_IFVARIADIC is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_81_WARMELTmiNORMAL_NORMEXP_IFVARIADIC_st *) meltfirstargp_; /* use arguments meltrout_81_WARMELTmiNORMAL_NORMEXP_IFVARIADIC output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 146; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_81_WARMELTmiNORMAL_NORMEXP_IFVARIADIC nbval 146*/ meltfram__.mcfr_nbvar = 146 /*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_IFVARIADIC", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4563:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4564:/ 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_IFVARIADIC */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4564:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4564:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ifvariadic recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4564) ? (4564) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4564:/ 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:4565:/ 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:4565:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4565:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4565) ? (4565) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4565:/ 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:4566:/ 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:4566:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4566:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4566) ? (4566) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4566:/ 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:4567:/ 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:4567:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4567:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4567; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic 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:4567:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4567:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4567:/ 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:4568:/ 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"); /*_.LOC__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4569:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SIFVARIADIC_ARGBIND"); /*_.SARGS__V18*/ meltfptr[17] = slot; }; ; /*_#NBARGS__L6*/ meltfnum[4] = (melt_multiple_length ((melt_ptr_t) ( /*_.SARGS__V18*/ meltfptr[17])));; MELT_LOCATION ("warmelt-normal.melt:4571:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SIFVARIADIC_THEN"); /*_.STHEN__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4572:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "SIFVARIADIC_ELSE"); /*_.SELSE__V20*/ meltfptr[19] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4573:/ 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"); /*_.CURPRO__V21*/ meltfptr[20] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4574:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURPRO__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_NREP_ROUTPROC */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURPRO__V21*/ meltfptr[20]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NRPRO_ARGB"); /*_.CURPROCARGS__V22*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.CURPROCARGS__V22*/ meltfptr[21] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4575:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURPRO__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_NREP_ROUTPROC */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURPRO__V21*/ meltfptr[20]) /*=obj*/ ; melt_object_get_field (slot, obj, 9, "NRPRO_VARIADIC"); /*_.NPROVARIADIC__V23*/ meltfptr[22] = slot; }; ; } else { /*^cond.else */ /*_.NPROVARIADIC__V23*/ meltfptr[22] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4576:/ apply"); /*apply */ { /*_.NEWENV__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4578:/ 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:4578:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4578:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4578; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic curpro"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURPRO__V21*/ meltfptr[20]; /*_.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:4578:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_._IF___V26*/ meltfptr[25] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4578:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_._IF___V26*/ meltfptr[25];; /*^compute */ /*_.IFCPP___V25*/ meltfptr[24] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4578:/ 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:4579:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE_OR_NULL__L9*/ meltfnum[7] = (( /*_.STHEN__V19*/ meltfptr[18]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.STHEN__V19*/ meltfptr[18])) == MELTOBMAG_MULTIPLE));; MELT_LOCATION ("warmelt-normal.melt:4579:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE_OR_NULL__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_._IFELSE___V30*/ meltfptr[26] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4579:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_ifvariadic check sthen"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4579) ? (4579) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V30*/ meltfptr[26] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V29*/ meltfptr[25] = /*_._IFELSE___V30*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4579:/ clear"); /*clear *//*_#IS_MULTIPLE_OR_NULL__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_._IFELSE___V30*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4580:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE_OR_NULL__L10*/ meltfnum[0] = (( /*_.SELSE__V20*/ meltfptr[19]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.SELSE__V20*/ meltfptr[19])) == MELTOBMAG_MULTIPLE));; MELT_LOCATION ("warmelt-normal.melt:4580:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE_OR_NULL__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V32*/ meltfptr[31] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4580:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_ifvariadic check selse"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4580) ? (4580) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V32*/ meltfptr[31] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V31*/ meltfptr[26] = /*_._IFELSE___V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4580:/ clear"); /*clear *//*_#IS_MULTIPLE_OR_NULL__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V32*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_NOT_A__L11*/ meltfnum[7] = !melt_is_instance_of ((melt_ptr_t) ( /*_.CURPROCARGS__V22*/ meltfptr[21]), (melt_ptr_t) (( /*!DISCR_VARIADIC_FORMAL_SEQUENCE */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:4581:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L11*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4583:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:4583:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L13*/ meltfnum[12] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4583:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4583; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic bad curprocargs"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURPROCARGS__V22*/ meltfptr[21]; /*_.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:4583:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V36*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*_._IF___V35*/ meltfptr[34] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4583:/ quasiblock"); /*_.PROGN___V37*/ meltfptr[35] = /*_._IF___V35*/ meltfptr[34];; /*^compute */ /*_.IFCPP___V34*/ meltfptr[33] = /*_.PROGN___V37*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4583:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.PROGN___V37*/ meltfptr[35] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:4584:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V17*/ meltfptr[13]), ("(VARIADIC ...) used in non-variadic function"), (melt_ptr_t) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4585:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:4585:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:4582:/ quasiblock"); /*_.PROGN___V39*/ meltfptr[35] = /*_.RETURN___V38*/ meltfptr[34];; /*^compute */ /*_._IF___V33*/ meltfptr[31] = /*_.PROGN___V39*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4581:/ clear"); /*clear *//*_.IFCPP___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.RETURN___V38*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.PROGN___V39*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*_._IF___V33*/ meltfptr[31] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4586:/ 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:4586:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L15*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4586:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L15*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4586; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic nprovariadic"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NPROVARIADIC__V23*/ meltfptr[22]; /*_.MELT_DEBUG_FUN__V42*/ 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___V41*/ meltfptr[34] = /*_.MELT_DEBUG_FUN__V42*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4586:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L15*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V42*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*_._IF___V41*/ meltfptr[34] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4586:/ quasiblock"); /*_.PROGN___V43*/ meltfptr[35] = /*_._IF___V41*/ meltfptr[34];; /*^compute */ /*_.IFCPP___V40*/ meltfptr[33] = /*_.PROGN___V43*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4586:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_._IF___V41*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.PROGN___V43*/ meltfptr[35] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V40*/ meltfptr[33] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4587:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.NPROVARIADIC__V23*/ meltfptr[22]) /*then */ { /*^cond.then */ /*_._IFELSE___V45*/ meltfptr[35] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4587:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_ifvariadic has nprovariadic"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4587) ? (4587) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V45*/ meltfptr[35] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V44*/ meltfptr[34] = /*_._IFELSE___V45*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4587:/ clear"); /*clear *//*_._IFELSE___V45*/ meltfptr[35] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V44*/ meltfptr[34] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4590:/ quasiblock"); /*_.LETBINDTUP__V47*/ meltfptr[46] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[7])), ( /*_#NBARGS__L6*/ meltfnum[4])));; /*^compute */ /*_.LETBINDTHENLIST__V48*/ meltfptr[47] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; /*^compute */ /*_.LOCSYMTUP__V49*/ meltfptr[48] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[7])), ( /*_#NBARGS__L6*/ meltfnum[4])));; /*^compute */ /*_.CTYPTUP__V50*/ meltfptr[49] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[7])), ( /*_#NBARGS__L6*/ meltfnum[4])));; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SARGS__V18*/ meltfptr[17]); for ( /*_#FBIX__L16*/ meltfnum[0] = 0; ( /*_#FBIX__L16*/ meltfnum[0] >= 0) && ( /*_#FBIX__L16*/ meltfnum[0] < meltcit1__EACHTUP_ln); /*_#FBIX__L16*/ meltfnum[0]++) { /*_.FBI__V51*/ meltfptr[50] = melt_multiple_nth ((melt_ptr_t) ( /*_.SARGS__V18*/ meltfptr[17]), /*_#FBIX__L16*/ meltfnum[0]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4598:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L17*/ 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:4598:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L18*/ meltfnum[17] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4598:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L18*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4598; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic fbi"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FBI__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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V53*/ meltfptr[52] = /*_.MELT_DEBUG_FUN__V54*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4598:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V54*/ meltfptr[53] = 0; } ; } else { /*^cond.else */ /*_._IF___V53*/ meltfptr[52] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4598:/ quasiblock"); /*_.PROGN___V55*/ meltfptr[53] = /*_._IF___V53*/ meltfptr[52];; /*^compute */ /*_.IFCPP___V52*/ meltfptr[51] = /*_.PROGN___V55*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4598:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[12] = 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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4599:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L19*/ meltfnum[17] = melt_is_instance_of ((melt_ptr_t) ( /*_.FBI__V51*/ meltfptr[50]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[9])));; MELT_LOCATION ("warmelt-normal.melt:4599:/ cond"); /*cond */ if ( /*_#IS_A__L19*/ meltfnum[17]) /*then */ { /*^cond.then */ /*_._IFELSE___V57*/ meltfptr[53] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4599:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fbi"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4599) ? (4599) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V57*/ meltfptr[53] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V56*/ meltfptr[52] = /*_._IFELSE___V57*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4599:/ clear"); /*clear *//*_#IS_A__L19*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_._IFELSE___V57*/ meltfptr[53] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V56*/ meltfptr[52] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4600:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FBI__V51*/ meltfptr[50]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.CURBINDER__V59*/ meltfptr[58] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4601:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.FBI__V51*/ meltfptr[50]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "FBIND_TYPE"); /*_.CURCTYPE__V60*/ meltfptr[59] = slot; }; ; MELT_CHECK_SIGNAL (); ; /*_.MAKE_INTEGERBOX__V61*/ meltfptr[60] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_CONSTANT_INTEGER */ meltfrout->tabval[11])), ( /*_#FBIX__L16*/ meltfnum[0])));; MELT_LOCATION ("warmelt-normal.melt:4602:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_VARIADIC_ARGUMENT */ meltfrout->tabval[10])), (4), "CLASS_NREP_VARIADIC_ARGUMENT"); /*_.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), ( /*_.LOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NVARG_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V63*/ meltfptr[62]), (2), ( /*_.CURCTYPE__V60*/ meltfptr[59]), "NVARG_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NVARG_VARIADIC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V63*/ meltfptr[62]), (1), ( /*_.NPROVARIADIC__V23*/ meltfptr[22]), "NVARG_VARIADIC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NVARG_OFFSET", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V63*/ meltfptr[62])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V63*/ meltfptr[62]), (3), ( /*_.MAKE_INTEGERBOX__V61*/ meltfptr[60]), "NVARG_OFFSET"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V63*/ meltfptr[62], "newly made instance"); ; /*_.CURVARARG__V62*/ meltfptr[61] = /*_.INST__V63*/ meltfptr[62];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4608:/ 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__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), ( /*_.CURBINDER__V59*/ meltfptr[58]), "BINDER"); ; /*^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), ( /*_.LOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^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), ( /*_.CURCTYPE__V60*/ meltfptr[59]), "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), ( /*_.CURVARARG__V62*/ meltfptr[61]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V65*/ meltfptr[64], "newly made instance"); ; /*_.CURLETBIND__V64*/ meltfptr[63] = /*_.INST__V65*/ meltfptr[64];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4613:/ 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__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), ( /*_.LOC__V17*/ meltfptr[13]), "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), ( /*_.CURCTYPE__V60*/ meltfptr[59]), "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), ( /*_.CURBINDER__V59*/ meltfptr[58]), "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), ( /*_.CURLETBIND__V64*/ meltfptr[63]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V67*/ meltfptr[66], "newly made instance"); ; /*_.CURLOCC__V66*/ meltfptr[65] = /*_.INST__V67*/ meltfptr[66];; { MELT_LOCATION ("warmelt-normal.melt:4619:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.LETBINDTUP__V47*/ meltfptr[46]), ( /*_#FBIX__L16*/ meltfnum[0]), (melt_ptr_t) ( /*_.CURLETBIND__V64*/ meltfptr[63])); } ; { MELT_LOCATION ("warmelt-normal.melt:4620:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.LETBINDTHENLIST__V48*/ meltfptr[47]), (melt_ptr_t) ( /*_.CURLETBIND__V64*/ meltfptr[63])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4621:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L20*/ 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:4621:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L20*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L21*/ meltfnum[17] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4621:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L21*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4621; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic curletbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURLETBIND__V64*/ meltfptr[63]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V69*/ meltfptr[68] = /*_.MELT_DEBUG_FUN__V70*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4621:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L21*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V70*/ meltfptr[69] = 0; } ; } else { /*^cond.else */ /*_._IF___V69*/ meltfptr[68] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4621:/ quasiblock"); /*_.PROGN___V71*/ meltfptr[69] = /*_._IF___V69*/ meltfptr[68];; /*^compute */ /*_.IFCPP___V68*/ meltfptr[67] = /*_.PROGN___V71*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4621:/ clear"); /*clear *//*_#MELT_NEED_DBG__L20*/ meltfnum[12] = 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:4622:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.LOCSYMTUP__V49*/ meltfptr[48]), ( /*_#FBIX__L16*/ meltfnum[0]), (melt_ptr_t) ( /*_.CURLOCC__V66*/ meltfptr[65])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4623:/ 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:4623:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L22*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L23*/ meltfnum[12] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4623:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L23*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4623; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic curlocc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURLOCC__V66*/ meltfptr[65]; /*_.MELT_DEBUG_FUN__V74*/ meltfptr[73] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V73*/ meltfptr[69] = /*_.MELT_DEBUG_FUN__V74*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4623:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L23*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V74*/ meltfptr[73] = 0; } ; } else { /*^cond.else */ /*_._IF___V73*/ meltfptr[69] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4623:/ quasiblock"); /*_.PROGN___V75*/ meltfptr[73] = /*_._IF___V73*/ meltfptr[69];; /*^compute */ /*_.IFCPP___V72*/ meltfptr[68] = /*_.PROGN___V75*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4623:/ clear"); /*clear *//*_#MELT_NEED_DBG__L22*/ meltfnum[17] = 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_LOCATION ("warmelt-normal.melt:4624:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.CTYPTUP__V50*/ meltfptr[49]), ( /*_#FBIX__L16*/ meltfnum[0]), (melt_ptr_t) ( /*_.CURCTYPE__V60*/ meltfptr[59])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4625:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L24*/ 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:4625:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L24*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L25*/ meltfnum[17] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4625:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L25*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4625; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic curctype"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYPE__V60*/ meltfptr[59]; /*_.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[73] = /*_.MELT_DEBUG_FUN__V78*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4625:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L25*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V78*/ meltfptr[77] = 0; } ; } else { /*^cond.else */ /*_._IF___V77*/ meltfptr[73] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4625:/ quasiblock"); /*_.PROGN___V79*/ meltfptr[77] = /*_._IF___V77*/ meltfptr[73];; /*^compute */ /*_.IFCPP___V76*/ meltfptr[69] = /*_.PROGN___V79*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4625:/ clear"); /*clear *//*_#MELT_NEED_DBG__L24*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_._IF___V77*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.PROGN___V79*/ meltfptr[77] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V76*/ meltfptr[69] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4626:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L26*/ meltfnum[17] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYPE__V60*/ meltfptr[59]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[14])));; MELT_LOCATION ("warmelt-normal.melt:4626:/ cond"); /*cond */ if ( /*_#IS_A__L26*/ meltfnum[17]) /*then */ { /*^cond.then */ /*_._IFELSE___V81*/ meltfptr[77] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4626:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curctype"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4626) ? (4626) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V81*/ meltfptr[77] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V80*/ meltfptr[73] = /*_._IFELSE___V81*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4626:/ clear"); /*clear *//*_#IS_A__L26*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_._IFELSE___V81*/ meltfptr[77] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V80*/ meltfptr[73] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4627:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CURLETBIND__V64*/ meltfptr[63]; /*_.PUT_ENV__V82*/ meltfptr[77] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[15])), (melt_ptr_t) ( /*_.NEWENV__V24*/ meltfptr[23]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V58*/ meltfptr[53] = /*_.PUT_ENV__V82*/ meltfptr[77];; MELT_LOCATION ("warmelt-normal.melt:4600:/ clear"); /*clear *//*_.CURBINDER__V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.CURCTYPE__V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.MAKE_INTEGERBOX__V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.CURVARARG__V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.CURLETBIND__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.CURLOCC__V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.IFCPP___V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.IFCPP___V72*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.IFCPP___V76*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.IFCPP___V80*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V82*/ meltfptr[77] = 0; if ( /*_#FBIX__L16*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4595:/ clear"); /*clear *//*_.FBI__V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_#FBIX__L16*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.IFCPP___V56*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.LET___V58*/ meltfptr[53] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4629:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L27*/ 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:4629:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L27*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L28*/ meltfnum[17] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4629:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L28*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4629; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic letbindthenlist="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.LETBINDTHENLIST__V48*/ meltfptr[47]; /*_.MELT_DEBUG_FUN__V85*/ 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V84*/ meltfptr[59] = /*_.MELT_DEBUG_FUN__V85*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4629:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L28*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V85*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*_._IF___V84*/ meltfptr[59] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4629:/ quasiblock"); /*_.PROGN___V86*/ meltfptr[61] = /*_._IF___V84*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V83*/ meltfptr[58] = /*_.PROGN___V86*/ meltfptr[61];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4629:/ clear"); /*clear *//*_#MELT_NEED_DBG__L27*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_._IF___V84*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.PROGN___V86*/ meltfptr[61] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V83*/ meltfptr[58] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4630:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.CVARSYM__V87*/ meltfptr[63] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[16])), (melt_ptr_t) (( /*!konst_17_CONSUMVARIADIC_ */ meltfrout-> tabval[17])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4631:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CONSUME_VARIADIC */ meltfrout->tabval[18])), (3), "CLASS_NREP_CONSUME_VARIADIC"); /*_.INST__V89*/ meltfptr[67] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V89*/ meltfptr[67])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V89*/ meltfptr[67]), (0), ( /*_.LOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSVA_VARIADIC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V89*/ meltfptr[67])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V89*/ meltfptr[67]), (1), ( /*_.NPROVARIADIC__V23*/ meltfptr[22]), "NCONSVA_VARIADIC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSVA_CTYPES", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V89*/ meltfptr[67])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V89*/ meltfptr[67]), (2), ( /*_.CTYPTUP__V50*/ meltfptr[49]), "NCONSVA_CTYPES"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V89*/ meltfptr[67], "newly made instance"); ; /*_.NCONSUME__V88*/ meltfptr[65] = /*_.INST__V89*/ meltfptr[67];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4636:/ 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__V91*/ meltfptr[69] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V91*/ meltfptr[69])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V91*/ meltfptr[69]), (0), ( /*_.CVARSYM__V87*/ meltfptr[63]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V91*/ meltfptr[69])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V91*/ meltfptr[69]), (3), ( /*_.LOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V91*/ meltfptr[69])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V91*/ meltfptr[69]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[19])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V91*/ meltfptr[69])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V91*/ meltfptr[69]), (2), ( /*_.NCONSUME__V88*/ meltfptr[65]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V91*/ meltfptr[69], "newly made instance"); ; /*_.CVARBIND__V90*/ meltfptr[68] = /*_.INST__V91*/ meltfptr[69];; { MELT_LOCATION ("warmelt-normal.melt:4642:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.LETBINDTHENLIST__V48*/ meltfptr[47]), (melt_ptr_t) ( /*_.CVARBIND__V90*/ meltfptr[68])); } ; MELT_LOCATION ("warmelt-normal.melt:4630:/ clear"); /*clear *//*_.CVARSYM__V87*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.NCONSUME__V88*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.CVARBIND__V90*/ meltfptr[68] = 0; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4644:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L29*/ 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:4644:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L29*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L30*/ meltfnum[12] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4644:/ apply"); /*apply */ { union meltparam_un argtab[13]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L30*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4644; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic letbindthenlist="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.LETBINDTHENLIST__V48*/ meltfptr[47]; /*^apply.arg */ argtab[5].meltbp_cstring = " letbindtup="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.LETBINDTUP__V47*/ meltfptr[46]; /*^apply.arg */ argtab[7].meltbp_cstring = " locsymtup="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.LOCSYMTUP__V49*/ meltfptr[48]; /*^apply.arg */ argtab[9].meltbp_cstring = " ctyptup="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.CTYPTUP__V50*/ meltfptr[49]; /*^apply.arg */ argtab[11].meltbp_cstring = " sthen="; /*^apply.arg */ argtab[12].meltbp_aptr = (melt_ptr_t *) & /*_.STHEN__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V94*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V93*/ meltfptr[77] = /*_.MELT_DEBUG_FUN__V94*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4644:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L30*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V94*/ meltfptr[60] = 0; } ; } else { /*^cond.else */ /*_._IF___V93*/ meltfptr[77] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4644:/ quasiblock"); /*_.PROGN___V95*/ meltfptr[59] = /*_._IF___V93*/ meltfptr[77];; /*^compute */ /*_.IFCPP___V92*/ meltfptr[73] = /*_.PROGN___V95*/ meltfptr[59];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4644:/ clear"); /*clear *//*_#MELT_NEED_DBG__L29*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_._IF___V93*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.PROGN___V95*/ meltfptr[59] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V92*/ meltfptr[73] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4649:/ 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__V24*/ meltfptr[23]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.LOC__V17*/ meltfptr[13]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NTHENBINDINGS__V98*/ meltfptr[65]; /*^multiapply.appl */ /*_.NTHEN__V97*/ meltfptr[63] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[20])), (melt_ptr_t) ( /*_.STHEN__V19*/ meltfptr[18]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4652:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L31*/ 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:4652:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L31*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L32*/ meltfnum[17] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4652:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L32*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4652; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic nthen="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTHEN__V97*/ meltfptr[63]; /*^apply.arg */ argtab[5].meltbp_cstring = " nthenbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NTHENBINDINGS__V98*/ meltfptr[65]; /*_.MELT_DEBUG_FUN__V101*/ 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 MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V100*/ meltfptr[60] = /*_.MELT_DEBUG_FUN__V101*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4652:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L32*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V101*/ meltfptr[77] = 0; } ; } else { /*^cond.else */ /*_._IF___V100*/ meltfptr[60] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4652:/ quasiblock"); /*_.PROGN___V102*/ meltfptr[59] = /*_._IF___V100*/ meltfptr[60];; /*^compute */ /*_.IFCPP___V99*/ meltfptr[68] = /*_.PROGN___V102*/ meltfptr[59];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4652:/ clear"); /*clear *//*_#MELT_NEED_DBG__L31*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_._IF___V100*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.PROGN___V102*/ meltfptr[59] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V99*/ meltfptr[68] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4653:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NTHENBINDINGS__V98*/ meltfptr[65]; /*_.LIST_APPEND2LIST__V103*/ meltfptr[77] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[21])), (melt_ptr_t) ( /*_.LETBINDTHENLIST__V48*/ meltfptr[47]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4654:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L33*/ 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:4654:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L33*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L34*/ meltfnum[12] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4654:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L34*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4654; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic updated letbindthenlist="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.LETBINDTHENLIST__V48*/ meltfptr[47]; /*^apply.arg */ argtab[5].meltbp_cstring = " selse="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SELSE__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V106*/ meltfptr[105] = 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___V105*/ meltfptr[59] = /*_.MELT_DEBUG_FUN__V106*/ meltfptr[105];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4654:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L34*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V106*/ meltfptr[105] = 0; } ; } else { /*^cond.else */ /*_._IF___V105*/ meltfptr[59] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4654:/ quasiblock"); /*_.PROGN___V107*/ meltfptr[105] = /*_._IF___V105*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V104*/ meltfptr[60] = /*_.PROGN___V107*/ meltfptr[105];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4654:/ clear"); /*clear *//*_#MELT_NEED_DBG__L33*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_._IF___V105*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.PROGN___V107*/ meltfptr[105] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V104*/ meltfptr[60] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4656:/ 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 *) & /*_.LOC__V17*/ meltfptr[13]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NELSEBINDINGS__V110*/ meltfptr[109]; /*^multiapply.appl */ /*_.NELSE__V109*/ meltfptr[105] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[20])), (melt_ptr_t) ( /*_.SELSE__V20*/ meltfptr[19]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4661:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L35*/ 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:4661:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L35*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L36*/ meltfnum[17] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4661:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L36*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4661; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic nelse="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NELSE__V109*/ meltfptr[105]; /*^apply.arg */ argtab[5].meltbp_cstring = " nelsebindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NELSEBINDINGS__V110*/ meltfptr[109]; /*_.MELT_DEBUG_FUN__V113*/ meltfptr[112] = 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___V112*/ meltfptr[111] = /*_.MELT_DEBUG_FUN__V113*/ meltfptr[112];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4661:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L36*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V113*/ meltfptr[112] = 0; } ; } else { /*^cond.else */ /*_._IF___V112*/ meltfptr[111] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4661:/ quasiblock"); /*_.PROGN___V114*/ meltfptr[112] = /*_._IF___V112*/ meltfptr[111];; /*^compute */ /*_.IFCPP___V111*/ meltfptr[110] = /*_.PROGN___V114*/ meltfptr[112];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4661:/ clear"); /*clear *//*_#MELT_NEED_DBG__L35*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_._IF___V112*/ meltfptr[111] = 0; /*^clear */ /*clear *//*_.PROGN___V114*/ meltfptr[112] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V111*/ meltfptr[110] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4662:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4663:/ apply"); /*apply */ { /*_.CSYM__V116*/ meltfptr[112] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[16])), (melt_ptr_t) (( /*!konst_22_IFVARIADIC_ */ meltfrout-> tabval[22])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4664:/ 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__V118*/ meltfptr[117] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V118*/ meltfptr[117])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V118*/ meltfptr[117]), (0), ( /*_.CSYM__V116*/ meltfptr[112]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V118*/ meltfptr[117])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V118*/ meltfptr[117]), (3), ( /*_.LOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V118*/ meltfptr[117])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V118*/ meltfptr[117]), (1), (( /*!CTYPE_VOID */ meltfrout->tabval[19])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V118*/ meltfptr[117])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V118*/ meltfptr[117]), (2), (( /*nil */ NULL)), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V118*/ meltfptr[117], "newly made instance"); ; /*_.CBIND__V117*/ meltfptr[116] = /*_.INST__V118*/ meltfptr[117];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4670:/ 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__V120*/ meltfptr[119] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V120*/ meltfptr[119])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V120*/ meltfptr[119]), (0), ( /*_.LOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V120*/ meltfptr[119])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V120*/ meltfptr[119]), (2), (( /*!CTYPE_VOID */ meltfrout->tabval[19])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V120*/ meltfptr[119])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V120*/ meltfptr[119]), (1), ( /*_.CSYM__V116*/ meltfptr[112]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V120*/ meltfptr[119])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V120*/ meltfptr[119]), (3), ( /*_.CBIND__V117*/ meltfptr[116]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V120*/ meltfptr[119], "newly made instance"); ; /*_.CLOCC__V119*/ meltfptr[118] = /*_.INST__V120*/ meltfptr[119];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4677:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L37*/ 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:4677:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L37*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L38*/ meltfnum[12] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4677:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L38*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4677; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic wrapping nthen="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NTHEN__V97*/ meltfptr[63]; /*_.MELT_DEBUG_FUN__V123*/ meltfptr[122] = 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___V122*/ meltfptr[121] = /*_.MELT_DEBUG_FUN__V123*/ meltfptr[122];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4677:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L38*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V123*/ meltfptr[122] = 0; } ; } else { /*^cond.else */ /*_._IF___V122*/ meltfptr[121] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4677:/ quasiblock"); /*_.PROGN___V124*/ meltfptr[122] = /*_._IF___V122*/ meltfptr[121];; /*^compute */ /*_.IFCPP___V121*/ meltfptr[120] = /*_.PROGN___V124*/ meltfptr[122];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4677:/ clear"); /*clear *//*_#MELT_NEED_DBG__L37*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_._IF___V122*/ meltfptr[121] = 0; /*^clear */ /*clear *//*_.PROGN___V124*/ meltfptr[122] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V121*/ meltfptr[120] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4678:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LETBINDTHENLIST__V48*/ meltfptr[47]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.LOC__V17*/ meltfptr[13]; /*_.WRAP_NORMAL_LETSEQ__V125*/ meltfptr[121] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LETSEQ */ meltfrout->tabval[23])), (melt_ptr_t) ( /*_.NTHEN__V97*/ meltfptr[63]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4676:/ quasiblock"); /*_.NTHENLET__V126*/ meltfptr[122] = /*_.WRAP_NORMAL_LETSEQ__V125*/ meltfptr[121];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4681:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L39*/ 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:4681:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L39*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L40*/ meltfnum[17] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4681:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L40*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4681; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic wrapping nelse="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NELSE__V109*/ meltfptr[105]; /*_.MELT_DEBUG_FUN__V129*/ meltfptr[128] = 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___V128*/ meltfptr[127] = /*_.MELT_DEBUG_FUN__V129*/ meltfptr[128];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4681:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L40*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V129*/ meltfptr[128] = 0; } ; } else { /*^cond.else */ /*_._IF___V128*/ meltfptr[127] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4681:/ quasiblock"); /*_.PROGN___V130*/ meltfptr[128] = /*_._IF___V128*/ meltfptr[127];; /*^compute */ /*_.IFCPP___V127*/ meltfptr[126] = /*_.PROGN___V130*/ meltfptr[128];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4681:/ clear"); /*clear *//*_#MELT_NEED_DBG__L39*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_._IF___V128*/ meltfptr[127] = 0; /*^clear */ /*clear *//*_.PROGN___V130*/ meltfptr[128] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V127*/ meltfptr[126] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4682:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NELSEBINDINGS__V110*/ meltfptr[109]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.LOC__V17*/ meltfptr[13]; /*_.WRAP_NORMAL_LETSEQ__V131*/ meltfptr[127] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LETSEQ */ meltfrout->tabval[23])), (melt_ptr_t) ( /*_.NELSE__V109*/ meltfptr[105]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4680:/ quasiblock"); /*_.NELSELET__V132*/ meltfptr[128] = /*_.WRAP_NORMAL_LETSEQ__V131*/ meltfptr[127];; MELT_LOCATION ("warmelt-normal.melt:4683:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltpair_st rpair_0__CBIND_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__CBIND_x3 */ /*_.CBIND__V134*/ meltfptr[133] = (melt_ptr_t) & meltletrec_1_ptr->rpair_0__CBIND_x3; meltletrec_1_ptr->rpair_0__CBIND_x3.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_1__LIST_ */ /*_.LIST___V135*/ meltfptr[134] = (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 /b checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V134*/ meltfptr[133])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CBIND__V134*/ meltfptr[133]))->hd = (melt_ptr_t) ( /*_.CBIND__V117*/ meltfptr[116]); ; /*^touch */ meltgc_touch ( /*_.CBIND__V134*/ meltfptr[133]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.LIST___V135*/ meltfptr[134])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.LIST___V135*/ meltfptr[134]))->first = (meltpair_ptr_t) ( /*_.CBIND__V134*/ meltfptr[133]); ((meltlist_ptr_t) ( /*_.LIST___V135*/ meltfptr[134]))->last = (meltpair_ptr_t) ( /*_.CBIND__V134*/ meltfptr[133]); ; /*^touch */ meltgc_touch ( /*_.LIST___V135*/ meltfptr[134]); ; /*_.NBINDLIST__V133*/ meltfptr[132] = /*_.LIST___V135*/ meltfptr[134];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4683:/ clear"); /*clear *//*_.CBIND__V134*/ meltfptr[133] = 0; /*^clear */ /*clear *//*_.LIST___V135*/ meltfptr[134] = 0; /*^clear */ /*clear *//*_.CBIND__V134*/ meltfptr[133] = 0; /*^clear */ /*clear *//*_.LIST___V135*/ meltfptr[134] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4684:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_IFVARIADIC */ meltfrout->tabval[24])), (6), "CLASS_NREP_IFVARIADIC"); /*_.INST__V137*/ meltfptr[134] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V137*/ meltfptr[134])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V137*/ meltfptr[134]), (0), ( /*_.LOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_THEN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V137*/ meltfptr[134])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V137*/ meltfptr[134]), (2), ( /*_.NTHENLET__V126*/ meltfptr[122]), "NIF_THEN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIF_ELSE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V137*/ meltfptr[134])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V137*/ meltfptr[134]), (3), ( /*_.NELSELET__V132*/ meltfptr[128]), "NIF_ELSE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIFV_VARIADIC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V137*/ meltfptr[134])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V137*/ meltfptr[134]), (4), ( /*_.NPROVARIADIC__V23*/ meltfptr[22]), "NIFV_VARIADIC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NIFV_CTYPES", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V137*/ meltfptr[134])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V137*/ meltfptr[134]), (5), ( /*_.CTYPTUP__V50*/ meltfptr[49]), "NIFV_CTYPES"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V137*/ meltfptr[134], "newly made instance"); ; /*_.NIFV__V136*/ meltfptr[133] = /*_.INST__V137*/ meltfptr[134];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4691:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L41*/ 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:4691:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L41*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L42*/ meltfnum[12] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4691:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L42*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4691; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic nifv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NIFV__V136*/ meltfptr[133]; /*_.MELT_DEBUG_FUN__V140*/ meltfptr[139] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V139*/ meltfptr[138] = /*_.MELT_DEBUG_FUN__V140*/ meltfptr[139];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4691:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L42*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V140*/ meltfptr[139] = 0; } ; } else { /*^cond.else */ /*_._IF___V139*/ meltfptr[138] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4691:/ quasiblock"); /*_.PROGN___V141*/ meltfptr[139] = /*_._IF___V139*/ meltfptr[138];; /*^compute */ /*_.IFCPP___V138*/ meltfptr[137] = /*_.PROGN___V141*/ meltfptr[139];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4691:/ clear"); /*clear *//*_#MELT_NEED_DBG__L41*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_._IF___V139*/ meltfptr[138] = 0; /*^clear */ /*clear *//*_.PROGN___V141*/ meltfptr[139] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V138*/ meltfptr[137] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4692:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CBIND__V117*/ meltfptr[116]), (melt_ptr_t) (( /*!CLASS_LET_BINDING */ meltfrout->tabval[25]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V117*/ meltfptr[116])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CBIND__V117*/ meltfptr[116]), (2), ( /*_.NIFV__V136*/ meltfptr[133]), "LETBIND_EXPR"); ; /*^touch */ meltgc_touch ( /*_.CBIND__V117*/ meltfptr[116]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CBIND__V117*/ meltfptr[116], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4693:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L43*/ 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:4693:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L43*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L44*/ meltfnum[17] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4693:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L44*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4693; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_ifvariadic result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V119*/ meltfptr[118]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindlist="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDLIST__V133*/ meltfptr[132]; /*_.MELT_DEBUG_FUN__V144*/ meltfptr[143] = 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___V143*/ meltfptr[139] = /*_.MELT_DEBUG_FUN__V144*/ meltfptr[143];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4693:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L44*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V144*/ meltfptr[143] = 0; } ; } else { /*^cond.else */ /*_._IF___V143*/ meltfptr[139] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4693:/ quasiblock"); /*_.PROGN___V145*/ meltfptr[143] = /*_._IF___V143*/ meltfptr[139];; /*^compute */ /*_.IFCPP___V142*/ meltfptr[138] = /*_.PROGN___V145*/ meltfptr[143];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4693:/ clear"); /*clear *//*_#MELT_NEED_DBG__L43*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_._IF___V143*/ meltfptr[139] = 0; /*^clear */ /*clear *//*_.PROGN___V145*/ meltfptr[143] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V142*/ meltfptr[138] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4694:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V119*/ meltfptr[118];; MELT_LOCATION ("warmelt-normal.melt:4694:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBINDLIST__V133*/ meltfptr[132]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V115*/ meltfptr[111] = /*_.RETURN___V146*/ meltfptr[139];; MELT_LOCATION ("warmelt-normal.melt:4662:/ clear"); /*clear *//*_.CSYM__V116*/ meltfptr[112] = 0; /*^clear */ /*clear *//*_.CBIND__V117*/ meltfptr[116] = 0; /*^clear */ /*clear *//*_.CLOCC__V119*/ meltfptr[118] = 0; /*^clear */ /*clear *//*_.IFCPP___V121*/ meltfptr[120] = 0; /*^clear */ /*clear *//*_.WRAP_NORMAL_LETSEQ__V125*/ meltfptr[121] = 0; /*^clear */ /*clear *//*_.NTHENLET__V126*/ meltfptr[122] = 0; /*^clear */ /*clear *//*_.IFCPP___V127*/ meltfptr[126] = 0; /*^clear */ /*clear *//*_.WRAP_NORMAL_LETSEQ__V131*/ meltfptr[127] = 0; /*^clear */ /*clear *//*_.NELSELET__V132*/ meltfptr[128] = 0; /*^clear */ /*clear *//*_.NBINDLIST__V133*/ meltfptr[132] = 0; /*^clear */ /*clear *//*_.NIFV__V136*/ meltfptr[133] = 0; /*^clear */ /*clear *//*_.IFCPP___V138*/ meltfptr[137] = 0; /*^clear */ /*clear *//*_.IFCPP___V142*/ meltfptr[138] = 0; /*^clear */ /*clear *//*_.RETURN___V146*/ meltfptr[139] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V108*/ meltfptr[59] = /*_.LET___V115*/ meltfptr[111];; MELT_LOCATION ("warmelt-normal.melt:4656:/ clear"); /*clear *//*_.IFCPP___V111*/ meltfptr[110] = 0; /*^clear */ /*clear *//*_.LET___V115*/ meltfptr[111] = 0; /*^clear */ /*clear *//*_.NELSEBINDINGS__V110*/ meltfptr[109] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V96*/ meltfptr[61] = /*_.MULTI___V108*/ meltfptr[59];; MELT_LOCATION ("warmelt-normal.melt:4649:/ clear"); /*clear *//*_.IFCPP___V99*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V103*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.IFCPP___V104*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.MULTI___V108*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.NTHENBINDINGS__V98*/ meltfptr[65] = 0; /*_.LET___V46*/ meltfptr[35] = /*_.MULTI___V96*/ meltfptr[61];; MELT_LOCATION ("warmelt-normal.melt:4590:/ clear"); /*clear *//*_.LETBINDTUP__V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.LETBINDTHENLIST__V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.LOCSYMTUP__V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.CTYPTUP__V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.IFCPP___V83*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.IFCPP___V92*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.MULTI___V96*/ meltfptr[61] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.LET___V46*/ meltfptr[35];; MELT_LOCATION ("warmelt-normal.melt:4568:/ clear"); /*clear *//*_.LOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SARGS__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#NBARGS__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.STHEN__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.SELSE__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.CURPRO__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CURPROCARGS__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NPROVARIADIC__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.NEWENV__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.IFCPP___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_._IF___V33*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.IFCPP___V40*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.IFCPP___V44*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.LET___V46*/ meltfptr[35] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4563:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4563:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_IFVARIADIC", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_81_WARMELTmiNORMAL_NORMEXP_IFVARIADIC_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_WARMELTmiNORMAL_NORMEXP_IFVARIADIC */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_82_WARMELTmiNORMAL_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_) { long current_blocklevel_signals_meltrout_82_WARMELTmiNORMAL_NORMEXP_COMPILEWARNING_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_82_WARMELTmiNORMAL_NORMEXP_COMPILEWARNING_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 27 melt_ptr_t mcfr_varptr[27]; #define MELTFRAM_NBVARNUM 7 long mcfr_varnum[7]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_82_WARMELTmiNORMAL_NORMEXP_COMPILEWARNING is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_82_WARMELTmiNORMAL_NORMEXP_COMPILEWARNING_st *) meltfirstargp_; /* use arguments meltrout_82_WARMELTmiNORMAL_NORMEXP_COMPILEWARNING output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 27; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_82_WARMELTmiNORMAL_NORMEXP_COMPILEWARNING nbval 27*/ meltfram__.mcfr_nbvar = 27 /*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_COMPILEWARNING", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4701:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4702:/ 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_COMPILEWARNING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4702:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4702:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check compilewarn recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4702) ? (4702) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4702:/ 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:4703:/ 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:4703:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4703:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4703) ? (4703) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4703:/ 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:4704:/ 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:4704:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4704:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4704) ? (4704) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4704:/ 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:4705:/ 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:4705:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4705:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4705; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_compile_warning 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:4705:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4705:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4705:/ 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:4706:/ 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:4707:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SCWARN_MSG"); /*_.SWMSG__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4708:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SCWARN_EXPR"); /*_.SWEXP__V19*/ meltfptr[18] = slot; }; ; { MELT_LOCATION ("warmelt-normal.melt:4710:/ locexp"); melt_warning_str (0, (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("COMPILE_WARNING:"), (melt_ptr_t) ( /*_.SWMSG__V18*/ meltfptr[17])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4711:/ 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__V22*/ meltfptr[21]; /*^multimsend.send */ /*_.NEXP__V21*/ meltfptr[20] = meltgc_send ((melt_ptr_t) ( /*_.SWEXP__V19*/ meltfptr[18]), ((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:4714:/ 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:4714:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L7*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4714:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L7*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4714; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_compile_warning nesult nexp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEXP__V21*/ meltfptr[20]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbind="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBIND__V22*/ meltfptr[21]; /*_.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_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V24*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4714:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = 0; } ; } else { /*^cond.else */ /*_._IF___V24*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4714:/ quasiblock"); /*_.PROGN___V26*/ meltfptr[24] = /*_._IF___V24*/ meltfptr[23];; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.PROGN___V26*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4714:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_._IF___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.PROGN___V26*/ meltfptr[24] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4715:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.NEXP__V21*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:4715:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBIND__V22*/ meltfptr[21]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V20*/ meltfptr[19] = /*_.RETURN___V27*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:4711:/ clear"); /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.RETURN___V27*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.NBIND__V22*/ meltfptr[21] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V20*/ meltfptr[19];; MELT_LOCATION ("warmelt-normal.melt:4706:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SWMSG__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SWEXP__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.MULTI___V20*/ meltfptr[19] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4701:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:4701:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_COMPILEWARNING", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_82_WARMELTmiNORMAL_NORMEXP_COMPILEWARNING_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_WARMELTmiNORMAL_NORMEXP_COMPILEWARNING */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_83_WARMELTmiNORMAL_LAMBDA_cl23 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_83_WARMELTmiNORMAL_LAMBDA_cl23_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_83_WARMELTmiNORMAL_LAMBDA_cl23_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_83_WARMELTmiNORMAL_LAMBDA_cl23 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_83_WARMELTmiNORMAL_LAMBDA_cl23_st *) meltfirstargp_; /* use arguments meltrout_83_WARMELTmiNORMAL_LAMBDA_cl23 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 5; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_83_WARMELTmiNORMAL_LAMBDA_cl23 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_cl23", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4720:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_endgetargs; meltlab_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, 3, "SCWARN_EXPR"); /*_.SCWARN_EXPR__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) ( /*_.SCWARN_EXPR__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:4720:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.SCWARN_EXPR__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V5*/ meltfptr[4] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl23", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_83_WARMELTmiNORMAL_LAMBDA_cl23_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_83_WARMELTmiNORMAL_LAMBDA_cl23 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_84_WARMELTmiNORMAL_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_) { long current_blocklevel_signals_meltrout_84_WARMELTmiNORMAL_REPLACE_LAST_BY_RETURN_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_84_WARMELTmiNORMAL_REPLACE_LAST_BY_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 59 melt_ptr_t mcfr_varptr[59]; #define MELTFRAM_NBVARNUM 17 long mcfr_varnum[17]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_84_WARMELTmiNORMAL_REPLACE_LAST_BY_RETURN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_84_WARMELTmiNORMAL_REPLACE_LAST_BY_RETURN_st *) meltfirstargp_; /* use arguments meltrout_84_WARMELTmiNORMAL_REPLACE_LAST_BY_RETURN output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 59; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_84_WARMELTmiNORMAL_REPLACE_LAST_BY_RETURN nbval 59*/ meltfram__.mcfr_nbvar = 59 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("REPLACE_LAST_BY_RETURN", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4724:/ getarg"); /*_.TUP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_endgetargs; /*_.SLOC__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.SLOC__V4*/ meltfptr[3])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4725:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L1*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.TUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-normal.melt:4725:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V6*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4725:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check tup"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4725) ? (4725) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V6*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_._IFELSE___V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4725:/ clear"); /*clear *//*_#IS_MULTIPLE__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V6*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4726:/ 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[0])));; MELT_LOCATION ("warmelt-normal.melt:4726:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V8*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4726:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4726) ? (4726) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V8*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[5] = /*_._IFELSE___V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4726:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V8*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4727:/ quasiblock"); /*_#TUPLEN__L3*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.TUP__V2*/ meltfptr[1])));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#gtI__L4*/ meltfnum[3] = (( /*_#TUPLEN__L3*/ meltfnum[0]) > (0));; MELT_LOCATION ("warmelt-normal.melt:4728:/ cond"); /*cond */ if ( /*_#gtI__L4*/ meltfnum[3]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#miI__L5*/ meltfnum[4] = (( /*_#TUPLEN__L3*/ meltfnum[0]) - (1));; /*^compute */ /*_.MULTIPLE_NTH__V11*/ meltfptr[10] = (melt_multiple_nth ((melt_ptr_t) ( /*_.TUP__V2*/ meltfptr[1]), ( /*_#miI__L5*/ meltfnum[4])));; /*^compute */ /*_.LASTCOMP__V10*/ meltfptr[9] = /*_.MULTIPLE_NTH__V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4728:/ clear"); /*clear *//*_#miI__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MULTIPLE_NTH__V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.LASTCOMP__V10*/ meltfptr[9] = NULL;; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_A__L6*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.LASTCOMP__V10*/ meltfptr[9]), (melt_ptr_t) (( /*!CLASS_NREP_RETURN */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4731:/ cond"); /*cond */ if ( /*_#IS_A__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4732:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.TUP__V2*/ meltfptr[1];; { MELT_LOCATION ("warmelt-normal.melt:4732:/ 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 meltlabend_rout; /*_._IFELSE___V12*/ meltfptr[10] = /*_.RETURN___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4731:/ clear"); /*clear *//*_.RETURN___V13*/ meltfptr[12] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L7*/ meltfnum[6] = melt_is_instance_of ((melt_ptr_t) ( /*_.LASTCOMP__V10*/ meltfptr[9]), (melt_ptr_t) (( /*!CLASS_NREP_SYMOCC */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:4735:/ cond"); /*cond */ if ( /*_#IS_A__L7*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4736:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LASTCOMP__V10*/ meltfptr[9]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NOCC_CTYP"); /*_.NOCC_CTYP__V15*/ meltfptr[14] = slot; }; ; /*_#eqeq__L8*/ meltfnum[7] = (( /*_.NOCC_CTYP__V15*/ meltfptr[14]) == (( /*!CTYPE_VALUE */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:4736:/ cond"); /*cond */ if ( /*_#eqeq__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#miI__L9*/ meltfnum[8] = (( /*_#TUPLEN__L3*/ meltfnum[0]) - (1));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4739:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_RETURN */ meltfrout->tabval[1])), (3), "CLASS_NREP_RETURN"); /*_.INST__V17*/ meltfptr[16] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V17*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V17*/ meltfptr[16]), (0), ( /*_.SLOC__V4*/ meltfptr[3]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRET_MAIN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V17*/ meltfptr[16])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V17*/ meltfptr[16]), (1), ( /*_.LASTCOMP__V10*/ meltfptr[9]), "NRET_MAIN"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V17*/ meltfptr[16], "newly made instance"); ; /*_.INST___V16*/ meltfptr[15] = /*_.INST__V17*/ meltfptr[16];; { MELT_LOCATION ("warmelt-normal.melt:4737:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.TUP__V2*/ meltfptr[1]), ( /*_#miI__L9*/ meltfnum[8]), (melt_ptr_t) ( /*_.INST___V16*/ meltfptr[15])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4736:/ clear"); /*clear *//*_#miI__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.INST___V16*/ meltfptr[15] = 0; } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4742:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.TUP__V2*/ meltfptr[1];; { MELT_LOCATION ("warmelt-normal.melt:4742:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:4735:/ quasiblock"); /*_.PROGN___V19*/ meltfptr[18] = /*_.RETURN___V18*/ meltfptr[15];; /*^compute */ /*_._IFELSE___V14*/ meltfptr[12] = /*_.PROGN___V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4735:/ clear"); /*clear *//*_.NOCC_CTYP__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#eqeq__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.RETURN___V18*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.PROGN___V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[8] = melt_is_instance_of ((melt_ptr_t) ( /*_.LASTCOMP__V10*/ meltfptr[9]), (melt_ptr_t) (( /*!CLASS_NREP_BOUND_DATA */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-normal.melt:4745:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#miI__L11*/ meltfnum[7] = (( /*_#TUPLEN__L3*/ meltfnum[0]) - (1));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4748:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_RETURN */ meltfrout->tabval[1])), (3), "CLASS_NREP_RETURN"); /*_.INST__V22*/ meltfptr[18] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[18]), (0), ( /*_.SLOC__V4*/ meltfptr[3]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRET_MAIN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[18])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[18]), (1), ( /*_.LASTCOMP__V10*/ meltfptr[9]), "NRET_MAIN"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V22*/ meltfptr[18], "newly made instance"); ; /*_.INST___V21*/ meltfptr[15] = /*_.INST__V22*/ meltfptr[18];; { MELT_LOCATION ("warmelt-normal.melt:4746:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.TUP__V2*/ meltfptr[1]), ( /*_#miI__L11*/ meltfnum[7]), (melt_ptr_t) ( /*_.INST___V21*/ meltfptr[15])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4751:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.TUP__V2*/ meltfptr[1];; { MELT_LOCATION ("warmelt-normal.melt:4751:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:4745:/ quasiblock"); /*_.PROGN___V24*/ meltfptr[23] = /*_.RETURN___V23*/ meltfptr[22];; /*^compute */ /*_._IFELSE___V20*/ meltfptr[14] = /*_.PROGN___V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4745:/ clear"); /*clear *//*_#miI__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.INST___V21*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.RETURN___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.PROGN___V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#NULL__L12*/ meltfnum[7] = (( /*_.LASTCOMP__V10*/ meltfptr[9]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:4754:/ cond"); /*cond */ if ( /*_#NULL__L12*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4755:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.TUP__V2*/ meltfptr[1];; { MELT_LOCATION ("warmelt-normal.melt:4755:/ 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 meltlabend_rout; /*_._IFELSE___V25*/ meltfptr[15] = /*_.RETURN___V26*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4754:/ clear"); /*clear *//*_.RETURN___V26*/ meltfptr[22] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L13*/ meltfnum[12] = melt_is_instance_of ((melt_ptr_t) ( /*_.LASTCOMP__V10*/ meltfptr[9]), (melt_ptr_t) (( /*!CLASS_NREP_LET */ meltfrout->tabval[5])));; MELT_LOCATION ("warmelt-normal.melt:4758:/ cond"); /*cond */ if ( /*_#IS_A__L13*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4759:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LASTCOMP__V10*/ meltfptr[9]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NLET_BODY"); /*_.LBODY__V29*/ meltfptr[28] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4760:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LASTCOMP__V10*/ meltfptr[9]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NLET_BINDINGS"); /*_.LBINDING__V30*/ meltfptr[29] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4761:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LASTCOMP__V10*/ meltfptr[9]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "NREP_LOC"); /*_.LLOC__V31*/ meltfptr[30] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4762:/ apply"); /*apply */ { /*_.NEWENV__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:4766:/ 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) ( /*_.NEWENV__V32*/ meltfptr[31]); ; /*_.LAMBDA___V33*/ meltfptr[32] = /*_.LAMBDA___V34*/ meltfptr[33];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4764:/ 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]; /*_.MULTIPLE_EVERY__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.LBINDING__V30*/ meltfptr[29]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L14*/ meltfnum[13] = (melt_magic_discr ((melt_ptr_t) ( /*_.LBODY__V29*/ meltfptr[28])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-normal.melt:4769:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4770:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V32*/ meltfptr[31]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.LLOC__V31*/ meltfptr[30]; /*_.REPLACE_LAST_BY_RETURN__V37*/ meltfptr[36] = melt_apply ((meltclosure_ptr_t) (( /*!REPLACE_LAST_BY_RETURN */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.LBODY__V29*/ meltfptr[28]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V36*/ meltfptr[35] = /*_.REPLACE_LAST_BY_RETURN__V37*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4769:/ clear"); /*clear *//*_.REPLACE_LAST_BY_RETURN__V37*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*_._IF___V36*/ meltfptr[35] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4771:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.TUP__V2*/ meltfptr[1];; { MELT_LOCATION ("warmelt-normal.melt:4771:/ 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 meltlabend_rout; /*_.LET___V28*/ meltfptr[22] = /*_.RETURN___V38*/ meltfptr[36];; MELT_LOCATION ("warmelt-normal.melt:4759:/ clear"); /*clear *//*_.LBODY__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.LBINDING__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.LLOC__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.NEWENV__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.LAMBDA___V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_#IS_MULTIPLE__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_._IF___V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.RETURN___V38*/ meltfptr[36] = 0; /*_._IFELSE___V27*/ meltfptr[23] = /*_.LET___V28*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4758:/ clear"); /*clear *//*_.LET___V28*/ meltfptr[22] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L15*/ meltfnum[13] = melt_is_instance_of ((melt_ptr_t) ( /*_.LASTCOMP__V10*/ meltfptr[9]), (melt_ptr_t) (( /*!CLASS_NREP */ meltfrout->tabval[11])));; MELT_LOCATION ("warmelt-normal.melt:4775:/ cond"); /*cond */ if ( /*_#IS_A__L15*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4776:/ 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]; /*_.LASTYP__V41*/ meltfptr[30] = meltgc_send ((melt_ptr_t) ( /*_.LASTCOMP__V10*/ meltfptr[9]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout->tabval[12])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4777:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.LASTCOMP__V10*/ meltfptr[9]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "NREP_LOC"); /*_.LOC__V42*/ meltfptr[31] = slot; }; ; MELT_CHECK_SIGNAL (); ; /*_#eqeq__L16*/ meltfnum[15] = (( /*_.LASTYP__V41*/ meltfptr[30]) == (( /*!CTYPE_VALUE */ meltfrout-> tabval[3])));; MELT_LOCATION ("warmelt-normal.melt:4779:/ cond"); /*cond */ if ( /*_#eqeq__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4780:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.RCLOSYM__V45*/ meltfptr[35] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[13])), (melt_ptr_t) (( /*!konst_14__RETVAL_ */ meltfrout->tabval[14])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4781:/ 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__V47*/ meltfptr[22] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V47*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V47*/ meltfptr[22]), (0), ( /*_.LOC__V42*/ meltfptr[31]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V47*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V47*/ meltfptr[22]), (1), ( /*_.RCLOSYM__V45*/ meltfptr[35]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V47*/ meltfptr[22])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V47*/ meltfptr[22]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[3])), "NOCC_CTYP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V47*/ meltfptr[22], "newly made instance"); ; /*_.RCLOCC__V46*/ meltfptr[36] = /*_.INST__V47*/ meltfptr[22];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4785:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_RETURN */ meltfrout->tabval[1])), (3), "CLASS_NREP_RETURN"); /*_.INST__V49*/ meltfptr[48] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V49*/ meltfptr[48])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V49*/ meltfptr[48]), (0), ( /*_.LOC__V42*/ meltfptr[31]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRET_MAIN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V49*/ meltfptr[48])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V49*/ meltfptr[48]), (1), ( /*_.RCLOCC__V46*/ meltfptr[36]), "NRET_MAIN"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V49*/ meltfptr[48], "newly made instance"); ; /*_.RETN__V48*/ meltfptr[47] = /*_.INST__V49*/ meltfptr[48];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4789:/ 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__V51*/ meltfptr[50] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V51*/ meltfptr[50])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V51*/ meltfptr[50]), (0), ( /*_.RCLOSYM__V45*/ meltfptr[35]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V51*/ meltfptr[50])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V51*/ meltfptr[50]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[3])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V51*/ meltfptr[50])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V51*/ meltfptr[50]), (2), ( /*_.LASTCOMP__V10*/ meltfptr[9]), "LETBIND_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V51*/ meltfptr[50])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V51*/ meltfptr[50]), (3), ( /*_.LOC__V42*/ meltfptr[31]), "LETBIND_LOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V51*/ meltfptr[50], "newly made instance"); ; /*_.RBIND__V50*/ meltfptr[49] = /*_.INST__V51*/ meltfptr[50];; MELT_LOCATION ("warmelt-normal.melt:4795:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct MELT_MULTIPLE_STRUCT (1) rtup_0__TUPLREC__x10; 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 */ /*inimult rtup_0__TUPLREC__x10 */ /*_.TUPLREC___V53*/ meltfptr [52] = (melt_ptr_t) & meltletrec_1_ptr-> rtup_0__TUPLREC__x10; meltletrec_1_ptr-> rtup_0__TUPLREC__x10.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_1_ptr-> rtup_0__TUPLREC__x10.nbval = 1; /*^putuple */ /*putupl#35 */ melt_assertmsg ("putupl [:4795] #35 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V53*/ meltfptr[52])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:4795] #35 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V53*/ meltfptr[52])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V53*/ meltfptr[52]))->tabval[0] = (melt_ptr_t) ( /*_.RBIND__V50*/ meltfptr[49]); ; /*^touch */ meltgc_touch ( /*_.TUPLREC___V53*/ meltfptr[52]); ; /*_.RBINTUP__V52*/ meltfptr[51] = /*_.TUPLREC___V53*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4795:/ clear"); /*clear *//*_.TUPLREC___V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.TUPLREC___V53*/ meltfptr[52] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4799:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_2_st { struct MELT_MULTIPLE_STRUCT (1) rtup_0__TUPLREC__x11; 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__x11 */ /*_.TUPLREC___V55*/ meltfptr [54] = (melt_ptr_t) & meltletrec_2_ptr-> rtup_0__TUPLREC__x11; meltletrec_2_ptr-> rtup_0__TUPLREC__x11.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_2_ptr-> rtup_0__TUPLREC__x11.nbval = 1; /*^putuple */ /*putupl#36 */ melt_assertmsg ("putupl [:4799] #36 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V55*/ meltfptr[54])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:4799] #36 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V55*/ meltfptr[54])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V55*/ meltfptr[54]))->tabval[0] = (melt_ptr_t) ( /*_.RETN__V48*/ meltfptr[47]); ; /*^touch */ meltgc_touch ( /*_.TUPLREC___V55*/ meltfptr[54]); ; /*_.TUPLE___V54*/ meltfptr[52] = /*_.TUPLREC___V55*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4799:/ clear"); /*clear *//*_.TUPLREC___V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.TUPLREC___V55*/ meltfptr[54] = 0; } /*end multiallocblock */ ; MELT_LOCATION ("warmelt-normal.melt:4796:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LET */ meltfrout->tabval[5])), (3), "CLASS_NREP_LET"); /*_.INST__V57*/ meltfptr[56] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[56]), (0), ( /*_.LOC__V42*/ meltfptr[31]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[56]), (1), ( /*_.RBINTUP__V52*/ meltfptr[51]), "NLET_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[56])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[56]), (2), ( /*_.TUPLE___V54*/ meltfptr[52]), "NLET_BODY"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V57*/ meltfptr[56], "newly made instance"); ; /*_.RLET__V56*/ meltfptr[54] = /*_.INST__V57*/ meltfptr[56];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4801:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.RCLOCC__V46*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.RCLOCC__V46*/ meltfptr[36]), (3), ( /*_.RBIND__V50*/ meltfptr[49]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.RCLOCC__V46*/ meltfptr[36]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.RCLOCC__V46*/ meltfptr[36], "put-fields"); ; /*_#miI__L17*/ meltfnum[16] = (( /*_#TUPLEN__L3*/ meltfnum[0]) - (1));; { MELT_LOCATION ("warmelt-normal.melt:4802:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.TUP__V2*/ meltfptr[1]), ( /*_#miI__L17*/ meltfnum[16]), (melt_ptr_t) ( /*_.RLET__V56*/ meltfptr[54])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4805:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.TUP__V2*/ meltfptr[1];; { MELT_LOCATION ("warmelt-normal.melt:4805:/ 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 meltlabend_rout; /*_.LET___V44*/ meltfptr[34] = /*_.RETURN___V58*/ meltfptr[57];; MELT_LOCATION ("warmelt-normal.melt:4780:/ clear"); /*clear *//*_.RCLOSYM__V45*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.RCLOCC__V46*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.RETN__V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.RBIND__V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.RBINTUP__V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.TUPLE___V54*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.RLET__V56*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_#miI__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.RETURN___V58*/ meltfptr[57] = 0; /*_._IF___V43*/ meltfptr[32] = /*_.LET___V44*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4779:/ clear"); /*clear *//*_.LET___V44*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*_._IF___V43*/ meltfptr[32] = NULL;; } ; /*^compute */ /*_.LET___V40*/ meltfptr[29] = /*_._IF___V43*/ meltfptr[32];; MELT_LOCATION ("warmelt-normal.melt:4776:/ clear"); /*clear *//*_.LASTYP__V41*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.LOC__V42*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_#eqeq__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_._IF___V43*/ meltfptr[32] = 0; /*_._IFELSE___V39*/ meltfptr[28] = /*_.LET___V40*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4775:/ clear"); /*clear *//*_.LET___V40*/ meltfptr[29] = 0; } ; } else { /*^cond.else */ /*_._IFELSE___V39*/ meltfptr[28] = NULL;; } ; /*^compute */ /*_._IFELSE___V27*/ meltfptr[23] = /*_._IFELSE___V39*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4758:/ clear"); /*clear *//*_#IS_A__L15*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_._IFELSE___V39*/ meltfptr[28] = 0; } ; } ; /*_._IFELSE___V25*/ meltfptr[15] = /*_._IFELSE___V27*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4754:/ clear"); /*clear *//*_#IS_A__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_._IFELSE___V27*/ meltfptr[23] = 0; } ; } ; /*_._IFELSE___V20*/ meltfptr[14] = /*_._IFELSE___V25*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4745:/ clear"); /*clear *//*_#NULL__L12*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_._IFELSE___V25*/ meltfptr[15] = 0; } ; } ; /*_._IFELSE___V14*/ meltfptr[12] = /*_._IFELSE___V20*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4735:/ clear"); /*clear *//*_#IS_A__L10*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_._IFELSE___V20*/ meltfptr[14] = 0; } ; } ; /*_._IFELSE___V12*/ meltfptr[10] = /*_._IFELSE___V14*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4731:/ clear"); /*clear *//*_#IS_A__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_._IFELSE___V14*/ meltfptr[12] = 0; } ; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4807:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.TUP__V2*/ meltfptr[1];; { MELT_LOCATION ("warmelt-normal.melt:4807:/ 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 meltlabend_rout; /*_.LET___V9*/ meltfptr[7] = /*_.RETURN___V59*/ meltfptr[35];; MELT_LOCATION ("warmelt-normal.melt:4727:/ clear"); /*clear *//*_#TUPLEN__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#gtI__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.LASTCOMP__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_#IS_A__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_._IFELSE___V12*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.RETURN___V59*/ meltfptr[35] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4724:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V9*/ meltfptr[7];; { MELT_LOCATION ("warmelt-normal.melt:4724:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.LET___V9*/ meltfptr[7] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("REPLACE_LAST_BY_RETURN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_84_WARMELTmiNORMAL_REPLACE_LAST_BY_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_84_WARMELTmiNORMAL_REPLACE_LAST_BY_RETURN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_85_WARMELTmiNORMAL_LAMBDA_cl24 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_85_WARMELTmiNORMAL_LAMBDA_cl24_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_85_WARMELTmiNORMAL_LAMBDA_cl24_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]; #define MELTFRAM_NBVARNUM 1 long mcfr_varnum[1]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_85_WARMELTmiNORMAL_LAMBDA_cl24 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_85_WARMELTmiNORMAL_LAMBDA_cl24_st *) meltfirstargp_; /* use arguments meltrout_85_WARMELTmiNORMAL_LAMBDA_cl24 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 3; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_85_WARMELTmiNORMAL_LAMBDA_cl24 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_cl24", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4766:/ getarg"); /*_.BND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto meltlab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4767:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.BND__V2*/ meltfptr[1]; /*_.PUT_ENV__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[0])), (melt_ptr_t) (( /*~NEWENV */ meltfclos->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4766:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.PUT_ENV__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normal.melt:4766:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.PUT_ENV__V3*/ meltfptr[2] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl24", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_85_WARMELTmiNORMAL_LAMBDA_cl24_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_85_WARMELTmiNORMAL_LAMBDA_cl24 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_86_WARMELTmiNORMAL_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_) { long current_blocklevel_signals_meltrout_86_WARMELTmiNORMAL_NORMEXP_DEFUN_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_86_WARMELTmiNORMAL_NORMEXP_DEFUN_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 97 melt_ptr_t mcfr_varptr[97]; #define MELTFRAM_NBVARNUM 27 long mcfr_varnum[27]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_86_WARMELTmiNORMAL_NORMEXP_DEFUN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_86_WARMELTmiNORMAL_NORMEXP_DEFUN_st *) meltfirstargp_; /* use arguments meltrout_86_WARMELTmiNORMAL_NORMEXP_DEFUN output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 97; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_86_WARMELTmiNORMAL_NORMEXP_DEFUN nbval 97*/ meltfram__.mcfr_nbvar = 97 /*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_DEFUN", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4815:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4816:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:4816:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4816:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4816; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defun 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:4816:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4816:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_._IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4816:/ 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:4817:/ 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_DEFUN */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4817:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4817:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check defun recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4817) ? (4817) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_._IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4817:/ 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:4818:/ 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:4818:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4818:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4818) ? (4818) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_._IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4818:/ 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:4819:/ 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:4819:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4819:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4819) ? (4819) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4819:/ 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:4820:/ 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:4821:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SDEF_NAME"); /*_.SNAM__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4822:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "SFORMAL_ARGS"); /*_.SFORMALS__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4823:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "SFUN_BODY"); /*_.SBODY__V20*/ meltfptr[19] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4824:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SNAM__V18*/ meltfptr[17]; /*_.SFUBIND__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!FIND_ENV */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4825:/ apply"); /*apply */ { /*_.NEWENV__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4826:/ 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"); /*_.OLDPROC__V23*/ meltfptr[22] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4827:/ 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"); /*_.OLDSYMBCACHE__V24*/ meltfptr[23] = slot; }; ; /*_.CLOSBLIS__V25*/ meltfptr[24] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[6]))));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_.MAKE_LIST__V26*/ meltfptr[25] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[6]))));; /*^compute */ /*_.MAKE_LIST__V27*/ meltfptr[26] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[6]))));; MELT_LOCATION ("warmelt-normal.melt:4829:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DEFUNROUTPROC */ meltfrout->tabval[7])), (10), "CLASS_NREP_DEFUNROUTPROC"); /*_.INST__V29*/ meltfptr[28] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPROC_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (1), (( /*nil */ NULL)), "NPROC_BODY"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (2), ( /*_.SNAM__V18*/ meltfptr[17]), "NRPRO_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_ARGB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (3), ( /*_.SFORMALS__V19*/ meltfptr[18]), "NRPRO_ARGB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_CLOSEDB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (4), ( /*_.CLOSBLIS__V25*/ meltfptr[24]), "NRPRO_CLOSEDB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_CONST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (5), ( /*_.MAKE_LIST__V26*/ meltfptr[25]), "NRPRO_CONST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_THUNKLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (8), ( /*_.MAKE_LIST__V27*/ meltfptr[26]), "NRPRO_THUNKLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_DATAROUT", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (6), (( /*nil */ NULL)), "NRPRO_DATAROUT"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_DATACLOS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (7), (( /*nil */ NULL)), "NRPRO_DATACLOS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_VARIADIC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V29*/ meltfptr[28])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V29*/ meltfptr[28]), (9), (( /*nil */ NULL)), "NRPRO_VARIADIC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V29*/ meltfptr[28], "newly made instance"); ; /*_.NPROC__V28*/ meltfptr[27] = /*_.INST__V29*/ meltfptr[28];; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4844:/ 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 = "discr_routine"; /*_.NORMAL_PREDEF__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[9])), (melt_ptr_t) (( /*!DISCR_ROUTINE */ meltfrout-> tabval[10])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4842:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATAROUTINE */ meltfrout->tabval[8])), (6), "CLASS_NREP_DATAROUTINE"); /*_.INST__V32*/ meltfptr[31] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (1), ( /*_.SNAM__V18*/ meltfptr[17]), "NDATA_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (4), ( /*_.NORMAL_PREDEF__V30*/ meltfptr[29]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDROU_PROC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (5), ( /*_.NPROC__V28*/ meltfptr[27]), "NDROU_PROC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V32*/ meltfptr[31], "newly made instance"); ; /*_.NDATAROUT__V31*/ meltfptr[30] = /*_.INST__V32*/ meltfptr[31];; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4849:/ 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 = "discr_closure"; /*_.NORMAL_PREDEF__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[9])), (melt_ptr_t) (( /*!DISCR_CLOSURE */ meltfrout-> tabval[12])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4847:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATACLOSURE */ meltfrout->tabval[11])), (7), "CLASS_NREP_DATACLOSURE"); /*_.INST__V35*/ meltfptr[34] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (1), ( /*_.SNAM__V18*/ meltfptr[17]), "NDATA_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (4), ( /*_.NORMAL_PREDEF__V33*/ meltfptr[32]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDCLO_PROC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (5), ( /*_.NPROC__V28*/ meltfptr[27]), "NDCLO_PROC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDCLO_CLOSV", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (6), (( /*nil */ NULL)), "NDCLO_CLOSV"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V35*/ meltfptr[34], "newly made instance"); ; /*_.NDATACLOS__V34*/ meltfptr[33] = /*_.INST__V35*/ meltfptr[34];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_.MAKE_MAPOBJECT__V36*/ meltfptr[35] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[13])), (40)));; MELT_LOCATION ("warmelt-normal.melt:4854:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_CURPROC", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V4*/ meltfptr[3]), (10), ( /*_.NPROC__V28*/ meltfptr[27]), "NCTX_CURPROC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_SYMBCACHEMAP", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V4*/ meltfptr[3]), (6), ( /*_.MAKE_MAPOBJECT__V36*/ meltfptr[35]), "NCTX_SYMBCACHEMAP"); ; /*^touch */ meltgc_touch ( /*_.NCX__V4*/ meltfptr[3]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NCX__V4*/ meltfptr[3], "put-fields"); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4857:/ 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:4857:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L7*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4857:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L7*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4857; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defun nproc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V28*/ meltfptr[27]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. ndatarout="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAROUT__V31*/ meltfptr[30]; /*^apply.arg */ argtab[7].meltbp_cstring = "\n.. ndataclos="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NDATACLOS__V34*/ meltfptr[33]; /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V38*/ meltfptr[37] = /*_.MELT_DEBUG_FUN__V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4857:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V39*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_._IF___V38*/ meltfptr[37] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4857:/ quasiblock"); /*_.PROGN___V40*/ meltfptr[38] = /*_._IF___V38*/ meltfptr[37];; /*^compute */ /*_.IFCPP___V37*/ meltfptr[36] = /*_.PROGN___V40*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4857:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 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:4860:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAROUT__V31*/ meltfptr[30]; /*_.ADD_NCTX_DATA__V41*/ meltfptr[37] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[14])), (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4861:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NDATACLOS__V34*/ meltfptr[33]; /*_.ADD_NCTX_DATA__V42*/ meltfptr[38] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[14])), (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4862:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:4862:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L9*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4862:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4862; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defun updated ncx="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V44*/ meltfptr[43] = /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4862:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 0; } ; } else { /*^cond.else */ /*_._IF___V44*/ meltfptr[43] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4862:/ quasiblock"); /*_.PROGN___V46*/ meltfptr[44] = /*_._IF___V44*/ meltfptr[43];; /*^compute */ /*_.IFCPP___V43*/ meltfptr[42] = /*_.PROGN___V46*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4862:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_._IF___V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.PROGN___V46*/ meltfptr[44] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V43*/ meltfptr[42] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_NOT_A__L10*/ meltfnum[0] = !melt_is_instance_of ((melt_ptr_t) ( /*_.SFUBIND__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_FUNCTION_BINDING */ meltfrout->tabval[15])));; MELT_LOCATION ("warmelt-normal.melt:4863:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:4866:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SNAM__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[16]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SNAM__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V48*/ meltfptr[44] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V48*/ meltfptr[44] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:4864:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("bad DEFUN-ed function [nested definitions are prohibited; consider\ using LETREC]"), (melt_ptr_t) ( /*_.NAMED_NAME__V48*/ meltfptr[44])); } ; MELT_LOCATION ("warmelt-normal.melt:4867:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:4867:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:4863:/ quasiblock"); /*_.PROGN___V50*/ meltfptr[49] = /*_.RETURN___V49*/ meltfptr[48];; /*^compute */ /*_._IF___V47*/ meltfptr[43] = /*_.PROGN___V50*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4863:/ clear"); /*clear *//*_.NAMED_NAME__V48*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.RETURN___V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.PROGN___V50*/ meltfptr[49] = 0; } ; } else { /*^cond.else */ /*_._IF___V47*/ meltfptr[43] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4868:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_DATAROUT", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V28*/ meltfptr[27]), (6), ( /*_.NDATAROUT__V31*/ meltfptr[30]), "NRPRO_DATAROUT"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_DATACLOS", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V28*/ meltfptr[27]), (7), ( /*_.NDATACLOS__V34*/ meltfptr[33]), "NRPRO_DATACLOS"); ; /*^touch */ meltgc_touch ( /*_.NPROC__V28*/ meltfptr[27]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NPROC__V28*/ meltfptr[27], "put-fields"); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4869:/ 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:4869:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L12*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4869:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L12*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4869; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defun updated nproc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V28*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V53*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V52*/ meltfptr[48] = /*_.MELT_DEBUG_FUN__V53*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4869:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V53*/ meltfptr[49] = 0; } ; } else { /*^cond.else */ /*_._IF___V52*/ meltfptr[48] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4869:/ quasiblock"); /*_.PROGN___V54*/ meltfptr[49] = /*_._IF___V52*/ meltfptr[48];; /*^compute */ /*_.IFCPP___V51*/ meltfptr[44] = /*_.PROGN___V54*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4869:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_._IF___V52*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.PROGN___V54*/ meltfptr[49] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V51*/ meltfptr[44] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SFORMALS__V19*/ meltfptr[18]); for ( /*_#IX__L13*/ meltfnum[11] = 0; ( /*_#IX__L13*/ meltfnum[11] >= 0) && ( /*_#IX__L13*/ meltfnum[11] < meltcit1__EACHTUP_ln); /*_#IX__L13*/ meltfnum[11]++) { /*_.FBI__V55*/ meltfptr[48] = melt_multiple_nth ((melt_ptr_t) ( /*_.SFORMALS__V19*/ meltfptr[18]), /*_#IX__L13*/ meltfnum[11]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4873:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L14*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.FBI__V55*/ meltfptr[48]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[17])));; MELT_LOCATION ("warmelt-normal.melt:4873:/ cond"); /*cond */ if ( /*_#IS_A__L14*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V57*/ meltfptr[56] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4873:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fbi"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4873) ? (4873) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V57*/ meltfptr[56] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V56*/ meltfptr[49] = /*_._IFELSE___V57*/ meltfptr[56];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4873:/ clear"); /*clear *//*_#IS_A__L14*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_._IFELSE___V57*/ meltfptr[56] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V56*/ meltfptr[49] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4874:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.FBI__V55*/ meltfptr[48]; /*_.PUT_ENV__V58*/ meltfptr[56] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[18])), (melt_ptr_t) ( /*_.NEWENV__V22*/ meltfptr[21]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; if ( /*_#IX__L13*/ meltfnum[11] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:4870:/ clear"); /*clear *//*_.FBI__V55*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_#IX__L13*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IFCPP___V56*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V58*/ meltfptr[56] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_CHECK_SIGNAL (); ; /*_#IS_A__L15*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SFORMALS__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!DISCR_VARIADIC_FORMAL_SEQUENCE */ meltfrout->tabval[19])));; MELT_LOCATION ("warmelt-normal.melt:4875:/ cond"); /*cond */ if ( /*_#IS_A__L15*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4876:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NPROC__V28*/ meltfptr[27]), (melt_ptr_t) (( /*!CLASS_NREP_ROUTPROC */ meltfrout->tabval[20]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_VARIADIC", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V28*/ meltfptr[27]), (9), ( /*_.SNAM__V18*/ meltfptr[17]), "NRPRO_VARIADIC"); ; /*^touch */ meltgc_touch ( /*_.NPROC__V28*/ meltfptr[27]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NPROC__V28*/ meltfptr[27], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4877:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @ENV_PROC", melt_magic_discr ((melt_ptr_t) ( /*_.NEWENV__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NEWENV__V22*/ meltfptr[21]), (2), ( /*_.NPROC__V28*/ meltfptr[27]), "ENV_PROC"); ; /*^touch */ meltgc_touch ( /*_.NEWENV__V22*/ meltfptr[21]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NEWENV__V22*/ meltfptr[21], "put-fields"); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4878:/ 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:4878:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L17*/ meltfnum[16] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4878:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L17*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4878; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defun updated :env_proc of of newenv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V22*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60] = 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[59] = /*_.MELT_DEBUG_FUN__V61*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4878:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4878:/ quasiblock"); /*_.PROGN___V62*/ meltfptr[60] = /*_._IF___V60*/ meltfptr[59];; /*^compute */ /*_.IFCPP___V59*/ meltfptr[58] = /*_.PROGN___V62*/ meltfptr[60];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4878:/ 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:4880:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NCTX_PROCLIST"); /*_.NCPLIS__V64*/ meltfptr[60] = slot; }; ; } else { /*^cond.else */ /*_.NCPLIS__V64*/ meltfptr[60] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:4882:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NCPLIS__V64*/ meltfptr[60]), (melt_ptr_t) ( /*_.NPROC__V28*/ meltfptr[27])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4883:/ 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:4883:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L19*/ meltfnum[15] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4883:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L19*/ meltfnum[15]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4883; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defun appended to nctxproclist ncplis="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCPLIS__V64*/ meltfptr[60]; /*_.MELT_DEBUG_FUN__V67*/ 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V66*/ meltfptr[65] = /*_.MELT_DEBUG_FUN__V67*/ meltfptr[66];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4883:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L19*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V67*/ meltfptr[66] = 0; } ; } else { /*^cond.else */ /*_._IF___V66*/ meltfptr[65] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4883:/ quasiblock"); /*_.PROGN___V68*/ meltfptr[66] = /*_._IF___V66*/ meltfptr[65];; /*^compute */ /*_.IFCPP___V65*/ meltfptr[64] = /*_.PROGN___V68*/ meltfptr[66];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4883:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_._IF___V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.PROGN___V68*/ meltfptr[66] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V65*/ meltfptr[64] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V63*/ meltfptr[59] = /*_.IFCPP___V65*/ meltfptr[64];; MELT_LOCATION ("warmelt-normal.melt:4880:/ clear"); /*clear *//*_.NCPLIS__V64*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.IFCPP___V65*/ meltfptr[64] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4885:/ quasiblock"); /*^multiapply */ /*multiapply 4args, 1x.res */ { union meltparam_un argtab[3]; union meltparam_un restab[1]; memset (&restab, 0, sizeof (restab)); memset (&argtab, 0, sizeof (argtab)); /*^multiapply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V22*/ meltfptr[21]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V71*/ meltfptr[60]; /*^multiapply.appl */ /*_.NBODY__V70*/ meltfptr[66] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[21])), (melt_ptr_t) ( /*_.SBODY__V20*/ meltfptr[19]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4888:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L20*/ 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:4888:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L20*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L21*/ meltfnum[16] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4888:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L21*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4888; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defun nbody before replace_last_by_return"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBODY__V70*/ meltfptr[66]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V73*/ meltfptr[72] = /*_.MELT_DEBUG_FUN__V74*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4888:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L21*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V74*/ meltfptr[73] = 0; } ; } else { /*^cond.else */ /*_._IF___V73*/ meltfptr[72] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4888:/ quasiblock"); /*_.PROGN___V75*/ meltfptr[73] = /*_._IF___V73*/ meltfptr[72];; /*^compute */ /*_.IFCPP___V72*/ meltfptr[64] = /*_.PROGN___V75*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4888:/ clear"); /*clear *//*_#MELT_NEED_DBG__L20*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_._IF___V73*/ meltfptr[72] = 0; /*^clear */ /*clear *//*_.PROGN___V75*/ meltfptr[73] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V72*/ meltfptr[64] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4891:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V77*/ meltfptr[73] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_24 */ meltfrout-> tabval[24])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V77*/ meltfptr[73])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V77*/ meltfptr[73]))); ((meltclosure_ptr_t) /*_.LAMBDA___V77*/ meltfptr[73])->tabval[0] = (melt_ptr_t) ( /*_.NEWENV__V22*/ meltfptr[21]); ; /*_.LAMBDA___V76*/ meltfptr[72] = /*_.LAMBDA___V77*/ meltfptr[73];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4889:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V76*/ meltfptr[72]; /*_.MULTIPLE_EVERY__V78*/ meltfptr[77] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[22])), (melt_ptr_t) ( /*_.NBINDINGS__V71*/ meltfptr[60]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4893:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V22*/ meltfptr[21]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*_.NRBODY__V80*/ meltfptr[79] = melt_apply ((meltclosure_ptr_t) (( /*!REPLACE_LAST_BY_RETURN */ meltfrout->tabval[25])), (melt_ptr_t) ( /*_.NBODY__V70*/ meltfptr[66]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4894:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V71*/ meltfptr[60]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*_.NPBODY__V81*/ meltfptr[80] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LETSEQ */ meltfrout->tabval[26])), (melt_ptr_t) ( /*_.NRBODY__V80*/ meltfptr[79]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4896:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPROC_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V28*/ meltfptr[27]), (1), ( /*_.NPBODY__V81*/ meltfptr[80]), "NPROC_BODY"); ; /*^touch */ meltgc_touch ( /*_.NPROC__V28*/ meltfptr[27]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NPROC__V28*/ meltfptr[27], "put-fields"); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4897:/ 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:4897:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L22*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L23*/ meltfnum[15] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4897:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L23*/ meltfnum[15]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4897; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defun after replace_last_by_return npbody="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NPBODY__V81*/ meltfptr[80]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. nproc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V28*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V84*/ meltfptr[83] = 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___V83*/ meltfptr[82] = /*_.MELT_DEBUG_FUN__V84*/ meltfptr[83];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4897:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L23*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V84*/ meltfptr[83] = 0; } ; } else { /*^cond.else */ /*_._IF___V83*/ meltfptr[82] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4897:/ quasiblock"); /*_.PROGN___V85*/ meltfptr[83] = /*_._IF___V83*/ meltfptr[82];; /*^compute */ /*_.IFCPP___V82*/ meltfptr[81] = /*_.PROGN___V85*/ meltfptr[83];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4897:/ clear"); /*clear *//*_#MELT_NEED_DBG__L22*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_._IF___V83*/ meltfptr[82] = 0; /*^clear */ /*clear *//*_.PROGN___V85*/ meltfptr[83] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V82*/ meltfptr[81] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V79*/ meltfptr[78] = /*_.IFCPP___V82*/ meltfptr[81];; MELT_LOCATION ("warmelt-normal.melt:4893:/ clear"); /*clear *//*_.NRBODY__V80*/ meltfptr[79] = 0; /*^clear */ /*clear *//*_.NPBODY__V81*/ meltfptr[80] = 0; /*^clear */ /*clear *//*_.IFCPP___V82*/ meltfptr[81] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4899:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_CURPROC", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V4*/ meltfptr[3]), (10), ( /*_.OLDPROC__V23*/ meltfptr[22]), "NCTX_CURPROC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_SYMBCACHEMAP", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V4*/ meltfptr[3]), (6), ( /*_.OLDSYMBCACHE__V24*/ meltfptr[23]), "NCTX_SYMBCACHEMAP"); ; /*^touch */ meltgc_touch ( /*_.NCX__V4*/ meltfptr[3]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NCX__V4*/ meltfptr[3], "put-fields"); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4900:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L24*/ 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:4900:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L24*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L25*/ meltfnum[16] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4900:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L25*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4900; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defun restored ncx="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V88*/ meltfptr[79] = 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___V87*/ meltfptr[83] = /*_.MELT_DEBUG_FUN__V88*/ meltfptr[79];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4900:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L25*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V88*/ meltfptr[79] = 0; } ; } else { /*^cond.else */ /*_._IF___V87*/ meltfptr[83] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4900:/ quasiblock"); /*_.PROGN___V89*/ meltfptr[80] = /*_._IF___V87*/ meltfptr[83];; /*^compute */ /*_.IFCPP___V86*/ meltfptr[82] = /*_.PROGN___V89*/ meltfptr[80];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4900:/ clear"); /*clear *//*_#MELT_NEED_DBG__L24*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_._IF___V87*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.PROGN___V89*/ meltfptr[80] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V86*/ meltfptr[82] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4901:/ quasiblock"); MELT_LOCATION ("warmelt-normal.melt:4905:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V91*/ meltfptr[79] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_31 */ meltfrout-> tabval[31])), (3)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V91*/ meltfptr[79])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V91*/ meltfptr[79]))); ((meltclosure_ptr_t) /*_.LAMBDA___V91*/ meltfptr[79])->tabval[0] = (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V91*/ meltfptr[79])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V91*/ meltfptr[79]))); ((meltclosure_ptr_t) /*_.LAMBDA___V91*/ meltfptr[79])->tabval[1] = (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V91*/ meltfptr[79])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V91*/ meltfptr[79]))); ((meltclosure_ptr_t) /*_.LAMBDA___V91*/ meltfptr[79])->tabval[2] = (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]); ; /*_.LAMBDA___V90*/ meltfptr[81] = /*_.LAMBDA___V91*/ meltfptr[79];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4902:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!DISCR_MULTIPLE */ meltfrout->tabval[28]); /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V90*/ meltfptr[81]; /*_.CLOVTUP__V92*/ meltfptr[83] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[27])), (melt_ptr_t) ( /*_.CLOSBLIS__V25*/ meltfptr[24]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4914:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDCLO_CLOSV", melt_magic_discr ((melt_ptr_t) ( /*_.NDATACLOS__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NDATACLOS__V34*/ meltfptr[33]), (6), ( /*_.CLOVTUP__V92*/ meltfptr[83]), "NDCLO_CLOSV"); ; /*^touch */ meltgc_touch ( /*_.NDATACLOS__V34*/ meltfptr[33]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NDATACLOS__V34*/ meltfptr[33], "put-fields"); ; MELT_LOCATION ("warmelt-normal.melt:4901:/ clear"); /*clear *//*_.LAMBDA___V90*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.CLOVTUP__V92*/ meltfptr[83] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4916:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SFUBIND__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!CLASS_FIXED_BINDING */ meltfrout->tabval[32]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @FIXBIND_DATA", melt_magic_discr ((melt_ptr_t) ( /*_.SFUBIND__V21*/ meltfptr[20])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.SFUBIND__V21*/ meltfptr[20]), (1), ( /*_.NDATACLOS__V34*/ meltfptr[33]), "FIXBIND_DATA"); ; /*^touch */ meltgc_touch ( /*_.SFUBIND__V21*/ meltfptr[20]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.SFUBIND__V21*/ meltfptr[20], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4917:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L26*/ 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:4917:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L26*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L27*/ meltfnum[15] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4917:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L27*/ meltfnum[15]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4917; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defun return nproc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V28*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V95*/ meltfptr[83] = 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___V94*/ meltfptr[81] = /*_.MELT_DEBUG_FUN__V95*/ meltfptr[83];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4917:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L27*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V95*/ meltfptr[83] = 0; } ; } else { /*^cond.else */ /*_._IF___V94*/ meltfptr[81] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4917:/ quasiblock"); /*_.PROGN___V96*/ meltfptr[83] = /*_._IF___V94*/ meltfptr[81];; /*^compute */ /*_.IFCPP___V93*/ meltfptr[80] = /*_.PROGN___V96*/ meltfptr[83];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4917:/ clear"); /*clear *//*_#MELT_NEED_DBG__L26*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_._IF___V94*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.PROGN___V96*/ meltfptr[83] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V93*/ meltfptr[80] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4918:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.NPROC__V28*/ meltfptr[27];; MELT_LOCATION ("warmelt-normal.melt:4918:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) (( /*nil */ NULL)); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V69*/ meltfptr[65] = /*_.RETURN___V97*/ meltfptr[81];; MELT_LOCATION ("warmelt-normal.melt:4885:/ clear"); /*clear *//*_.IFCPP___V72*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.LAMBDA___V76*/ meltfptr[72] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V78*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.LET___V79*/ meltfptr[78] = 0; /*^clear */ /*clear *//*_.IFCPP___V86*/ meltfptr[82] = 0; /*^clear */ /*clear *//*_.IFCPP___V93*/ meltfptr[80] = 0; /*^clear */ /*clear *//*_.RETURN___V97*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.NBINDINGS__V71*/ meltfptr[60] = 0; /*_.LET___V16*/ meltfptr[14] = /*_.MULTI___V69*/ meltfptr[65];; MELT_LOCATION ("warmelt-normal.melt:4820:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SNAM__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SFORMALS__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.SBODY__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.SFUBIND__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NEWENV__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.OLDPROC__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.OLDSYMBCACHE__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.CLOSBLIS__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.NPROC__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.NDATAROUT__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.NDATACLOS__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.MAKE_MAPOBJECT__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.IFCPP___V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V41*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V42*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.IFCPP___V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V47*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.IFCPP___V51*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_#IS_A__L15*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFCPP___V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.LET___V63*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.MULTI___V69*/ meltfptr[65] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4815:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:4815:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_DEFUN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_86_WARMELTmiNORMAL_NORMEXP_DEFUN_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_86_WARMELTmiNORMAL_NORMEXP_DEFUN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_87_WARMELTmiNORMAL_LAMBDA_cl25 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_87_WARMELTmiNORMAL_LAMBDA_cl25_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_87_WARMELTmiNORMAL_LAMBDA_cl25_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]; #define MELTFRAM_NBVARNUM 1 long mcfr_varnum[1]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_87_WARMELTmiNORMAL_LAMBDA_cl25 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_87_WARMELTmiNORMAL_LAMBDA_cl25_st *) meltfirstargp_; /* use arguments meltrout_87_WARMELTmiNORMAL_LAMBDA_cl25 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 3; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_87_WARMELTmiNORMAL_LAMBDA_cl25 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_cl25", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4891:/ getarg"); /*_.NBI__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto meltlab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4892:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBI__V2*/ meltfptr[1]; /*_.PUT_ENV__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[0])), (melt_ptr_t) (( /*~NEWENV */ meltfclos->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4891:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.PUT_ENV__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normal.melt:4891:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.PUT_ENV__V3*/ meltfptr[2] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl25", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_87_WARMELTmiNORMAL_LAMBDA_cl25_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_87_WARMELTmiNORMAL_LAMBDA_cl25 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_88_WARMELTmiNORMAL_LAMBDA_cl26 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_88_WARMELTmiNORMAL_LAMBDA_cl26_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_88_WARMELTmiNORMAL_LAMBDA_cl26_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 7 melt_ptr_t mcfr_varptr[7]; #define MELTFRAM_NBVARNUM 1 long mcfr_varnum[1]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_88_WARMELTmiNORMAL_LAMBDA_cl26 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_88_WARMELTmiNORMAL_LAMBDA_cl26_st *) meltfirstargp_; /* use arguments meltrout_88_WARMELTmiNORMAL_LAMBDA_cl26 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 7; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_88_WARMELTmiNORMAL_LAMBDA_cl26 nbval 7*/ meltfram__.mcfr_nbvar = 7 /*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_cl26", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4905:/ getarg"); /*_.BND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4906:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.BND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:4906:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4906:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_defun check bnd"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4906) ? (4906) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_._IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4906:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V4*/ meltfptr[3] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4907:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.BND__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.SY__V6*/ meltfptr[5] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4910:/ msend"); /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~ENV */ meltfclos->tabval[0]); /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & ( /*~NCX */ meltfclos->tabval[1]); /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & ( /*~SLOC */ meltfclos->tabval[2]); /*_.NSY__V7*/ meltfptr[6] = meltgc_send ((melt_ptr_t) ( /*_.SY__V6*/ meltfptr[5]), (melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[1])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V5*/ meltfptr[3] = /*_.NSY__V7*/ meltfptr[6];; MELT_LOCATION ("warmelt-normal.melt:4907:/ clear"); /*clear *//*_.SY__V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.NSY__V7*/ meltfptr[6] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4905:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V5*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normal.melt:4905:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.LET___V5*/ meltfptr[3] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl26", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_88_WARMELTmiNORMAL_LAMBDA_cl26_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_88_WARMELTmiNORMAL_LAMBDA_cl26 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_89_WARMELTmiNORMAL_NORMEXP_DEFHOOK (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_89_WARMELTmiNORMAL_NORMEXP_DEFHOOK_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_89_WARMELTmiNORMAL_NORMEXP_DEFHOOK_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 187 melt_ptr_t mcfr_varptr[187]; #define MELTFRAM_NBVARNUM 74 long mcfr_varnum[74]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_89_WARMELTmiNORMAL_NORMEXP_DEFHOOK is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_89_WARMELTmiNORMAL_NORMEXP_DEFHOOK_st *) meltfirstargp_; /* use arguments meltrout_89_WARMELTmiNORMAL_NORMEXP_DEFHOOK output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 187; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_89_WARMELTmiNORMAL_NORMEXP_DEFHOOK nbval 187*/ meltfram__.mcfr_nbvar = 187 /*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_DEFHOOK", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:4927:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4928:/ 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:4928:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4928:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4928; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. ncx="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[7].meltbp_cstring = "\n.. env="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR 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:4928:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:4928:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_._IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4928:/ 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:4929:/ 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_DEFHOOK */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:4929:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4929:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check defhook recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4929) ? (4929) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_._IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4929:/ 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:4930:/ 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:4930:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4930:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4930) ? (4930) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_._IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4930:/ 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:4931:/ 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:4931:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:4931:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (4931) ? (4931) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4931:/ 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:4932:/ 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:4933:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SOURCE_DEFINITION */ 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, "SDEF_NAME"); /*_.SYMB__V18*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.SYMB__V18*/ meltfptr[17] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4935:/ 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:4935:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L7*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4935:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L7*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4935; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook symb="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V18*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = 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___V20*/ meltfptr[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4935:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = 0; } ; } else { /*^cond.else */ /*_._IF___V20*/ meltfptr[19] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4935:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[20] = /*_._IF___V20*/ meltfptr[19];; /*^compute */ /*_.IFCPP___V19*/ meltfptr[18] = /*_.PROGN___V22*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4935:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.PROGN___V22*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V19*/ meltfptr[18] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:4936:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SYMB__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.SN__V24*/ meltfptr[20] = slot; }; ; } else { /*^cond.else */ /*_.SN__V24*/ meltfptr[20] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4938:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:4938:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L9*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4938:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4938; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook symbname="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SN__V24*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V26*/ meltfptr[25] = /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4938:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L9*/ 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:4938:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_._IF___V26*/ meltfptr[25];; /*^compute */ /*_.IFCPP___V25*/ meltfptr[24] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4938:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[1] = 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 */ ; /*^compute */ /*_.LET___V23*/ meltfptr[19] = /*_.SN__V24*/ meltfptr[20];; MELT_LOCATION ("warmelt-normal.melt:4936:/ clear"); /*clear *//*_.SN__V24*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.IFCPP___V25*/ meltfptr[24] = 0; MELT_LOCATION ("warmelt-normal.melt:4934:/ quasiblock"); /*_.SYMBNAME__V29*/ meltfptr[25] = /*_.LET___V23*/ meltfptr[19];; MELT_LOCATION ("warmelt-normal.melt:4940:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "SFORMAL_ARGS"); /*_.SINFORMALS__V30*/ meltfptr[26] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4941:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "SHOOK_OUT_FORMALS"); /*_.SOUTFORMALS__V31*/ meltfptr[20] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4942:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "SHOOK_CTYPE"); /*_.SCTYPE__V32*/ meltfptr[24] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4943:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "SHOOK_PREDEF"); /*_.SPREDEF__V33*/ meltfptr[32] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4944:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 8, "SHOOK_VARIABLE"); /*_.SMODVAR__V34*/ meltfptr[33] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4945:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 9, "SHOOK_BODY"); /*_.SBODY__V35*/ meltfptr[34] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4946:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SYMB__V18*/ meltfptr[17]; /*_.SHOBIND__V36*/ meltfptr[35] = melt_apply ((meltclosure_ptr_t) (( /*!FIND_ENV */ meltfrout->tabval[6])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4947:/ apply"); /*apply */ { /*_.NEWENV__V37*/ meltfptr[36] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4948:/ 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"); /*_.OLDPROC__V38*/ meltfptr[37] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:4949:/ 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"); /*_.OLDSYMBCACHE__V39*/ meltfptr[38] = slot; }; ; /*_.CLOSBINDLIST__V40*/ meltfptr[39] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; /*^compute */ /*_.NMAPDATA__V41*/ meltfptr[40] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[9])), (31)));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4952:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_HOOKPROC */ meltfrout->tabval[10])), (9), "CLASS_NREP_HOOKPROC"); /*_.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[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPROC_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V43*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V43*/ meltfptr[42]), (1), (( /*nil */ NULL)), "NPROC_BODY"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRHOOK_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V43*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V43*/ meltfptr[42]), (2), ( /*_.SYMBNAME__V29*/ meltfptr[25]), "NRHOOK_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRHOOK_INB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V43*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V43*/ meltfptr[42]), (3), (( /*nil */ NULL)), "NRHOOK_INB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRHOOK_OUTB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V43*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V43*/ meltfptr[42]), (4), (( /*nil */ NULL)), "NRHOOK_OUTB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRHOOK_CTYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V43*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V43*/ meltfptr[42]), (5), ( /*_.SCTYPE__V32*/ meltfptr[24]), "NRHOOK_CTYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRHOOK_DATAHOOK", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V43*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V43*/ meltfptr[42]), (6), (( /*nil */ NULL)), "NRHOOK_DATAHOOK"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRHOOK_MAPDATA", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V43*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V43*/ meltfptr[42]), (8), (( /*nil */ NULL)), "NRHOOK_MAPDATA"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRHOOK_CLOSEDBINDLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V43*/ meltfptr[42])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V43*/ meltfptr[42]), (7), ( /*_.CLOSBINDLIST__V40*/ meltfptr[39]), "NRHOOK_CLOSEDBINDLIST"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V43*/ meltfptr[42], "newly made instance"); ; /*_.NPROC__V42*/ meltfptr[41] = /*_.INST__V43*/ meltfptr[42];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4962:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_HOOK_DESCRIPTOR */ meltfrout->tabval[11])), (6), "CLASS_HOOK_DESCRIPTOR"); /*_.INST__V45*/ meltfptr[44] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NAMED_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V45*/ meltfptr[44])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V45*/ meltfptr[44]), (1), ( /*_.SYMBNAME__V29*/ meltfptr[25]), "NAMED_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @HOOKDESC_IN_FORMALS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V45*/ meltfptr[44])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V45*/ meltfptr[44]), (2), ( /*_.SINFORMALS__V30*/ meltfptr[26]), "HOOKDESC_IN_FORMALS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @HOOKDESC_OUT_FORMALS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V45*/ meltfptr[44])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V45*/ meltfptr[44]), (3), ( /*_.SOUTFORMALS__V31*/ meltfptr[20]), "HOOKDESC_OUT_FORMALS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @HOOKDESC_CTYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V45*/ meltfptr[44])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V45*/ meltfptr[44]), (4), ( /*_.SCTYPE__V32*/ meltfptr[24]), "HOOKDESC_CTYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @HOOKDESC_HOOK", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V45*/ meltfptr[44])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V45*/ meltfptr[44]), (5), (( /*nil */ NULL)), "HOOKDESC_HOOK"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V45*/ meltfptr[44], "newly made instance"); ; /*_.DESCRHOOK__V44*/ meltfptr[43] = /*_.INST__V45*/ meltfptr[44];; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4970:/ 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 = "discr_hook"; /*_.NORMAL_PREDEF__V46*/ meltfptr[45] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[13])), (melt_ptr_t) (( /*!DISCR_HOOK */ meltfrout->tabval[14])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4968:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATAHOOK */ meltfrout->tabval[12])), (10), "CLASS_NREP_DATAHOOK"); /*_.INST__V48*/ meltfptr[47] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (1), ( /*_.SYMBNAME__V29*/ meltfptr[25]), "NDATA_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (4), ( /*_.NORMAL_PREDEF__V46*/ meltfptr[45]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDHOOK_PROC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (5), ( /*_.NPROC__V42*/ meltfptr[41]), "NDHOOK_PROC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDHOOK_DATA", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (6), (( /*nil */ NULL)), "NDHOOK_DATA"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDHOOK_CLOSV", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (7), (( /*nil */ NULL)), "NDHOOK_CLOSV"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDHOOK_PREDEF", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (8), ( /*_.SPREDEF__V33*/ meltfptr[32]), "NDHOOK_PREDEF"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDHOOK_MODVARBIND", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V48*/ meltfptr[47])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V48*/ meltfptr[47]), (9), (( /*nil */ NULL)), "NDHOOK_MODVARBIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V48*/ meltfptr[47], "newly made instance"); ; /*_.NDATAHOOK__V47*/ meltfptr[46] = /*_.INST__V48*/ meltfptr[47];; /*^compute */ /*_#MULTIPLE_LENGTH__L10*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.SINFORMALS__V30*/ meltfptr[26])));; /*^compute */ /*_#MULTIPLE_LENGTH__L11*/ meltfnum[1] = (melt_multiple_length ((melt_ptr_t) ( /*_.SOUTFORMALS__V31*/ meltfptr[20])));; /*^compute */ /*_#plI__L12*/ meltfnum[11] = (( /*_#MULTIPLE_LENGTH__L10*/ meltfnum[0]) + ( /*_#MULTIPLE_LENGTH__L11*/ meltfnum[1]));; /*^compute */ /*_#stI__L13*/ meltfnum[12] = (( /*_#plI__L12*/ meltfnum[11]) * (2));; /*^compute */ /*_#plI__L14*/ meltfnum[13] = ((9) + ( /*_#stI__L13*/ meltfnum[12]));; /*^compute */ /*_.FORMSYMBMAP__V49*/ meltfptr[48] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[9])), ( /*_#plI__L14*/ meltfnum[13])));; /*^compute */ /*_#MULTIPLE_LENGTH__L15*/ meltfnum[14] = (melt_multiple_length ((melt_ptr_t) ( /*_.SINFORMALS__V30*/ meltfptr[26])));; /*^compute */ /*_.FORMINTUPLE__V50*/ meltfptr[49] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[15])), ( /*_#MULTIPLE_LENGTH__L15*/ meltfnum[14])));; /*^compute */ /*_#MULTIPLE_LENGTH__L16*/ meltfnum[15] = (melt_multiple_length ((melt_ptr_t) ( /*_.SOUTFORMALS__V31*/ meltfptr[20])));; /*^compute */ /*_.FORMOUTUPLE__V51*/ meltfptr[50] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[15])), ( /*_#MULTIPLE_LENGTH__L16*/ meltfnum[15])));; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4984:/ 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 = "discr_string"; /*_.NORMAL_PREDEF__V52*/ meltfptr[51] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[13])), (melt_ptr_t) (( /*!DISCR_STRING */ meltfrout-> tabval[17])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:4982:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATASTRING */ meltfrout->tabval[16])), (6), "CLASS_NREP_DATASTRING"); /*_.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[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V54*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V54*/ meltfptr[53]), (4), ( /*_.NORMAL_PREDEF__V52*/ meltfptr[51]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSTR_STRING", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V54*/ meltfptr[53])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V54*/ meltfptr[53]), (5), ( /*_.SYMBNAME__V29*/ meltfptr[25]), "NSTR_STRING"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V54*/ meltfptr[53], "newly made instance"); ; /*_.NAMSTRDATA__V53*/ meltfptr[52] = /*_.INST__V54*/ meltfptr[53];; MELT_LOCATION ("warmelt-normal.melt:4987:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*!CLASS_HOOK_DESCRIPTOR */ meltfrout-> tabval[11])) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "CLASS_FIELDS"); /*_.CLASS_FIELDS__V55*/ meltfptr[54] = slot; }; ; /*_#MULTIPLE_LENGTH__L17*/ meltfnum[16] = (melt_multiple_length ((melt_ptr_t) ( /*_.CLASS_FIELDS__V55*/ meltfptr[54])));; /*^compute */ /*_.SLOTUP__V56*/ meltfptr[55] = (meltgc_new_multiple ((meltobject_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout->tabval[15])), ( /*_#MULTIPLE_LENGTH__L17*/ meltfnum[16])));; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4991:/ 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 = "class_hook_descriptor"; /*_.NORMAL_PREDEF__V57*/ meltfptr[56] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[13])), (melt_ptr_t) (( /*!CLASS_HOOK_DESCRIPTOR */ meltfrout-> tabval[11])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_#OBJ_HASH__L18*/ meltfnum[17] = (melt_obj_hash ((melt_ptr_t) ( /*_.DESCRHOOK__V44*/ meltfptr[43])));; /*^compute */ /*_.MAKE_INTEGERBOX__V58*/ meltfptr[57] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_INTEGER */ meltfrout->tabval[19])), ( /*_#OBJ_HASH__L18*/ meltfnum[17])));; MELT_LOCATION ("warmelt-normal.melt:4988:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATAINSTANCE */ meltfrout->tabval[18])), (9), "CLASS_NREP_DATAINSTANCE"); /*_.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 @NDATA_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (1), ( /*_.SYMBNAME__V29*/ meltfptr[25]), "NDATA_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (4), ( /*_.NORMAL_PREDEF__V57*/ meltfptr[56]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NINST_HASH", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (7), ( /*_.MAKE_INTEGERBOX__V58*/ meltfptr[57]), "NINST_HASH"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NINST_SLOTS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V60*/ meltfptr[59])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V60*/ meltfptr[59]), (8), ( /*_.SLOTUP__V56*/ meltfptr[55]), "NINST_SLOTS"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V60*/ meltfptr[59], "newly made instance"); ; /*_.INSDATA__V59*/ meltfptr[58] = /*_.INST__V60*/ meltfptr[59];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4996:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NDATAHOOK__V47*/ meltfptr[46]), (melt_ptr_t) (( /*!CLASS_NREP_DATAHOOK */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDHOOK_DATA", melt_magic_discr ((melt_ptr_t) ( /*_.NDATAHOOK__V47*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NDATAHOOK__V47*/ meltfptr[46]), (6), ( /*_.INSDATA__V59*/ meltfptr[58]), "NDHOOK_DATA"); ; /*^touch */ meltgc_touch ( /*_.NDATAHOOK__V47*/ meltfptr[46]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NDATAHOOK__V47*/ meltfptr[46], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4997:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NPROC__V42*/ meltfptr[41]), (melt_ptr_t) (( /*!CLASS_NREP_HOOKPROC */ meltfrout->tabval[10]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRHOOK_DATAHOOK", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V42*/ meltfptr[41]), (6), ( /*_.NDATAHOOK__V47*/ meltfptr[46]), "NRHOOK_DATAHOOK"); ; /*^touch */ meltgc_touch ( /*_.NPROC__V42*/ meltfptr[41]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NPROC__V42*/ meltfptr[41], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:4998:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L19*/ meltfnum[18] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:4998:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L19*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L20*/ meltfnum[19] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4998:/ apply"); /*apply */ { union meltparam_un argtab[17]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L20*/ meltfnum[19]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4998; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook newenv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V37*/ meltfptr[36]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. oldproc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OLDPROC__V38*/ meltfptr[37]; /*^apply.arg */ argtab[7].meltbp_cstring = "\n.. nproc="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V42*/ meltfptr[41]; /*^apply.arg */ argtab[9].meltbp_cstring = "\n.. ndatahook="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAHOOK__V47*/ meltfptr[46]; /*^apply.arg */ argtab[11].meltbp_cstring = "\n.. sctype="; /*^apply.arg */ argtab[12].meltbp_aptr = (melt_ptr_t *) & /*_.SCTYPE__V32*/ meltfptr[24]; /*^apply.arg */ argtab[13].meltbp_cstring = "\n.. descrhook="; /*^apply.arg */ argtab[14].meltbp_aptr = (melt_ptr_t *) & /*_.DESCRHOOK__V44*/ meltfptr[43]; /*^apply.arg */ argtab[15].meltbp_cstring = "\n.. smodvar="; /*^apply.arg */ argtab[16].meltbp_aptr = (melt_ptr_t *) & /*_.SMODVAR__V34*/ meltfptr[33]; /*_.MELT_DEBUG_FUN__V63*/ meltfptr[62] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V62*/ meltfptr[61] = /*_.MELT_DEBUG_FUN__V63*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4998:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L20*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V63*/ meltfptr[62] = 0; } ; } else { /*^cond.else */ /*_._IF___V62*/ meltfptr[61] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:4998:/ quasiblock"); /*_.PROGN___V64*/ meltfptr[62] = /*_._IF___V62*/ meltfptr[61];; /*^compute */ /*_.IFCPP___V61*/ meltfptr[60] = /*_.PROGN___V64*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:4998:/ clear"); /*clear *//*_#MELT_NEED_DBG__L19*/ meltfnum[18] = 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 */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5002:/ cond"); /*cond */ if ( /*_.SMODVAR__V34*/ meltfptr[33]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:5003:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SMODVAR__V34*/ meltfptr[33]; /*_.MODVARBIND__V67*/ meltfptr[66] = melt_apply ((meltclosure_ptr_t) (( /*!FIND_ENV */ meltfrout->tabval[6])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5005:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L21*/ meltfnum[19] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:5005:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L21*/ meltfnum[19]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L22*/ meltfnum[18] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5005:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L22*/ meltfnum[18]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5005; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook symbname="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SYMBNAME__V29*/ meltfptr[25]; /*^apply.arg */ argtab[5].meltbp_cstring = " smodvar="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SMODVAR__V34*/ meltfptr[33]; /*^apply.arg */ argtab[7].meltbp_cstring = " modvarbind="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.MODVARBIND__V67*/ meltfptr[66]; /*_.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 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:5005:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L22*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V70*/ meltfptr[69] = 0; } ; } else { /*^cond.else */ /*_._IF___V69*/ meltfptr[68] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5005:/ quasiblock"); /*_.PROGN___V71*/ meltfptr[69] = /*_._IF___V69*/ meltfptr[68];; /*^compute */ /*_.IFCPP___V68*/ meltfptr[67] = /*_.PROGN___V71*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5005:/ clear"); /*clear *//*_#MELT_NEED_DBG__L21*/ meltfnum[19] = 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_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_NOT_A__L23*/ meltfnum[18] = !melt_is_instance_of ((melt_ptr_t) ( /*_.MODVARBIND__V67*/ meltfptr[66]), (melt_ptr_t) (( /*!CLASS_NORMAL_MODULE_VARIABLE_BINDING */ meltfrout->tabval[20])));; MELT_LOCATION ("warmelt-normal.melt:5006:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L23*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:5007:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("DEFHOOK has bad :VAR annotation, should be a module variable"), (melt_ptr_t) ( /*_.SYMBNAME__V29*/ meltfptr[25])); } ; MELT_LOCATION ("warmelt-normal.melt:5009:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:5009:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:5006:/ quasiblock"); /*_.PROGN___V74*/ meltfptr[73] = /*_.RETURN___V73*/ meltfptr[69];; /*^compute */ /*_._IF___V72*/ meltfptr[68] = /*_.PROGN___V74*/ meltfptr[73];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5006:/ clear"); /*clear *//*_.RETURN___V73*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.PROGN___V74*/ meltfptr[73] = 0; } ; } else { /*^cond.else */ /*_._IF___V72*/ meltfptr[68] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5011:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NDATAHOOK__V47*/ meltfptr[46]), (melt_ptr_t) (( /*!CLASS_NREP_DATAHOOK */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDHOOK_MODVARBIND", melt_magic_discr ((melt_ptr_t) ( /*_.NDATAHOOK__V47*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NDATAHOOK__V47*/ meltfptr[46]), (9), ( /*_.MODVARBIND__V67*/ meltfptr[66]), "NDHOOK_MODVARBIND"); ; /*^touch */ meltgc_touch ( /*_.NDATAHOOK__V47*/ meltfptr[46]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NDATAHOOK__V47*/ meltfptr[46], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5012:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L24*/ meltfnum[19] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:5012:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L24*/ meltfnum[19]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L25*/ meltfnum[24] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5012:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L25*/ meltfnum[24]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5012; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook updated ndatahook="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAHOOK__V47*/ meltfptr[46]; /*_.MELT_DEBUG_FUN__V77*/ meltfptr[76] = 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___V76*/ meltfptr[73] = /*_.MELT_DEBUG_FUN__V77*/ meltfptr[76];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5012:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L25*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V77*/ meltfptr[76] = 0; } ; } else { /*^cond.else */ /*_._IF___V76*/ meltfptr[73] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5012:/ quasiblock"); /*_.PROGN___V78*/ meltfptr[76] = /*_._IF___V76*/ meltfptr[73];; /*^compute */ /*_.IFCPP___V75*/ meltfptr[69] = /*_.PROGN___V78*/ meltfptr[76];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5012:/ clear"); /*clear *//*_#MELT_NEED_DBG__L24*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_._IF___V76*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.PROGN___V78*/ meltfptr[76] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V75*/ meltfptr[69] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V66*/ meltfptr[62] = /*_.IFCPP___V75*/ meltfptr[69];; MELT_LOCATION ("warmelt-normal.melt:5003:/ clear"); /*clear *//*_.MODVARBIND__V67*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.IFCPP___V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L23*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_._IF___V72*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.IFCPP___V75*/ meltfptr[69] = 0; /*_._IF___V65*/ meltfptr[61] = /*_.LET___V66*/ meltfptr[62];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5002:/ clear"); /*clear *//*_.LET___V66*/ meltfptr[62] = 0; } ; } else { /*^cond.else */ /*_._IF___V65*/ meltfptr[61] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5014:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L26*/ meltfnum[24] = melt_is_instance_of ((melt_ptr_t) ( /*_.SCTYPE__V32*/ meltfptr[24]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout-> tabval[21])));; MELT_LOCATION ("warmelt-normal.melt:5014:/ cond"); /*cond */ if ( /*_#IS_A__L26*/ meltfnum[24]) /*then */ { /*^cond.then */ /*_._IFELSE___V80*/ meltfptr[76] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5014:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sctype"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5014) ? (5014) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V80*/ meltfptr[76] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V79*/ meltfptr[73] = /*_._IFELSE___V80*/ meltfptr[76];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5014:/ clear"); /*clear *//*_#IS_A__L26*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_._IFELSE___V80*/ meltfptr[76] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V79*/ meltfptr[73] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5015:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L27*/ meltfnum[19] = (melt_magic_discr ((melt_ptr_t) ( /*_.SYMBNAME__V29*/ meltfptr[25])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-normal.melt:5015:/ cond"); /*cond */ if ( /*_#IS_STRING__L27*/ meltfnum[19]) /*then */ { /*^cond.then */ /*_._IFELSE___V82*/ meltfptr[67] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5015:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check symbname"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5015) ? (5015) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V82*/ meltfptr[67] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V81*/ meltfptr[66] = /*_._IFELSE___V82*/ meltfptr[67];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5015:/ clear"); /*clear *//*_#IS_STRING__L27*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_._IFELSE___V82*/ meltfptr[67] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V81*/ meltfptr[66] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5016:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE_OR_NULL__L28*/ meltfnum[18] = (( /*_.SINFORMALS__V30*/ meltfptr[26]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.SINFORMALS__V30*/ meltfptr[26])) == MELTOBMAG_MULTIPLE));; MELT_LOCATION ("warmelt-normal.melt:5016:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE_OR_NULL__L28*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#IS_NOT_A__L30*/ meltfnum[19] = !melt_is_instance_of ((melt_ptr_t) ( /*_.SINFORMALS__V30*/ meltfptr[26]), (melt_ptr_t) (( /*!DISCR_VARIADIC_FORMAL_SEQUENCE */ meltfrout->tabval[22])));; /*^compute */ /*_#_IF___L29*/ meltfnum[24] = /*_#IS_NOT_A__L30*/ meltfnum[19];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5016:/ clear"); /*clear *//*_#IS_NOT_A__L30*/ meltfnum[19] = 0; } ; } else { /*^cond.else */ /*_#_IF___L29*/ meltfnum[24] = 0;; } ; MELT_LOCATION ("warmelt-normal.melt:5016:/ cond"); /*cond */ if ( /*_#_IF___L29*/ meltfnum[24]) /*then */ { /*^cond.then */ /*_._IFELSE___V84*/ meltfptr[69] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5016:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sinformals"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5016) ? (5016) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V84*/ meltfptr[69] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V83*/ meltfptr[68] = /*_._IFELSE___V84*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5016:/ clear"); /*clear *//*_#IS_MULTIPLE_OR_NULL__L28*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_#_IF___L29*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_._IFELSE___V84*/ meltfptr[69] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V83*/ meltfptr[68] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5018:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE_OR_NULL__L31*/ meltfnum[19] = (( /*_.SOUTFORMALS__V31*/ meltfptr[20]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.SOUTFORMALS__V31*/ meltfptr[20])) == MELTOBMAG_MULTIPLE));; MELT_LOCATION ("warmelt-normal.melt:5018:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE_OR_NULL__L31*/ meltfnum[19]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#IS_NOT_A__L33*/ meltfnum[24] = !melt_is_instance_of ((melt_ptr_t) ( /*_.SOUTFORMALS__V31*/ meltfptr[20]), (melt_ptr_t) (( /*!DISCR_VARIADIC_FORMAL_SEQUENCE */ meltfrout->tabval[22])));; /*^compute */ /*_#_IF___L32*/ meltfnum[18] = /*_#IS_NOT_A__L33*/ meltfnum[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5018:/ clear"); /*clear *//*_#IS_NOT_A__L33*/ meltfnum[24] = 0; } ; } else { /*^cond.else */ /*_#_IF___L32*/ meltfnum[18] = 0;; } ; MELT_LOCATION ("warmelt-normal.melt:5018:/ cond"); /*cond */ if ( /*_#_IF___L32*/ meltfnum[18]) /*then */ { /*^cond.then */ /*_._IFELSE___V86*/ meltfptr[76] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5018:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check soutformals"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5018) ? (5018) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V86*/ meltfptr[76] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V85*/ meltfptr[62] = /*_._IFELSE___V86*/ meltfptr[76];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5018:/ clear"); /*clear *//*_#IS_MULTIPLE_OR_NULL__L31*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_#_IF___L32*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_._IFELSE___V86*/ meltfptr[76] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V85*/ meltfptr[62] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5020:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L34*/ 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:5020:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L34*/ meltfnum[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L35*/ meltfnum[19] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5020:/ apply"); /*apply */ { union meltparam_un argtab[11]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L35*/ meltfnum[19]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5020; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook shobind="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SHOBIND__V36*/ meltfptr[35]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n oldproc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OLDPROC__V38*/ meltfptr[37]; /*^apply.arg */ argtab[7].meltbp_cstring = " \n nproc="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V42*/ meltfptr[41]; /*^apply.arg */ argtab[9].meltbp_cstring = "\n ndatahook="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAHOOK__V47*/ meltfptr[46]; /*_.MELT_DEBUG_FUN__V89*/ meltfptr[76] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V88*/ meltfptr[69] = /*_.MELT_DEBUG_FUN__V89*/ meltfptr[76];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5020:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L35*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V89*/ meltfptr[76] = 0; } ; } else { /*^cond.else */ /*_._IF___V88*/ meltfptr[69] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5020:/ quasiblock"); /*_.PROGN___V90*/ meltfptr[76] = /*_._IF___V88*/ meltfptr[69];; /*^compute */ /*_.IFCPP___V87*/ meltfptr[67] = /*_.PROGN___V90*/ meltfptr[76];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5020:/ clear"); /*clear *//*_#MELT_NEED_DBG__L34*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_._IF___V88*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.PROGN___V90*/ meltfptr[76] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V87*/ meltfptr[67] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_.MAKE_MAPOBJECT__V91*/ meltfptr[69] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[9])), (40)));; MELT_LOCATION ("warmelt-normal.melt:5022:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_CURPROC", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V4*/ meltfptr[3]), (10), ( /*_.NPROC__V42*/ meltfptr[41]), "NCTX_CURPROC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_SYMBCACHEMAP", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V4*/ meltfptr[3]), (6), ( /*_.MAKE_MAPOBJECT__V91*/ meltfptr[69]), "NCTX_SYMBCACHEMAP"); ; /*^touch */ meltgc_touch ( /*_.NCX__V4*/ meltfptr[3]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NCX__V4*/ meltfptr[3], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5025:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAHOOK__V47*/ meltfptr[46]; /*_.ADD_NCTX_DATA__V92*/ meltfptr[76] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[23])), (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5026:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.INSDATA__V59*/ meltfptr[58]; /*_.ADD_NCTX_DATA__V93*/ meltfptr[92] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[23])), (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_NOT_A__L36*/ meltfnum[18] = !melt_is_instance_of ((melt_ptr_t) ( /*_.SHOBIND__V36*/ meltfptr[35]), (melt_ptr_t) (( /*!CLASS_HOOK_BINDING */ meltfrout->tabval[24])));; MELT_LOCATION ("warmelt-normal.melt:5027:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L36*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:5028:/ locexp"); melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]), ("bad DEFHOOK, not bound to a hook [nested hooks are prohibited]"), (melt_ptr_t) ( /*_.SYMBNAME__V29*/ meltfptr[25])); } ; MELT_LOCATION ("warmelt-normal.melt:5031:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:5031:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:5027:/ quasiblock"); /*_.PROGN___V96*/ meltfptr[95] = /*_.RETURN___V95*/ meltfptr[94];; /*^compute */ /*_._IF___V94*/ meltfptr[93] = /*_.PROGN___V96*/ meltfptr[95];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5027:/ clear"); /*clear *//*_.RETURN___V95*/ meltfptr[94] = 0; /*^clear */ /*clear *//*_.PROGN___V96*/ meltfptr[95] = 0; } ; } else { /*^cond.else */ /*_._IF___V94*/ meltfptr[93] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5033:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L37*/ meltfnum[19] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:5033:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L37*/ meltfnum[19]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L38*/ meltfnum[24] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5033:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L38*/ meltfnum[24]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5033; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook namstrdata="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NAMSTRDATA__V53*/ meltfptr[52]; /*_.MELT_DEBUG_FUN__V99*/ meltfptr[98] = 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___V98*/ meltfptr[95] = /*_.MELT_DEBUG_FUN__V99*/ meltfptr[98];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5033:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L38*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V99*/ meltfptr[98] = 0; } ; } else { /*^cond.else */ /*_._IF___V98*/ meltfptr[95] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5033:/ quasiblock"); /*_.PROGN___V100*/ meltfptr[98] = /*_._IF___V98*/ meltfptr[95];; /*^compute */ /*_.IFCPP___V97*/ meltfptr[94] = /*_.PROGN___V100*/ meltfptr[98];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5033:/ clear"); /*clear *//*_#MELT_NEED_DBG__L37*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_._IF___V98*/ meltfptr[95] = 0; /*^clear */ /*clear *//*_.PROGN___V100*/ meltfptr[98] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V97*/ meltfptr[94] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5034:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NAMSTRDATA__V53*/ meltfptr[52]; /*_.ADD_NCTX_DATA__V101*/ meltfptr[95] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[23])), (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_#GET_INT__L39*/ meltfnum[24] = (melt_get_int ((melt_ptr_t) (( /*!NAMED_NAME */ meltfrout->tabval[25]))));; { MELT_LOCATION ("warmelt-normal.melt:5035:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.SLOTUP__V56*/ meltfptr[55]), ( /*_#GET_INT__L39*/ meltfnum[24]), (melt_ptr_t) ( /*_.NAMSTRDATA__V53*/ meltfptr[52])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5037:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.FORMINTUPLE__V50*/ meltfptr[49]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.FORMSYMBMAP__V49*/ meltfptr[48]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*_.FILL_NORMAL_FORMALS__V102*/ meltfptr[98] = melt_apply ((meltclosure_ptr_t) (( /*!FILL_NORMAL_FORMALS */ meltfrout->tabval[26])), (melt_ptr_t) ( /*_.SINFORMALS__V30*/ meltfptr[26]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5038:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5041:/ 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 = "discr_multiple"; /*_.NORMAL_PREDEF__V104*/ meltfptr[103] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[13])), (melt_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout-> tabval[15])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5038:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATATUPLE */ meltfrout->tabval[27])), (6), "CLASS_NREP_DATATUPLE"); /*_.INST__V106*/ meltfptr[105] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V106*/ meltfptr[105])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V106*/ meltfptr[105]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V106*/ meltfptr[105])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V106*/ meltfptr[105]), (1), ( /*_.SYMBNAME__V29*/ meltfptr[25]), "NDATA_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V106*/ meltfptr[105])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V106*/ meltfptr[105]), (4), ( /*_.NORMAL_PREDEF__V104*/ meltfptr[103]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTUP_COMP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V106*/ meltfptr[105])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V106*/ meltfptr[105]), (5), ( /*_.FORMINTUPLE__V50*/ meltfptr[49]), "NTUP_COMP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V106*/ meltfptr[105], "newly made instance"); ; /*_.NINTUPDATA__V105*/ meltfptr[104] = /*_.INST__V106*/ meltfptr[105];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5044:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NINTUPDATA__V105*/ meltfptr[104]; /*_.ADD_NCTX_DATA__V107*/ meltfptr[106] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[23])), (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_#GET_INT__L40*/ meltfnum[19] = (melt_get_int ((melt_ptr_t) (( /*!HOOKDESC_IN_FORMALS */ meltfrout->tabval[28]))));; { MELT_LOCATION ("warmelt-normal.melt:5045:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.SLOTUP__V56*/ meltfptr[55]), ( /*_#GET_INT__L40*/ meltfnum[19]), (melt_ptr_t) ( /*_.NINTUPDATA__V105*/ meltfptr[104])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5046:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L41*/ meltfnum[40] = /*MELT_NEED_DBG */ #if 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:5046:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L41*/ meltfnum[40]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L42*/ meltfnum[41] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5046:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L42*/ meltfnum[41]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5046; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook nintupdata="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NINTUPDATA__V105*/ meltfptr[104]; /*_.MELT_DEBUG_FUN__V110*/ meltfptr[109] = 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___V109*/ meltfptr[108] = /*_.MELT_DEBUG_FUN__V110*/ meltfptr[109];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5046:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L42*/ meltfnum[41] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V110*/ meltfptr[109] = 0; } ; } else { /*^cond.else */ /*_._IF___V109*/ meltfptr[108] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5046:/ quasiblock"); /*_.PROGN___V111*/ meltfptr[109] = /*_._IF___V109*/ meltfptr[108];; /*^compute */ /*_.IFCPP___V108*/ meltfptr[107] = /*_.PROGN___V111*/ meltfptr[109];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5046:/ clear"); /*clear *//*_#MELT_NEED_DBG__L41*/ meltfnum[40] = 0; /*^clear */ /*clear *//*_._IF___V109*/ meltfptr[108] = 0; /*^clear */ /*clear *//*_.PROGN___V111*/ meltfptr[109] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V108*/ meltfptr[107] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V103*/ meltfptr[102] = /*_.IFCPP___V108*/ meltfptr[107];; MELT_LOCATION ("warmelt-normal.melt:5038:/ clear"); /*clear *//*_.NORMAL_PREDEF__V104*/ meltfptr[103] = 0; /*^clear */ /*clear *//*_.NINTUPDATA__V105*/ meltfptr[104] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V107*/ meltfptr[106] = 0; /*^clear */ /*clear *//*_#GET_INT__L40*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.IFCPP___V108*/ meltfptr[107] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5048:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.FORMOUTUPLE__V51*/ meltfptr[50]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.FORMSYMBMAP__V49*/ meltfptr[48]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*_.FILL_NORMAL_FORMALS__V112*/ meltfptr[108] = melt_apply ((meltclosure_ptr_t) (( /*!FILL_NORMAL_FORMALS */ meltfrout->tabval[26])), (melt_ptr_t) ( /*_.SOUTFORMALS__V31*/ meltfptr[20]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5049:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5052:/ 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 = "discr_multiple"; /*_.NORMAL_PREDEF__V114*/ meltfptr[103] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[13])), (melt_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout-> tabval[15])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5049:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATATUPLE */ meltfrout->tabval[27])), (6), "CLASS_NREP_DATATUPLE"); /*_.INST__V116*/ meltfptr[106] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V116*/ meltfptr[106])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V116*/ meltfptr[106]), (0), ( /*_.SLOC__V17*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V116*/ meltfptr[106])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V116*/ meltfptr[106]), (1), ( /*_.SYMBNAME__V29*/ meltfptr[25]), "NDATA_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V116*/ meltfptr[106])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V116*/ meltfptr[106]), (4), ( /*_.NORMAL_PREDEF__V114*/ meltfptr[103]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTUP_COMP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V116*/ meltfptr[106])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V116*/ meltfptr[106]), (5), ( /*_.FORMOUTUPLE__V51*/ meltfptr[50]), "NTUP_COMP"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V116*/ meltfptr[106], "newly made instance"); ; /*_.NOUTUPDATA__V115*/ meltfptr[104] = /*_.INST__V116*/ meltfptr[106];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5055:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NOUTUPDATA__V115*/ meltfptr[104]; /*_.ADD_NCTX_DATA__V117*/ meltfptr[107] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[23])), (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_#GET_INT__L43*/ meltfnum[41] = (melt_get_int ((melt_ptr_t) (( /*!HOOKDESC_OUT_FORMALS */ meltfrout->tabval[29]))));; { MELT_LOCATION ("warmelt-normal.melt:5056:/ locexp"); meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.SLOTUP__V56*/ meltfptr[55]), ( /*_#GET_INT__L43*/ meltfnum[41]), (melt_ptr_t) ( /*_.NOUTUPDATA__V115*/ meltfptr[104])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5057:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L44*/ meltfnum[40] = /*MELT_NEED_DBG */ #if 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:5057:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L44*/ meltfnum[40]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L45*/ meltfnum[19] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5057:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L45*/ meltfnum[19]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5057; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook noutupdata="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NOUTUPDATA__V115*/ meltfptr[104]; /*_.MELT_DEBUG_FUN__V120*/ meltfptr[119] = 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___V119*/ meltfptr[118] = /*_.MELT_DEBUG_FUN__V120*/ meltfptr[119];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5057:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L45*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V120*/ meltfptr[119] = 0; } ; } else { /*^cond.else */ /*_._IF___V119*/ meltfptr[118] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5057:/ quasiblock"); /*_.PROGN___V121*/ meltfptr[119] = /*_._IF___V119*/ meltfptr[118];; /*^compute */ /*_.IFCPP___V118*/ meltfptr[117] = /*_.PROGN___V121*/ meltfptr[119];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5057:/ clear"); /*clear *//*_#MELT_NEED_DBG__L44*/ meltfnum[40] = 0; /*^clear */ /*clear *//*_._IF___V119*/ meltfptr[118] = 0; /*^clear */ /*clear *//*_.PROGN___V121*/ meltfptr[119] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V118*/ meltfptr[117] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V113*/ meltfptr[109] = /*_.IFCPP___V118*/ meltfptr[117];; MELT_LOCATION ("warmelt-normal.melt:5049:/ clear"); /*clear *//*_.NORMAL_PREDEF__V114*/ meltfptr[103] = 0; /*^clear */ /*clear *//*_.NOUTUPDATA__V115*/ meltfptr[104] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V117*/ meltfptr[107] = 0; /*^clear */ /*clear *//*_#GET_INT__L43*/ meltfnum[41] = 0; /*^clear */ /*clear *//*_.IFCPP___V118*/ meltfptr[117] = 0; /*_#GET_INT__L46*/ meltfnum[19] = (melt_get_int ((melt_ptr_t) (( /*!HOOKDESC_CTYPE */ meltfrout->tabval[30]))));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5059:/ 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 = "hook ctype"; /*_.NORMAL_PREDEF__V122*/ meltfptr[118] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[13])), (melt_ptr_t) ( /*_.SCTYPE__V32*/ meltfptr[24]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; { /*^locexp */ meltgc_multiple_put_nth ((melt_ptr_t) ( /*_.SLOTUP__V56*/ meltfptr[55]), ( /*_#GET_INT__L46*/ meltfnum[19]), (melt_ptr_t) ( /*_.NORMAL_PREDEF__V122*/ meltfptr[118])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5061:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L47*/ meltfnum[40] = /*MELT_NEED_DBG */ #if 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:5061:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L47*/ meltfnum[40]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L48*/ meltfnum[41] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5061:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L48*/ meltfnum[41]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5061; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook slotup="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SLOTUP__V56*/ meltfptr[55]; /*_.MELT_DEBUG_FUN__V125*/ meltfptr[104] = 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___V124*/ meltfptr[103] = /*_.MELT_DEBUG_FUN__V125*/ meltfptr[104];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5061:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L48*/ meltfnum[41] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V125*/ meltfptr[104] = 0; } ; } else { /*^cond.else */ /*_._IF___V124*/ meltfptr[103] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5061:/ quasiblock"); /*_.PROGN___V126*/ meltfptr[107] = /*_._IF___V124*/ meltfptr[103];; /*^compute */ /*_.IFCPP___V123*/ meltfptr[119] = /*_.PROGN___V126*/ meltfptr[107];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5061:/ clear"); /*clear *//*_#MELT_NEED_DBG__L47*/ meltfnum[40] = 0; /*^clear */ /*clear *//*_._IF___V124*/ meltfptr[103] = 0; /*^clear */ /*clear *//*_.PROGN___V126*/ meltfptr[107] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V123*/ meltfptr[119] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5063:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L49*/ meltfnum[41] = /*MELT_NEED_DBG */ #if 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:5063:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L49*/ meltfnum[41]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L50*/ meltfnum[40] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5063:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L50*/ meltfnum[40]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5063; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook updated ncx="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n .. nproc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V42*/ meltfptr[41]; /*_.MELT_DEBUG_FUN__V129*/ meltfptr[103] = 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___V128*/ meltfptr[104] = /*_.MELT_DEBUG_FUN__V129*/ meltfptr[103];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5063:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L50*/ meltfnum[40] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V129*/ meltfptr[103] = 0; } ; } else { /*^cond.else */ /*_._IF___V128*/ meltfptr[104] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5063:/ quasiblock"); /*_.PROGN___V130*/ meltfptr[107] = /*_._IF___V128*/ meltfptr[104];; /*^compute */ /*_.IFCPP___V127*/ meltfptr[117] = /*_.PROGN___V130*/ meltfptr[107];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5063:/ clear"); /*clear *//*_#MELT_NEED_DBG__L49*/ meltfnum[41] = 0; /*^clear */ /*clear *//*_._IF___V128*/ meltfptr[104] = 0; /*^clear */ /*clear *//*_.PROGN___V130*/ meltfptr[107] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V127*/ meltfptr[117] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SINFORMALS__V30*/ meltfptr[26]); for ( /*_#IX__L51*/ meltfnum[40] = 0; ( /*_#IX__L51*/ meltfnum[40] >= 0) && ( /*_#IX__L51*/ meltfnum[40] < meltcit1__EACHTUP_ln); /*_#IX__L51*/ meltfnum[40]++) { /*_.FBI__V131*/ meltfptr[103] = melt_multiple_nth ((melt_ptr_t) ( /*_.SINFORMALS__V30*/ meltfptr[26]), /*_#IX__L51*/ meltfnum[40]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5067:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L52*/ meltfnum[41] = melt_is_instance_of ((melt_ptr_t) ( /*_.FBI__V131*/ meltfptr[103]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[31])));; MELT_LOCATION ("warmelt-normal.melt:5067:/ cond"); /*cond */ if ( /*_#IS_A__L52*/ meltfnum[41]) /*then */ { /*^cond.then */ /*_._IFELSE___V133*/ meltfptr[107] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5067:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fbi"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5067) ? (5067) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V133*/ meltfptr[107] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V132*/ meltfptr[104] = /*_._IFELSE___V133*/ meltfptr[107];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5067:/ clear"); /*clear *//*_#IS_A__L52*/ meltfnum[41] = 0; /*^clear */ /*clear *//*_._IFELSE___V133*/ meltfptr[107] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V132*/ meltfptr[104] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5068:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.FBI__V131*/ meltfptr[103]; /*_.PUT_ENV__V134*/ meltfptr[107] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[32])), (melt_ptr_t) ( /*_.NEWENV__V37*/ meltfptr[36]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; if ( /*_#IX__L51*/ meltfnum[40] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:5064:/ clear"); /*clear *//*_.FBI__V131*/ meltfptr[103] = 0; /*^clear */ /*clear *//*_#IX__L51*/ meltfnum[40] = 0; /*^clear */ /*clear *//*_.IFCPP___V132*/ meltfptr[104] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V134*/ meltfptr[107] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SOUTFORMALS__V31*/ meltfptr[20]); for ( /*_#IX__L53*/ meltfnum[41] = 0; ( /*_#IX__L53*/ meltfnum[41] >= 0) && ( /*_#IX__L53*/ meltfnum[41] < meltcit2__EACHTUP_ln); /*_#IX__L53*/ meltfnum[41]++) { /*_.FBO__V135*/ meltfptr[134] = melt_multiple_nth ((melt_ptr_t) ( /*_.SOUTFORMALS__V31*/ meltfptr[20]), /*_#IX__L53*/ meltfnum[41]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5072:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L54*/ meltfnum[53] = melt_is_instance_of ((melt_ptr_t) ( /*_.FBO__V135*/ meltfptr[134]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[31])));; MELT_LOCATION ("warmelt-normal.melt:5072:/ cond"); /*cond */ if ( /*_#IS_A__L54*/ meltfnum[53]) /*then */ { /*^cond.then */ /*_._IFELSE___V137*/ meltfptr[136] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5072:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fbo"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5072) ? (5072) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V137*/ meltfptr[136] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V136*/ meltfptr[135] = /*_._IFELSE___V137*/ meltfptr[136];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5072:/ clear"); /*clear *//*_#IS_A__L54*/ meltfnum[53] = 0; /*^clear */ /*clear *//*_._IFELSE___V137*/ meltfptr[136] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V136*/ meltfptr[135] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5073:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.FBO__V135*/ meltfptr[134]; /*_.PUT_ENV__V138*/ meltfptr[136] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[32])), (melt_ptr_t) ( /*_.NEWENV__V37*/ meltfptr[36]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; if ( /*_#IX__L53*/ meltfnum[41] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:5069:/ clear"); /*clear *//*_.FBO__V135*/ meltfptr[134] = 0; /*^clear */ /*clear *//*_#IX__L53*/ meltfnum[41] = 0; /*^clear */ /*clear *//*_.IFCPP___V136*/ meltfptr[135] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V138*/ meltfptr[136] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5074:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NPROC__V42*/ meltfptr[41]), (melt_ptr_t) (( /*!CLASS_NREP_HOOKPROC */ meltfrout->tabval[10]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRHOOK_INB", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V42*/ meltfptr[41]), (3), ( /*_.SINFORMALS__V30*/ meltfptr[26]), "NRHOOK_INB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRHOOK_OUTB", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V42*/ meltfptr[41]), (4), ( /*_.SOUTFORMALS__V31*/ meltfptr[20]), "NRHOOK_OUTB"); ; /*^touch */ meltgc_touch ( /*_.NPROC__V42*/ meltfptr[41]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NPROC__V42*/ meltfptr[41], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5077:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NEWENV__V37*/ meltfptr[36]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @ENV_PROC", melt_magic_discr ((melt_ptr_t) ( /*_.NEWENV__V37*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NEWENV__V37*/ meltfptr[36]), (2), ( /*_.NPROC__V42*/ meltfptr[41]), "ENV_PROC"); ; /*^touch */ meltgc_touch ( /*_.NEWENV__V37*/ meltfptr[36]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NEWENV__V37*/ meltfptr[36], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5078:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L55*/ meltfnum[53] = /*MELT_NEED_DBG */ #if 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:5078:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L55*/ meltfnum[53]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L56*/ meltfnum[55] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5078:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L56*/ meltfnum[55]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5078; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook newenv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V37*/ meltfptr[36]; /*_.MELT_DEBUG_FUN__V141*/ meltfptr[140] = 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___V140*/ meltfptr[139] = /*_.MELT_DEBUG_FUN__V141*/ meltfptr[140];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5078:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L56*/ meltfnum[55] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V141*/ meltfptr[140] = 0; } ; } else { /*^cond.else */ /*_._IF___V140*/ meltfptr[139] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5078:/ quasiblock"); /*_.PROGN___V142*/ meltfptr[140] = /*_._IF___V140*/ meltfptr[139];; /*^compute */ /*_.IFCPP___V139*/ meltfptr[138] = /*_.PROGN___V142*/ meltfptr[140];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5078:/ clear"); /*clear *//*_#MELT_NEED_DBG__L55*/ meltfnum[53] = 0; /*^clear */ /*clear *//*_._IF___V140*/ meltfptr[139] = 0; /*^clear */ /*clear *//*_.PROGN___V142*/ meltfptr[140] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V139*/ meltfptr[138] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5081:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NPROC__V42*/ meltfptr[41]), (melt_ptr_t) (( /*!CLASS_NREP_HOOKPROC */ meltfrout->tabval[10]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRHOOK_MAPDATA", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V42*/ meltfptr[41]), (8), ( /*_.NMAPDATA__V41*/ meltfptr[40]), "NRHOOK_MAPDATA"); ; /*^touch */ meltgc_touch ( /*_.NPROC__V42*/ meltfptr[41]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NPROC__V42*/ meltfptr[41], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5082:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L57*/ meltfnum[55] = /*MELT_NEED_DBG */ #if 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:5082:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L57*/ meltfnum[55]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L58*/ meltfnum[53] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5082:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L58*/ meltfnum[53]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5082; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook nproc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V42*/ meltfptr[41]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n with nmapdata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NMAPDATA__V41*/ meltfptr[40]; /*_.MELT_DEBUG_FUN__V145*/ meltfptr[144] = 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___V144*/ meltfptr[140] = /*_.MELT_DEBUG_FUN__V145*/ meltfptr[144];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5082:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L58*/ meltfnum[53] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V145*/ meltfptr[144] = 0; } ; } else { /*^cond.else */ /*_._IF___V144*/ meltfptr[140] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5082:/ quasiblock"); /*_.PROGN___V146*/ meltfptr[144] = /*_._IF___V144*/ meltfptr[140];; /*^compute */ /*_.IFCPP___V143*/ meltfptr[139] = /*_.PROGN___V146*/ meltfptr[144];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5082:/ clear"); /*clear *//*_#MELT_NEED_DBG__L57*/ meltfnum[55] = 0; /*^clear */ /*clear *//*_._IF___V144*/ meltfptr[140] = 0; /*^clear */ /*clear *//*_.PROGN___V146*/ meltfptr[144] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V143*/ meltfptr[139] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5084:/ 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__V37*/ meltfptr[36]; /*^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 *) & /*_.NBINDINGS__V149*/ meltfptr[148]; /*^multiapply.appl */ /*_.NBODY__V148*/ meltfptr[144] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[33])), (melt_ptr_t) ( /*_.SBODY__V35*/ meltfptr[34]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5087:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L59*/ meltfnum[53] = /*MELT_NEED_DBG */ #if 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:5087:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L59*/ meltfnum[53]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L60*/ meltfnum[55] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5087:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L60*/ meltfnum[55]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5087; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook nbody="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBODY__V148*/ meltfptr[144]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. nbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V149*/ meltfptr[148]; /*_.MELT_DEBUG_FUN__V152*/ meltfptr[151] = 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___V151*/ meltfptr[150] = /*_.MELT_DEBUG_FUN__V152*/ meltfptr[151];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5087:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L60*/ meltfnum[55] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V152*/ meltfptr[151] = 0; } ; } else { /*^cond.else */ /*_._IF___V151*/ meltfptr[150] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5087:/ quasiblock"); /*_.PROGN___V153*/ meltfptr[151] = /*_._IF___V151*/ meltfptr[150];; /*^compute */ /*_.IFCPP___V150*/ meltfptr[149] = /*_.PROGN___V153*/ meltfptr[151];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5087:/ clear"); /*clear *//*_#MELT_NEED_DBG__L59*/ meltfnum[53] = 0; /*^clear */ /*clear *//*_._IF___V151*/ meltfptr[150] = 0; /*^clear */ /*clear *//*_.PROGN___V153*/ meltfptr[151] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V150*/ meltfptr[149] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5089:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NCTX_PROCLIST"); /*_.NCPLIS__V155*/ meltfptr[151] = slot; }; ; } else { /*^cond.else */ /*_.NCPLIS__V155*/ meltfptr[151] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:5091:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NCPLIS__V155*/ meltfptr[151]), (melt_ptr_t) ( /*_.NPROC__V42*/ meltfptr[41])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5092:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L61*/ meltfnum[55] = /*MELT_NEED_DBG */ #if 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:5092:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L61*/ meltfnum[55]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L62*/ meltfnum[53] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5092:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L62*/ meltfnum[53]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5092; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook sbody="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SBODY__V35*/ meltfptr[34]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. updated ncx="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[7].meltbp_cstring = "\n.. ncplis="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NCPLIS__V155*/ meltfptr[151]; /*_.MELT_DEBUG_FUN__V158*/ meltfptr[157] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V157*/ meltfptr[156] = /*_.MELT_DEBUG_FUN__V158*/ meltfptr[157];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5092:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L62*/ meltfnum[53] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V158*/ meltfptr[157] = 0; } ; } else { /*^cond.else */ /*_._IF___V157*/ meltfptr[156] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5092:/ quasiblock"); /*_.PROGN___V159*/ meltfptr[157] = /*_._IF___V157*/ meltfptr[156];; /*^compute */ /*_.IFCPP___V156*/ meltfptr[155] = /*_.PROGN___V159*/ meltfptr[157];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5092:/ clear"); /*clear *//*_#MELT_NEED_DBG__L61*/ meltfnum[55] = 0; /*^clear */ /*clear *//*_._IF___V157*/ meltfptr[156] = 0; /*^clear */ /*clear *//*_.PROGN___V159*/ meltfptr[157] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V156*/ meltfptr[155] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V154*/ meltfptr[150] = /*_.IFCPP___V156*/ meltfptr[155];; MELT_LOCATION ("warmelt-normal.melt:5089:/ clear"); /*clear *//*_.NCPLIS__V155*/ meltfptr[151] = 0; /*^clear */ /*clear *//*_.IFCPP___V156*/ meltfptr[155] = 0; { MELT_LOCATION ("warmelt-normal.melt:5094:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normexp_defhook"), (12)); #endif ; } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit3__EACHTUP */ long meltcit3__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.NBINDINGS__V149*/ meltfptr[148]); for ( /*_#BIX__L63*/ meltfnum[53] = 0; ( /*_#BIX__L63*/ meltfnum[53] >= 0) && ( /*_#BIX__L63*/ meltfnum[53] < meltcit3__EACHTUP_ln); /*_#BIX__L63*/ meltfnum[53]++) { /*_.NBI__V160*/ meltfptr[156] = melt_multiple_nth ((melt_ptr_t) ( /*_.NBINDINGS__V149*/ meltfptr[148]), /*_#BIX__L63*/ meltfnum[53]); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5099:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBI__V160*/ meltfptr[156]; /*_.PUT_ENV__V161*/ meltfptr[157] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[32])), (melt_ptr_t) ( /*_.NEWENV__V37*/ meltfptr[36]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; if ( /*_#BIX__L63*/ meltfnum[53] < 0) break; } /* end foreach_in_multiple meltcit3__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:5096:/ clear"); /*clear *//*_.NBI__V160*/ meltfptr[156] = 0; /*^clear */ /*clear *//*_#BIX__L63*/ meltfnum[53] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V161*/ meltfptr[157] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5100:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L64*/ meltfnum[55] = /*MELT_NEED_DBG */ #if 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:5100:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L64*/ meltfnum[55]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L65*/ meltfnum[64] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5100:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L65*/ meltfnum[64]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5100; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook updated newenv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V37*/ meltfptr[36]; /*_.MELT_DEBUG_FUN__V164*/ meltfptr[163] = 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___V163*/ meltfptr[155] = /*_.MELT_DEBUG_FUN__V164*/ meltfptr[163];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5100:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L65*/ meltfnum[64] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V164*/ meltfptr[163] = 0; } ; } else { /*^cond.else */ /*_._IF___V163*/ meltfptr[155] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5100:/ quasiblock"); /*_.PROGN___V165*/ meltfptr[163] = /*_._IF___V163*/ meltfptr[155];; /*^compute */ /*_.IFCPP___V162*/ meltfptr[151] = /*_.PROGN___V165*/ meltfptr[163];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5100:/ clear"); /*clear *//*_#MELT_NEED_DBG__L64*/ meltfnum[55] = 0; /*^clear */ /*clear *//*_._IF___V163*/ meltfptr[155] = 0; /*^clear */ /*clear *//*_.PROGN___V165*/ meltfptr[163] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V162*/ meltfptr[151] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5102:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_SYMBCACHEMAP", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V4*/ meltfptr[3]), (6), ( /*_.OLDSYMBCACHE__V39*/ meltfptr[38]), "NCTX_SYMBCACHEMAP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_CURPROC", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V4*/ meltfptr[3]), (10), ( /*_.OLDPROC__V38*/ meltfptr[37]), "NCTX_CURPROC"); ; /*^touch */ meltgc_touch ( /*_.NCX__V4*/ meltfptr[3]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NCX__V4*/ meltfptr[3], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5106:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L66*/ meltfnum[64] = /*MELT_NEED_DBG */ #if 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:5106:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L66*/ meltfnum[64]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L67*/ meltfnum[55] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5106:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L67*/ meltfnum[55]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5106; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook restored ncx="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V168*/ meltfptr[167] = 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___V167*/ meltfptr[163] = /*_.MELT_DEBUG_FUN__V168*/ meltfptr[167];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5106:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L67*/ meltfnum[55] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V168*/ meltfptr[167] = 0; } ; } else { /*^cond.else */ /*_._IF___V167*/ meltfptr[163] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5106:/ quasiblock"); /*_.PROGN___V169*/ meltfptr[167] = /*_._IF___V167*/ meltfptr[163];; /*^compute */ /*_.IFCPP___V166*/ meltfptr[155] = /*_.PROGN___V169*/ meltfptr[167];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5106:/ clear"); /*clear *//*_#MELT_NEED_DBG__L66*/ meltfnum[64] = 0; /*^clear */ /*clear *//*_._IF___V167*/ meltfptr[163] = 0; /*^clear */ /*clear *//*_.PROGN___V169*/ meltfptr[167] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V166*/ meltfptr[155] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5108:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V149*/ meltfptr[148]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[16]; /*_.NSEQ__V171*/ meltfptr[167] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LETSEQ */ meltfrout->tabval[34])), (melt_ptr_t) ( /*_.NBODY__V148*/ meltfptr[144]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_#NBCLOSBIND__L68*/ meltfnum[55] = (melt_list_length ((melt_ptr_t) ( /*_.CLOSBINDLIST__V40*/ meltfptr[39])));; MELT_LOCATION ("warmelt-normal.melt:5114:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V173*/ meltfptr[172] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_39 */ meltfrout-> tabval[39])), (3)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V173*/ meltfptr[172])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V173*/ meltfptr[172]))); ((meltclosure_ptr_t) /*_.LAMBDA___V173*/ meltfptr[172])->tabval[0] = (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V173*/ meltfptr[172])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V173*/ meltfptr[172]))); ((meltclosure_ptr_t) /*_.LAMBDA___V173*/ meltfptr[172])->tabval[1] = (melt_ptr_t) ( /*_.NCX__V4*/ meltfptr[3]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V173*/ meltfptr[172])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V173*/ meltfptr[172]))); ((meltclosure_ptr_t) /*_.LAMBDA___V173*/ meltfptr[172])->tabval[2] = (melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[16]); ; /*_.LAMBDA___V172*/ meltfptr[171] = /*_.LAMBDA___V173*/ meltfptr[172];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5111:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!DISCR_MULTIPLE */ meltfrout->tabval[15]); /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V172*/ meltfptr[171]; /*_.CLOSVTUP__V174*/ meltfptr[173] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[35])), (melt_ptr_t) ( /*_.CLOSBINDLIST__V40*/ meltfptr[39]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5125:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L69*/ meltfnum[64] = /*MELT_NEED_DBG */ #if 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:5125:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L69*/ meltfnum[64]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L70*/ meltfnum[69] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5125:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L70*/ meltfnum[69]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5125; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook nseq="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NSEQ__V171*/ meltfptr[167]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n .. closvtup="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CLOSVTUP__V174*/ meltfptr[173]; /*_.MELT_DEBUG_FUN__V177*/ meltfptr[176] = 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___V176*/ meltfptr[175] = /*_.MELT_DEBUG_FUN__V177*/ meltfptr[176];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5125:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L70*/ meltfnum[69] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V177*/ meltfptr[176] = 0; } ; } else { /*^cond.else */ /*_._IF___V176*/ meltfptr[175] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5125:/ quasiblock"); /*_.PROGN___V178*/ meltfptr[176] = /*_._IF___V176*/ meltfptr[175];; /*^compute */ /*_.IFCPP___V175*/ meltfptr[174] = /*_.PROGN___V178*/ meltfptr[176];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5125:/ clear"); /*clear *//*_#MELT_NEED_DBG__L69*/ meltfnum[64] = 0; /*^clear */ /*clear *//*_._IF___V176*/ meltfptr[175] = 0; /*^clear */ /*clear *//*_.PROGN___V178*/ meltfptr[176] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V175*/ meltfptr[174] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5126:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NPROC__V42*/ meltfptr[41]), (melt_ptr_t) (( /*!CLASS_NREP_ANYPROC */ meltfrout->tabval[40]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPROC_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V42*/ meltfptr[41]), (1), ( /*_.NSEQ__V171*/ meltfptr[167]), "NPROC_BODY"); ; /*^touch */ meltgc_touch ( /*_.NPROC__V42*/ meltfptr[41]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NPROC__V42*/ meltfptr[41], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5127:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NDATAHOOK__V47*/ meltfptr[46]), (melt_ptr_t) (( /*!CLASS_NREP_DATAHOOK */ meltfrout->tabval[12]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDHOOK_CLOSV", melt_magic_discr ((melt_ptr_t) ( /*_.NDATAHOOK__V47*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NDATAHOOK__V47*/ meltfptr[46]), (7), ( /*_.CLOSVTUP__V174*/ meltfptr[173]), "NDHOOK_CLOSV"); ; /*^touch */ meltgc_touch ( /*_.NDATAHOOK__V47*/ meltfptr[46]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NDATAHOOK__V47*/ meltfptr[46], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5128:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.SHOBIND__V36*/ meltfptr[35]), (melt_ptr_t) (( /*!CLASS_FIXED_BINDING */ meltfrout->tabval[41]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @FIXBIND_DATA", melt_magic_discr ((melt_ptr_t) ( /*_.SHOBIND__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.SHOBIND__V36*/ meltfptr[35]), (1), ( /*_.NDATAHOOK__V47*/ meltfptr[46]), "FIXBIND_DATA"); ; /*^touch */ meltgc_touch ( /*_.SHOBIND__V36*/ meltfptr[35]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.SHOBIND__V36*/ meltfptr[35], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5129:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L71*/ meltfnum[69] = /*MELT_NEED_DBG */ #if 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:5129:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L71*/ meltfnum[69]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L72*/ meltfnum[64] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5129:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L72*/ meltfnum[64]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5129; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook final nproc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V42*/ meltfptr[41]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. ndatahook="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAHOOK__V47*/ meltfptr[46]; /*^apply.arg */ argtab[7].meltbp_cstring = "\n.. shobind="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.SHOBIND__V36*/ meltfptr[35]; /*_.MELT_DEBUG_FUN__V181*/ meltfptr[180] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V180*/ meltfptr[176] = /*_.MELT_DEBUG_FUN__V181*/ meltfptr[180];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5129:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L72*/ meltfnum[64] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V181*/ meltfptr[180] = 0; } ; } else { /*^cond.else */ /*_._IF___V180*/ meltfptr[176] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5129:/ quasiblock"); /*_.PROGN___V182*/ meltfptr[180] = /*_._IF___V180*/ meltfptr[176];; /*^compute */ /*_.IFCPP___V179*/ meltfptr[175] = /*_.PROGN___V182*/ meltfptr[180];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5129:/ clear"); /*clear *//*_#MELT_NEED_DBG__L71*/ meltfnum[69] = 0; /*^clear */ /*clear *//*_._IF___V180*/ meltfptr[176] = 0; /*^clear */ /*clear *//*_.PROGN___V182*/ meltfptr[180] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V179*/ meltfptr[175] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5132:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L73*/ meltfnum[64] = /*MELT_NEED_DBG */ #if 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:5132:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L73*/ meltfnum[64]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L74*/ meltfnum[69] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5132:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L74*/ meltfnum[69]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5132; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook result nproc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V42*/ meltfptr[41]; /*_.MELT_DEBUG_FUN__V185*/ meltfptr[184] = 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___V184*/ meltfptr[180] = /*_.MELT_DEBUG_FUN__V185*/ meltfptr[184];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5132:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L74*/ meltfnum[69] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V185*/ meltfptr[184] = 0; } ; } else { /*^cond.else */ /*_._IF___V184*/ meltfptr[180] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5132:/ quasiblock"); /*_.PROGN___V186*/ meltfptr[184] = /*_._IF___V184*/ meltfptr[180];; /*^compute */ /*_.IFCPP___V183*/ meltfptr[176] = /*_.PROGN___V186*/ meltfptr[184];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5132:/ clear"); /*clear *//*_#MELT_NEED_DBG__L73*/ meltfnum[64] = 0; /*^clear */ /*clear *//*_._IF___V184*/ meltfptr[180] = 0; /*^clear */ /*clear *//*_.PROGN___V186*/ meltfptr[184] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V183*/ meltfptr[176] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5133:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.NPROC__V42*/ meltfptr[41];; MELT_LOCATION ("warmelt-normal.melt:5133:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) (( /*nil */ NULL)); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V170*/ meltfptr[163] = /*_.RETURN___V187*/ meltfptr[180];; MELT_LOCATION ("warmelt-normal.melt:5108:/ clear"); /*clear *//*_.NSEQ__V171*/ meltfptr[167] = 0; /*^clear */ /*clear *//*_#NBCLOSBIND__L68*/ meltfnum[55] = 0; /*^clear */ /*clear *//*_.LAMBDA___V172*/ meltfptr[171] = 0; /*^clear */ /*clear *//*_.CLOSVTUP__V174*/ meltfptr[173] = 0; /*^clear */ /*clear *//*_.IFCPP___V175*/ meltfptr[174] = 0; /*^clear */ /*clear *//*_.IFCPP___V179*/ meltfptr[175] = 0; /*^clear */ /*clear *//*_.IFCPP___V183*/ meltfptr[176] = 0; /*^clear */ /*clear *//*_.RETURN___V187*/ meltfptr[180] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V147*/ meltfptr[140] = /*_.LET___V170*/ meltfptr[163];; MELT_LOCATION ("warmelt-normal.melt:5084:/ clear"); /*clear *//*_.IFCPP___V150*/ meltfptr[149] = 0; /*^clear */ /*clear *//*_.LET___V154*/ meltfptr[150] = 0; /*^clear */ /*clear *//*_.IFCPP___V162*/ meltfptr[151] = 0; /*^clear */ /*clear *//*_.IFCPP___V166*/ meltfptr[155] = 0; /*^clear */ /*clear *//*_.LET___V170*/ meltfptr[163] = 0; /*^clear */ /*clear *//*_.NBINDINGS__V149*/ meltfptr[148] = 0; /*_.LET___V16*/ meltfptr[14] = /*_.MULTI___V147*/ meltfptr[140];; MELT_LOCATION ("warmelt-normal.melt:4932:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SYMB__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.IFCPP___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.LET___V23*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.SYMBNAME__V29*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.SINFORMALS__V30*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.SOUTFORMALS__V31*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.SCTYPE__V32*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.SPREDEF__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.SMODVAR__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.SBODY__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.SHOBIND__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.NEWENV__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.OLDPROC__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.OLDSYMBCACHE__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.CLOSBINDLIST__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.NMAPDATA__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.NPROC__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.DESCRHOOK__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.NDATAHOOK__V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#plI__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_#stI__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_#plI__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.FORMSYMBMAP__V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.FORMINTUPLE__V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.FORMOUTUPLE__V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.NAMSTRDATA__V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.CLASS_FIELDS__V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_#MULTIPLE_LENGTH__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.SLOTUP__V56*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_#OBJ_HASH__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MAKE_INTEGERBOX__V58*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.INSDATA__V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.IFCPP___V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_._IF___V65*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.IFCPP___V79*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_.IFCPP___V81*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.IFCPP___V83*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.IFCPP___V85*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.IFCPP___V87*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.MAKE_MAPOBJECT__V91*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V92*/ meltfptr[76] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V93*/ meltfptr[92] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L36*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_._IF___V94*/ meltfptr[93] = 0; /*^clear */ /*clear *//*_.IFCPP___V97*/ meltfptr[94] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V101*/ meltfptr[95] = 0; /*^clear */ /*clear *//*_#GET_INT__L39*/ meltfnum[24] = 0; /*^clear */ /*clear *//*_.FILL_NORMAL_FORMALS__V102*/ meltfptr[98] = 0; /*^clear */ /*clear *//*_.LET___V103*/ meltfptr[102] = 0; /*^clear */ /*clear *//*_.FILL_NORMAL_FORMALS__V112*/ meltfptr[108] = 0; /*^clear */ /*clear *//*_.LET___V113*/ meltfptr[109] = 0; /*^clear */ /*clear *//*_#GET_INT__L46*/ meltfnum[19] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V122*/ meltfptr[118] = 0; /*^clear */ /*clear *//*_.IFCPP___V123*/ meltfptr[119] = 0; /*^clear */ /*clear *//*_.IFCPP___V127*/ meltfptr[117] = 0; /*^clear */ /*clear *//*_.IFCPP___V139*/ meltfptr[138] = 0; /*^clear */ /*clear *//*_.IFCPP___V143*/ meltfptr[139] = 0; /*^clear */ /*clear *//*_.MULTI___V147*/ meltfptr[140] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:4927:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:4927:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_DEFHOOK", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_89_WARMELTmiNORMAL_NORMEXP_DEFHOOK_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_89_WARMELTmiNORMAL_NORMEXP_DEFHOOK */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_90_WARMELTmiNORMAL_LAMBDA_cl27 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_90_WARMELTmiNORMAL_LAMBDA_cl27_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_90_WARMELTmiNORMAL_LAMBDA_cl27_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 15 melt_ptr_t mcfr_varptr[15]; #define MELTFRAM_NBVARNUM 5 long mcfr_varnum[5]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_90_WARMELTmiNORMAL_LAMBDA_cl27 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_90_WARMELTmiNORMAL_LAMBDA_cl27_st *) meltfirstargp_; /* use arguments meltrout_90_WARMELTmiNORMAL_LAMBDA_cl27 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 15; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_90_WARMELTmiNORMAL_LAMBDA_cl27 nbval 15*/ meltfram__.mcfr_nbvar = 15 /*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_cl27", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5114:/ getarg"); /*_.BND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5115:/ 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:5115:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5115:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5115; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook/lambda bnd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BND__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:5115:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_._IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5115:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_._IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5115:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 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:5116:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.BND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:5116:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V8*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5116:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_defhook/lambda check bnd"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5116) ? (5116) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V8*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[3] = /*_._IFELSE___V8*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5116:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[1] = 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:5117:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.BND__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.SY__V10*/ meltfptr[9] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5119:/ msend"); /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~ENV */ meltfclos->tabval[0]); /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & ( /*~NCX */ meltfclos->tabval[1]); /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & ( /*~SLOC */ meltfclos->tabval[2]); /*_.NSY__V11*/ meltfptr[10] = meltgc_send ((melt_ptr_t) ( /*_.SY__V10*/ meltfptr[9]), (melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[2])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5121:/ 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:5121:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5121:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5121; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_defhook/lambda sy="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SY__V10*/ meltfptr[9]; /*^apply.arg */ argtab[5].meltbp_cstring = " nsy="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NSY__V11*/ meltfptr[10]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 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___V13*/ meltfptr[12] = /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5121:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_._IF___V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5121:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[11] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5121:/ 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[11] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V9*/ meltfptr[4] = /*_.NSY__V11*/ meltfptr[10];; MELT_LOCATION ("warmelt-normal.melt:5117:/ clear"); /*clear *//*_.SY__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.NSY__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[11] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5114:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V9*/ meltfptr[4];; { MELT_LOCATION ("warmelt-normal.melt:5114:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V9*/ meltfptr[4] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl27", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_90_WARMELTmiNORMAL_LAMBDA_cl27_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_90_WARMELTmiNORMAL_LAMBDA_cl27 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_91_WARMELTmiNORMAL_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_) { long current_blocklevel_signals_meltrout_91_WARMELTmiNORMAL_NORMALIZE_LAMBDA_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_91_WARMELTmiNORMAL_NORMALIZE_LAMBDA_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #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_91_WARMELTmiNORMAL_NORMALIZE_LAMBDA is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_91_WARMELTmiNORMAL_NORMALIZE_LAMBDA_st *) meltfirstargp_; /* use arguments meltrout_91_WARMELTmiNORMAL_NORMALIZE_LAMBDA output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 83; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_91_WARMELTmiNORMAL_NORMALIZE_LAMBDA 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 ("NORMALIZE_LAMBDA", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5145:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_endgetargs; /*_.NEWENV__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NEWENV__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.NCX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4])) != NULL); /*getarg#4 */ /*^getarg */ if (meltxargdescr_[3] != MELTBPAR_PTR) goto meltlab_endgetargs; /*_.PSLOC__V6*/ meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.PSLOC__V6*/ meltfptr[5])) != NULL); ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5146:/ 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_LAMBDA */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:5146:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V8*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5146:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check lambda recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5146) ? (5146) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V8*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[6] = /*_._IFELSE___V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5146:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V8*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5147:/ 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:5147:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V10*/ meltfptr[9] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5147:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5147) ? (5147) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V10*/ meltfptr[9] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V9*/ meltfptr[7] = /*_._IFELSE___V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5147:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V10*/ meltfptr[9] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5148:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NEWENV__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:5148:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V12*/ meltfptr[11] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5148:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check newenv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5148) ? (5148) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V12*/ meltfptr[11] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V11*/ meltfptr[9] = /*_._IFELSE___V12*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5148:/ clear"); /*clear *//*_#IS_A__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V12*/ meltfptr[11] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V11*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5149:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-normal.melt:5149:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V14*/ meltfptr[13] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5149:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5149) ? (5149) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V14*/ meltfptr[13] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V13*/ meltfptr[11] = /*_._IFELSE___V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5149:/ clear"); /*clear *//*_#IS_A__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V14*/ meltfptr[13] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[11] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5150:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:5150:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L6*/ meltfnum[5] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5150:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L6*/ meltfnum[5]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5150; /*^apply.arg */ argtab[3].meltbp_cstring = "normalize_lambda recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " env="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " newenv="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V17*/ meltfptr[16] = 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___V16*/ meltfptr[15] = /*_.MELT_DEBUG_FUN__V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5150:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V17*/ meltfptr[16] = 0; } ; } else { /*^cond.else */ /*_._IF___V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5150:/ quasiblock"); /*_.PROGN___V18*/ meltfptr[16] = /*_._IF___V16*/ meltfptr[15];; /*^compute */ /*_.IFCPP___V15*/ meltfptr[13] = /*_.PROGN___V18*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5150:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.PROGN___V18*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V15*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5151:/ 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__V20*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5152:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SLAM_ARGBIND"); /*_.SFORMALARGS__V21*/ meltfptr[20] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5153:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SLAM_BODY"); /*_.SBODY__V22*/ meltfptr[21] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5154:/ apply"); /*apply */ { /*_.CSYM__V23*/ meltfptr[22] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!konst_5_LAMBDA_ */ meltfrout-> tabval[5])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5155:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[6])), (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__V20*/ meltfptr[16]), "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_VALUE */ meltfrout->tabval[7])), "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__V23*/ meltfptr[22]), "NOCC_SYMB"); ; /*^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:5159:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 10, "NCTX_CURPROC"); /*_.OLDPROC__V26*/ meltfptr[25] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5160:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "NCTX_SYMBCACHEMAP"); /*_.SAVEDCACHEMAP__V27*/ meltfptr[26] = slot; }; ; /*_.CLOSEDBLIST__V28*/ meltfptr[27] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_.MAKE_LIST__V29*/ meltfptr[28] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; /*^compute */ /*_.MAKE_LIST__V30*/ meltfptr[29] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; MELT_LOCATION ("warmelt-normal.melt:5162:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LAMBDAROUTPROC */ meltfrout->tabval[9])), (10), "CLASS_NREP_LAMBDAROUTPROC"); /*_.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__V20*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPROC_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (1), (( /*nil */ NULL)), "NPROC_BODY"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (2), ( /*_.CSYM__V23*/ meltfptr[22]), "NRPRO_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_ARGB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (3), ( /*_.SFORMALARGS__V21*/ meltfptr[20]), "NRPRO_ARGB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_CLOSEDB", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (4), ( /*_.CLOSEDBLIST__V28*/ meltfptr[27]), "NRPRO_CLOSEDB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_CONST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (5), ( /*_.MAKE_LIST__V29*/ meltfptr[28]), "NRPRO_CONST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_DATAROUT", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (6), (( /*nil */ NULL)), "NRPRO_DATAROUT"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_DATACLOS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (7), (( /*nil */ NULL)), "NRPRO_DATACLOS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_THUNKLIST", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (8), ( /*_.MAKE_LIST__V30*/ meltfptr[29]), "NRPRO_THUNKLIST"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_VARIADIC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V32*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V32*/ meltfptr[31]), (9), (( /*nil */ NULL)), "NRPRO_VARIADIC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V32*/ meltfptr[31], "newly made instance"); ; /*_.NPROC__V31*/ meltfptr[30] = /*_.INST__V32*/ meltfptr[31];; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5176:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V5*/ meltfptr[4]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V20*/ meltfptr[16]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_routine"; /*_.NORMAL_PREDEF__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[11])), (melt_ptr_t) (( /*!DISCR_ROUTINE */ meltfrout-> tabval[12])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5174:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_DATAROUTINE */ meltfrout->tabval[10])), (6), "CLASS_NREP_DATAROUTINE"); /*_.INST__V35*/ meltfptr[34] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_NAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (1), ( /*_.CSYM__V23*/ meltfptr[22]), "NDATA_NAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDATA_DISCRX", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (4), ( /*_.NORMAL_PREDEF__V33*/ meltfptr[32]), "NDATA_DISCRX"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NDROU_PROC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V35*/ meltfptr[34])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V35*/ meltfptr[34]), (5), ( /*_.NPROC__V31*/ meltfptr[30]), "NDROU_PROC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V35*/ meltfptr[34], "newly made instance"); ; /*_.NDATAROUT__V34*/ meltfptr[33] = /*_.INST__V35*/ meltfptr[34];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5180:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[5] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:5180:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[5]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L8*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5180:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L8*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5180; /*^apply.arg */ argtab[3].meltbp_cstring = "normalize_lambda made nproc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V31*/ meltfptr[30]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. ndatarout="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAROUT__V34*/ meltfptr[33]; /*_.MELT_DEBUG_FUN__V38*/ meltfptr[37] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR 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:5180:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:5180:/ quasiblock"); /*_.PROGN___V39*/ meltfptr[37] = /*_._IF___V37*/ meltfptr[36];; /*^compute */ /*_.IFCPP___V36*/ meltfptr[35] = /*_.PROGN___V39*/ meltfptr[37];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5180:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[5] = 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 */ ; { MELT_LOCATION ("warmelt-normal.melt:5181:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normalize_lambda"), (10)); #endif ; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5182:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAROUT__V34*/ meltfptr[33]; /*_.ADD_NCTX_DATA__V40*/ meltfptr[36] = melt_apply ((meltclosure_ptr_t) (( /*!ADD_NCTX_DATA */ meltfrout->tabval[13])), (melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*_.MAKE_MAPOBJECT__V41*/ meltfptr[37] = (meltgc_new_mapobjects ((meltobject_ptr_t) (( /*!DISCR_MAP_OBJECTS */ meltfrout->tabval[14])), (40)));; MELT_LOCATION ("warmelt-normal.melt:5184:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_CURPROC", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V5*/ meltfptr[4]), (10), ( /*_.NPROC__V31*/ meltfptr[30]), "NCTX_CURPROC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_SYMBCACHEMAP", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V5*/ meltfptr[4]), (6), ( /*_.MAKE_MAPOBJECT__V41*/ meltfptr[37]), "NCTX_SYMBCACHEMAP"); ; /*^touch */ meltgc_touch ( /*_.NCX__V5*/ meltfptr[4]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NCX__V5*/ meltfptr[4], "put-fields"); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5187:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NPROC__V31*/ meltfptr[30]), (melt_ptr_t) (( /*!CLASS_NREP_ROUTPROC */ meltfrout->tabval[15]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_DATAROUT", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V31*/ meltfptr[30]), (6), ( /*_.NDATAROUT__V34*/ meltfptr[33]), "NRPRO_DATAROUT"); ; /*^touch */ meltgc_touch ( /*_.NPROC__V31*/ meltfptr[30]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NPROC__V31*/ meltfptr[30], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5188:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ 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:5188:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L10*/ meltfnum[5] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5188:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L10*/ meltfnum[5]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5188; /*^apply.arg */ argtab[3].meltbp_cstring = "normalize_lambda updated ncx="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V5*/ meltfptr[4]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. nproc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V31*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43] = 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___V43*/ meltfptr[42] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5188:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L10*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V44*/ meltfptr[43] = 0; } ; } else { /*^cond.else */ /*_._IF___V43*/ meltfptr[42] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5188:/ quasiblock"); /*_.PROGN___V45*/ meltfptr[43] = /*_._IF___V43*/ meltfptr[42];; /*^compute */ /*_.IFCPP___V42*/ meltfptr[41] = /*_.PROGN___V45*/ meltfptr[43];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5188:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.PROGN___V45*/ meltfptr[43] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V42*/ meltfptr[41] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.SFORMALARGS__V21*/ meltfptr[20]); for ( /*_#IX__L11*/ meltfnum[5] = 0; ( /*_#IX__L11*/ meltfnum[5] >= 0) && ( /*_#IX__L11*/ meltfnum[5] < meltcit1__EACHTUP_ln); /*_#IX__L11*/ meltfnum[5]++) { /*_.FBI__V46*/ meltfptr[42] = melt_multiple_nth ((melt_ptr_t) ( /*_.SFORMALARGS__V21*/ meltfptr[20]), /*_#IX__L11*/ meltfnum[5]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5192:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L12*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.FBI__V46*/ meltfptr[42]), (melt_ptr_t) (( /*!CLASS_FORMAL_BINDING */ meltfrout->tabval[16])));; MELT_LOCATION ("warmelt-normal.melt:5192:/ cond"); /*cond */ if ( /*_#IS_A__L12*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V48*/ meltfptr[47] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5192:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check fbi"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5192) ? (5192) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V48*/ meltfptr[47] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V47*/ meltfptr[43] = /*_._IFELSE___V48*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5192:/ clear"); /*clear *//*_#IS_A__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V48*/ meltfptr[47] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V47*/ meltfptr[43] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5193:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.FBI__V46*/ meltfptr[42]; /*_.PUT_ENV__V49*/ meltfptr[47] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.NEWENV__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; if ( /*_#IX__L11*/ meltfnum[5] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:5189:/ clear"); /*clear *//*_.FBI__V46*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_#IX__L11*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V47*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V49*/ meltfptr[47] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_CHECK_SIGNAL (); ; /*_#IS_A__L13*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SFORMALARGS__V21*/ meltfptr[20]), (melt_ptr_t) (( /*!DISCR_VARIADIC_FORMAL_SEQUENCE */ meltfrout->tabval[18])));; MELT_LOCATION ("warmelt-normal.melt:5194:/ cond"); /*cond */ if ( /*_#IS_A__L13*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5195:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NPROC__V31*/ meltfptr[30]), (melt_ptr_t) (( /*!CLASS_NREP_ROUTPROC */ meltfrout->tabval[15]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NRPRO_VARIADIC", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V31*/ meltfptr[30]), (9), ( /*_.CSYM__V23*/ meltfptr[22]), "NRPRO_VARIADIC"); ; /*^touch */ meltgc_touch ( /*_.NPROC__V31*/ meltfptr[30]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NPROC__V31*/ meltfptr[30], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5196:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NEWENV__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @ENV_PROC", melt_magic_discr ((melt_ptr_t) ( /*_.NEWENV__V4*/ meltfptr[3])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NEWENV__V4*/ meltfptr[3]), (2), ( /*_.NPROC__V31*/ meltfptr[30]), "ENV_PROC"); ; /*^touch */ meltgc_touch ( /*_.NEWENV__V4*/ meltfptr[3]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NEWENV__V4*/ meltfptr[3], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5197:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ 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:5197:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L15*/ meltfnum[14] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5197:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L15*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5197; /*^apply.arg */ argtab[3].meltbp_cstring = "normalize_lambda updated newenv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V52*/ meltfptr[51] = 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___V51*/ meltfptr[50] = /*_.MELT_DEBUG_FUN__V52*/ meltfptr[51];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5197:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V52*/ meltfptr[51] = 0; } ; } else { /*^cond.else */ /*_._IF___V51*/ meltfptr[50] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5197:/ quasiblock"); /*_.PROGN___V53*/ meltfptr[51] = /*_._IF___V51*/ meltfptr[50];; /*^compute */ /*_.IFCPP___V50*/ meltfptr[49] = /*_.PROGN___V53*/ meltfptr[51];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5197:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_._IF___V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.PROGN___V53*/ meltfptr[51] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V50*/ meltfptr[49] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:5198:/ locexp"); #if MELT_HAVE_DEBUG if (melt_need_debug (0)) melt_dbgshortbacktrace (("normalize_lambda"), (15)); #endif ; } ; MELT_LOCATION ("warmelt-normal.melt:5200:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NCTX_PROCLIST"); /*_.NCPLIS__V55*/ meltfptr[51] = slot; }; ; } else { /*^cond.else */ /*_.NCPLIS__V55*/ meltfptr[51] = NULL;; } ; { MELT_LOCATION ("warmelt-normal.melt:5202:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NCPLIS__V55*/ meltfptr[51]), (melt_ptr_t) ( /*_.NPROC__V31*/ meltfptr[30])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5203:/ 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:5203:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L17*/ meltfnum[13] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5203:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L17*/ meltfnum[13]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5203; /*^apply.arg */ argtab[3].meltbp_cstring = "normalize_lambda updated ncplis="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCPLIS__V55*/ meltfptr[51]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. ncx="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V5*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V58*/ meltfptr[57] = 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___V57*/ meltfptr[56] = /*_.MELT_DEBUG_FUN__V58*/ meltfptr[57];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5203:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L17*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V58*/ meltfptr[57] = 0; } ; } else { /*^cond.else */ /*_._IF___V57*/ meltfptr[56] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5203:/ quasiblock"); /*_.PROGN___V59*/ meltfptr[57] = /*_._IF___V57*/ meltfptr[56];; /*^compute */ /*_.IFCPP___V56*/ meltfptr[55] = /*_.PROGN___V59*/ meltfptr[57];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5203:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_._IF___V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.PROGN___V59*/ meltfptr[57] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V56*/ meltfptr[55] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.LET___V54*/ meltfptr[50] = /*_.IFCPP___V56*/ meltfptr[55];; MELT_LOCATION ("warmelt-normal.melt:5200:/ clear"); /*clear *//*_.NCPLIS__V55*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.IFCPP___V56*/ meltfptr[55] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5206:/ 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__V4*/ meltfptr[3]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V5*/ meltfptr[4]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V20*/ meltfptr[16]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V62*/ meltfptr[51]; /*^multiapply.appl */ /*_.NBODY__V61*/ meltfptr[57] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[19])), (melt_ptr_t) ( /*_.SBODY__V22*/ meltfptr[21]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5209:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L18*/ 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:5209:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L19*/ meltfnum[14] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5209:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L19*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5209; /*^apply.arg */ argtab[3].meltbp_cstring = "normalize_lambda nbody="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBODY__V61*/ meltfptr[57]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. nbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V62*/ meltfptr[51]; /*_.MELT_DEBUG_FUN__V65*/ meltfptr[64] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V64*/ meltfptr[63] = /*_.MELT_DEBUG_FUN__V65*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5209:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L19*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V65*/ meltfptr[64] = 0; } ; } else { /*^cond.else */ /*_._IF___V64*/ meltfptr[63] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5209:/ quasiblock"); /*_.PROGN___V66*/ meltfptr[64] = /*_._IF___V64*/ meltfptr[63];; /*^compute */ /*_.IFCPP___V63*/ meltfptr[55] = /*_.PROGN___V66*/ meltfptr[64];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5209:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_._IF___V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.PROGN___V66*/ meltfptr[64] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V63*/ meltfptr[55] = ( /*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) /*_.NBINDINGS__V62*/ meltfptr[51]); for ( /*_#IX__L20*/ meltfnum[14] = 0; ( /*_#IX__L20*/ meltfnum[14] >= 0) && ( /*_#IX__L20*/ meltfnum[14] < meltcit2__EACHTUP_ln); /*_#IX__L20*/ meltfnum[14]++) { /*_.NBI__V67*/ meltfptr[63] = melt_multiple_nth ((melt_ptr_t) ( /*_.NBINDINGS__V62*/ meltfptr[51]), /*_#IX__L20*/ meltfnum[14]); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5213:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBI__V67*/ meltfptr[63]; /*_.PUT_ENV__V68*/ meltfptr[64] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.NEWENV__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; if ( /*_#IX__L20*/ meltfnum[14] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:5210:/ clear"); /*clear *//*_.NBI__V67*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_#IX__L20*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V68*/ meltfptr[64] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5216:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V20*/ meltfptr[16]; /*_.REPLACE_LAST_BY_RETURN__V69*/ meltfptr[68] = melt_apply ((meltclosure_ptr_t) (( /*!REPLACE_LAST_BY_RETURN */ meltfrout->tabval[21])), (melt_ptr_t) ( /*_.NBODY__V61*/ meltfptr[57]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V62*/ meltfptr[51]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V20*/ meltfptr[16]; /*_.WRAP_NORMAL_LETSEQ__V70*/ meltfptr[69] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LETSEQ */ meltfrout->tabval[20])), (melt_ptr_t) ( /*_.REPLACE_LAST_BY_RETURN__V69*/ meltfptr[68]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5214:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NPROC__V31*/ meltfptr[30]), (melt_ptr_t) (( /*!CLASS_NREP_ANYPROC */ meltfrout->tabval[22]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NPROC_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.NPROC__V31*/ meltfptr[30])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NPROC__V31*/ meltfptr[30]), (1), ( /*_.WRAP_NORMAL_LETSEQ__V70*/ meltfptr[69]), "NPROC_BODY"); ; /*^touch */ meltgc_touch ( /*_.NPROC__V31*/ meltfptr[30]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NPROC__V31*/ meltfptr[30], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5219:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_NORMALIZATION_CONTEXT */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_SYMBCACHEMAP", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V5*/ meltfptr[4]), (6), ( /*_.SAVEDCACHEMAP__V27*/ meltfptr[26]), "NCTX_SYMBCACHEMAP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCTX_CURPROC", melt_magic_discr ((melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NCX__V5*/ meltfptr[4]), (10), ( /*_.OLDPROC__V26*/ meltfptr[25]), "NCTX_CURPROC"); ; /*^touch */ meltgc_touch ( /*_.NCX__V5*/ meltfptr[4]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.NCX__V5*/ meltfptr[4], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5223:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L21*/ 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:5223:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L21*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L22*/ meltfnum[21] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5223:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L22*/ meltfnum[21]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5223; /*^apply.arg */ argtab[3].meltbp_cstring = "normalize_lambda restored ncx="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V5*/ meltfptr[4]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n.. updated nproc="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V31*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V73*/ meltfptr[72] = 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___V72*/ meltfptr[71] = /*_.MELT_DEBUG_FUN__V73*/ meltfptr[72];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5223:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L22*/ meltfnum[21] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V73*/ meltfptr[72] = 0; } ; } else { /*^cond.else */ /*_._IF___V72*/ meltfptr[71] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5223:/ quasiblock"); /*_.PROGN___V74*/ meltfptr[72] = /*_._IF___V72*/ meltfptr[71];; /*^compute */ /*_.IFCPP___V71*/ meltfptr[70] = /*_.PROGN___V74*/ meltfptr[72];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5223:/ clear"); /*clear *//*_#MELT_NEED_DBG__L21*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_._IF___V72*/ meltfptr[71] = 0; /*^clear */ /*clear *//*_.PROGN___V74*/ meltfptr[72] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V71*/ meltfptr[70] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5224:/ quasiblock"); /*_#INSIDEFLAG__L23*/ meltfnum[21] = melt_is_instance_of ((melt_ptr_t) ( /*_.OLDPROC__V26*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_NREP_ROUTPROC */ meltfrout->tabval[15])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5227:/ cond"); /*cond */ if ( /*_#INSIDEFLAG__L23*/ meltfnum[21]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5228:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_CONSTANT */ meltfrout->tabval[23])), (4), "CLASS_NREP_CONSTANT"); /*_.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__V20*/ meltfptr[16]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONST_SVAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V78*/ meltfptr[77])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V78*/ meltfptr[77]), (1), ( /*_.RECV__V2*/ meltfptr[1]), "NCONST_SVAL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONST_DATA", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V78*/ meltfptr[77])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V78*/ meltfptr[77]), (3), ( /*_.NDATAROUT__V34*/ meltfptr[33]), "NCONST_DATA"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONST_PROC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V78*/ meltfptr[77])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V78*/ meltfptr[77]), (2), ( /*_.OLDPROC__V26*/ meltfptr[25]), "NCONST_PROC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V78*/ meltfptr[77], "newly made instance"); ; /*_.INST___V77*/ meltfptr[76] = /*_.INST__V78*/ meltfptr[77];; /*^compute */ /*_.KROUT__V76*/ meltfptr[72] = /*_.INST___V77*/ meltfptr[76];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5227:/ clear"); /*clear *//*_.INST___V77*/ meltfptr[76] = 0; } ; } else { /*^cond.else */ /*_.KROUT__V76*/ meltfptr[72] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5237:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V80*/ meltfptr[79] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_28 */ meltfrout-> tabval[28])), (3)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V80*/ meltfptr[79])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V80*/ meltfptr[79]))); ((meltclosure_ptr_t) /*_.LAMBDA___V80*/ meltfptr[79])->tabval[0] = (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V80*/ meltfptr[79])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V80*/ meltfptr[79]))); ((meltclosure_ptr_t) /*_.LAMBDA___V80*/ meltfptr[79])->tabval[1] = (melt_ptr_t) ( /*_.NCX__V5*/ meltfptr[4]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V80*/ meltfptr[79])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V80*/ meltfptr[79]))); ((meltclosure_ptr_t) /*_.LAMBDA___V80*/ meltfptr[79])->tabval[2] = (melt_ptr_t) ( /*_.SLOC__V20*/ meltfptr[16]); ; /*_.LAMBDA___V79*/ meltfptr[76] = /*_.LAMBDA___V80*/ meltfptr[79];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5234:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!DISCR_MULTIPLE */ meltfrout->tabval[25]); /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V79*/ meltfptr[76]; /*_.CLOVTUP__V81*/ meltfptr[80] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[24])), (melt_ptr_t) ( /*_.CLOSEDBLIST__V28*/ meltfptr[27]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5245:/ cond"); /*cond */ if ( /*_#INSIDEFLAG__L23*/ meltfnum[21]) /*then */ { /*^cond.then */ /*_.CONSTROUT__V82*/ meltfptr[81] = /*_.KROUT__V76*/ meltfptr[72];; } else { MELT_LOCATION ("warmelt-normal.melt:5245:/ cond.else"); /*_.CONSTROUT__V82*/ meltfptr[81] = /*_.NDATAROUT__V34*/ meltfptr[33];; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5247:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.NPROC__V31*/ meltfptr[30];; MELT_LOCATION ("warmelt-normal.melt:5247:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.CSYM__V23*/ meltfptr[22]); ; /*^putxtraresult */ if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[1] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[1].meltbp_aptr) *(meltxrestab_[1].meltbp_aptr) = (melt_ptr_t) ( /*_.CLOCC__V24*/ meltfptr[23]); ; /*^putxtraresult */ if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[2] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[2].meltbp_aptr) *(meltxrestab_[2].meltbp_aptr) = (melt_ptr_t) ( /*_.CONSTROUT__V82*/ meltfptr[81]); ; /*^putxtraresult */ if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[3] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[3].meltbp_aptr) *(meltxrestab_[3].meltbp_aptr) = (melt_ptr_t) ( /*_.CLOVTUP__V81*/ meltfptr[80]); ; /*^putxtraresult */ if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[4] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[4].meltbp_aptr) *(meltxrestab_[4].meltbp_aptr) = (melt_ptr_t) ( /*_.SLOC__V20*/ meltfptr[16]); ; /*^putxtraresult */ if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[5] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[5].meltbp_aptr) *(meltxrestab_[5].meltbp_aptr) = (melt_ptr_t) ( /*_.OLDPROC__V26*/ meltfptr[25]); ; /*^putxtraresult */ if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[6] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[6].meltbp_aptr) *(meltxrestab_[6].meltbp_aptr) = (melt_ptr_t) ( /*_.NDATAROUT__V34*/ meltfptr[33]); ; /*^putxtraresult */ if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[7] != MELTBPAR_LONG) goto meltlabend_rout; if (meltxrestab_[7].meltbp_longptr) *(meltxrestab_[7].meltbp_longptr) = ( /*_#INSIDEFLAG__L23*/ meltfnum[21]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V75*/ meltfptr[71] = /*_.RETURN___V83*/ meltfptr[82];; MELT_LOCATION ("warmelt-normal.melt:5224:/ clear"); /*clear *//*_#INSIDEFLAG__L23*/ meltfnum[21] = 0; /*^clear */ /*clear *//*_.KROUT__V76*/ meltfptr[72] = 0; /*^clear */ /*clear *//*_.LAMBDA___V79*/ meltfptr[76] = 0; /*^clear */ /*clear *//*_.CLOVTUP__V81*/ meltfptr[80] = 0; /*^clear */ /*clear *//*_.CONSTROUT__V82*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.RETURN___V83*/ meltfptr[82] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V60*/ meltfptr[56] = /*_.LET___V75*/ meltfptr[71];; MELT_LOCATION ("warmelt-normal.melt:5206:/ clear"); /*clear *//*_.IFCPP___V63*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.REPLACE_LAST_BY_RETURN__V69*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.WRAP_NORMAL_LETSEQ__V70*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.IFCPP___V71*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.LET___V75*/ meltfptr[71] = 0; /*^clear */ /*clear *//*_.NBINDINGS__V62*/ meltfptr[51] = 0; /*_.LET___V19*/ meltfptr[15] = /*_.MULTI___V60*/ meltfptr[56];; MELT_LOCATION ("warmelt-normal.melt:5151:/ clear"); /*clear *//*_.SLOC__V20*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SFORMALARGS__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.SBODY__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.CSYM__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.CLOCC__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.OLDPROC__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.SAVEDCACHEMAP__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.CLOSEDBLIST__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.MAKE_LIST__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.NPROC__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.NORMAL_PREDEF__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.NDATAROUT__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.IFCPP___V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.ADD_NCTX_DATA__V40*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.MAKE_MAPOBJECT__V41*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.IFCPP___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_#IS_A__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.LET___V54*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.MULTI___V60*/ meltfptr[56] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5145:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V19*/ meltfptr[15];; { MELT_LOCATION ("warmelt-normal.melt:5145:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V11*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.IFCPP___V15*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.LET___V19*/ meltfptr[15] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMALIZE_LAMBDA", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_91_WARMELTmiNORMAL_NORMALIZE_LAMBDA_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_91_WARMELTmiNORMAL_NORMALIZE_LAMBDA */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_92_WARMELTmiNORMAL_LAMBDA_cl28 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_92_WARMELTmiNORMAL_LAMBDA_cl28_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_92_WARMELTmiNORMAL_LAMBDA_cl28_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 7 melt_ptr_t mcfr_varptr[7]; #define MELTFRAM_NBVARNUM 1 long mcfr_varnum[1]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_92_WARMELTmiNORMAL_LAMBDA_cl28 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_92_WARMELTmiNORMAL_LAMBDA_cl28_st *) meltfirstargp_; /* use arguments meltrout_92_WARMELTmiNORMAL_LAMBDA_cl28 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 7; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_92_WARMELTmiNORMAL_LAMBDA_cl28 nbval 7*/ meltfram__.mcfr_nbvar = 7 /*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_cl28", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5237:/ getarg"); /*_.BND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5238:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.BND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_ANY_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:5238:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5238:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normalize_lambda check bnd"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5238) ? (5238) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_._IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5238:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V4*/ meltfptr[3] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5239:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.BND__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.SY__V6*/ meltfptr[5] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5242:/ msend"); /*msend */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~ENV */ meltfclos->tabval[0]); /*^ojbmsend.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & ( /*~NCX */ meltfclos->tabval[1]); /*^ojbmsend.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & ( /*~SLOC */ meltfclos->tabval[2]); /*_.NSY__V7*/ meltfptr[6] = meltgc_send ((melt_ptr_t) ( /*_.SY__V6*/ meltfptr[5]), (melt_ptr_t) (( /*!NORMAL_EXP */ meltfrout->tabval[1])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V5*/ meltfptr[3] = /*_.NSY__V7*/ meltfptr[6];; MELT_LOCATION ("warmelt-normal.melt:5239:/ clear"); /*clear *//*_.SY__V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.NSY__V7*/ meltfptr[6] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5237:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V5*/ meltfptr[3];; { MELT_LOCATION ("warmelt-normal.melt:5237:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.LET___V5*/ meltfptr[3] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl28", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_92_WARMELTmiNORMAL_LAMBDA_cl28_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_92_WARMELTmiNORMAL_LAMBDA_cl28 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_93_WARMELTmiNORMAL_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_) { long current_blocklevel_signals_meltrout_93_WARMELTmiNORMAL_NORMEXP_LAMBDA_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_93_WARMELTmiNORMAL_NORMEXP_LAMBDA_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 46 melt_ptr_t mcfr_varptr[46]; #define MELTFRAM_NBVARNUM 12 long mcfr_varnum[12]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_93_WARMELTmiNORMAL_NORMEXP_LAMBDA is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_93_WARMELTmiNORMAL_NORMEXP_LAMBDA_st *) meltfirstargp_; /* use arguments meltrout_93_WARMELTmiNORMAL_NORMEXP_LAMBDA output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 46; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_93_WARMELTmiNORMAL_NORMEXP_LAMBDA nbval 46*/ meltfram__.mcfr_nbvar = 46 /*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_LAMBDA", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5251:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5252:/ 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:5252:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L2*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5252:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5252; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_lambda recv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = "\n..env="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = "\n.. ncx="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR 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:5252:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:5252:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_._IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5252:/ 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:5253:/ 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_LAMBDA */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-normal.melt:5253:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5253:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check lambda recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5253) ? (5253) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_._IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5253:/ 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:5254:/ 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:5254:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5254:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5254) ? (5254) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_._IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5254:/ 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:5255:/ 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:5255:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_._IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5255:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5255) ? (5255) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5255:/ 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:5256:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5257:/ apply"); /*apply */ { /*_.NEWENV__V17*/ meltfptr[16] = 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:5259:/ 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:5259:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L7*/ meltfnum[1] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5259:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L7*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5259; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_lambda newenv="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V17*/ meltfptr[16]; /*_.MELT_DEBUG_FUN__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V19*/ meltfptr[18] = /*_.MELT_DEBUG_FUN__V20*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5259:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V20*/ meltfptr[19] = 0; } ; } else { /*^cond.else */ /*_._IF___V19*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5259:/ quasiblock"); /*_.PROGN___V21*/ meltfptr[19] = /*_._IF___V19*/ meltfptr[18];; /*^compute */ /*_.IFCPP___V18*/ meltfptr[17] = /*_.PROGN___V21*/ meltfptr[19];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5259:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.PROGN___V21*/ meltfptr[19] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5260:/ quasiblock"); /*^multiapply */ /*multiapply 5args, 8x.res */ { union meltparam_un argtab[4]; union meltparam_un restab[8]; memset (&restab, 0, sizeof (restab)); memset (&argtab, 0, sizeof (argtab)); /*^multiapply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V17*/ meltfptr[16]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multiapply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.PSLOC__V5*/ meltfptr[4]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CSYM__V24*/ meltfptr[23]; /*^multiapply.xres */ restab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V25*/ meltfptr[24]; /*^multiapply.xres */ restab[2].meltbp_aptr = (melt_ptr_t *) & /*_.CONSTROUT__V26*/ meltfptr[25]; /*^multiapply.xres */ restab[3].meltbp_aptr = (melt_ptr_t *) & /*_.CLOVTUP__V27*/ meltfptr[26]; /*^multiapply.xres */ restab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V28*/ meltfptr[27]; /*^multiapply.xres */ restab[5].meltbp_aptr = (melt_ptr_t *) & /*_.OLDPROC__V29*/ meltfptr[28]; /*^multiapply.xres */ restab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NDATAROUT__V30*/ meltfptr[29]; /*^multiapply.xres */ restab[7].meltbp_longptr = & /*_#INSIDEFLAG__L8*/ meltfnum[1]; /*^multiapply.appl */ /*_.NPROC__V23*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_LAMBDA */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_LONG ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5263:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ 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:5263:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L10*/ meltfnum[9] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5263:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5263; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_lambda after normalize_lambda nproc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NPROC__V23*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V32*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5263:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_._IF___V32*/ meltfptr[31] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5263:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_._IF___V32*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[30] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5263:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5264:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5265:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LAMBDA */ meltfrout->tabval[6])), (4), "CLASS_NREP_LAMBDA"); /*_.INST__V37*/ meltfptr[36] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V37*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V37*/ meltfptr[36]), (0), ( /*_.SLOC__V28*/ meltfptr[27]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLAMBDA_PROC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V37*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V37*/ meltfptr[36]), (1), ( /*_.NPROC__V23*/ meltfptr[19]), "NLAMBDA_PROC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLAMBDA_CONSTROUT", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V37*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V37*/ meltfptr[36]), (2), ( /*_.CONSTROUT__V26*/ meltfptr[25]), "NLAMBDA_CONSTROUT"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLAMBDA_CLOSEDV", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V37*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V37*/ meltfptr[36]), (3), ( /*_.CLOVTUP__V27*/ meltfptr[26]), "NLAMBDA_CLOSEDV"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V37*/ meltfptr[36], "newly made instance"); ; /*_.NLAMBDA__V36*/ meltfptr[32] = /*_.INST__V37*/ meltfptr[36];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5271:/ 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__V39*/ meltfptr[38] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V39*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V39*/ meltfptr[38]), (3), ( /*_.SLOC__V28*/ meltfptr[27]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V39*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V39*/ meltfptr[38]), (0), ( /*_.CSYM__V24*/ meltfptr[23]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V39*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V39*/ meltfptr[38]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[8])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V39*/ meltfptr[38])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V39*/ meltfptr[38]), (2), ( /*_.NLAMBDA__V36*/ meltfptr[32]), "LETBIND_EXPR"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V39*/ meltfptr[38], "newly made instance"); ; /*_.CBIND__V38*/ meltfptr[37] = /*_.INST__V39*/ meltfptr[38];; /*^compute */ /*_.NBINDLIST__V40*/ meltfptr[39] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[9]))));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5278:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V25*/ meltfptr[24])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V25*/ meltfptr[24]), (3), ( /*_.CBIND__V38*/ meltfptr[37]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.CLOCC__V25*/ meltfptr[24]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CLOCC__V25*/ meltfptr[24], "put-fields"); ; { MELT_LOCATION ("warmelt-normal.melt:5279:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDLIST__V40*/ meltfptr[39]), (melt_ptr_t) ( /*_.CBIND__V38*/ meltfptr[37])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5280:/ cond"); /*cond */ if ( /*_#INSIDEFLAG__L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:5281:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.OLDPROC__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "NRPRO_CONST"); /*_.NRPRO_CONST__V41*/ meltfptr[40] = slot; }; ; { /*^locexp */ meltgc_append_list ((melt_ptr_t) ( /*_.NRPRO_CONST__V41*/ meltfptr[40]), (melt_ptr_t) ( /*_.NDATAROUT__V30*/ meltfptr[29])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5280:/ clear"); /*clear *//*_.NRPRO_CONST__V41*/ meltfptr[40] = 0; } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5282:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ 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:5282:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L12*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5282:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L12*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5282; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_lambda return clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V25*/ meltfptr[24]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindlist="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDLIST__V40*/ meltfptr[39]; /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43] = 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___V43*/ meltfptr[42] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5282:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V44*/ meltfptr[43] = 0; } ; } else { /*^cond.else */ /*_._IF___V43*/ meltfptr[42] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5282:/ quasiblock"); /*_.PROGN___V45*/ meltfptr[43] = /*_._IF___V43*/ meltfptr[42];; /*^compute */ /*_.IFCPP___V42*/ meltfptr[40] = /*_.PROGN___V45*/ meltfptr[43];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5282:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_._IF___V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.PROGN___V45*/ meltfptr[43] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V42*/ meltfptr[40] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5283:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V25*/ meltfptr[24];; MELT_LOCATION ("warmelt-normal.melt:5283:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBINDLIST__V40*/ meltfptr[39]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V35*/ meltfptr[31] = /*_.RETURN___V46*/ meltfptr[42];; MELT_LOCATION ("warmelt-normal.melt:5264:/ clear"); /*clear *//*_.NLAMBDA__V36*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.CBIND__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.NBINDLIST__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.IFCPP___V42*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.RETURN___V46*/ meltfptr[42] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V22*/ meltfptr[18] = /*_.LET___V35*/ meltfptr[31];; MELT_LOCATION ("warmelt-normal.melt:5260:/ clear"); /*clear *//*_.IFCPP___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.LET___V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CSYM__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.CLOCC__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.CONSTROUT__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.CLOVTUP__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.SLOC__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.OLDPROC__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.NDATAROUT__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_#INSIDEFLAG__L8*/ meltfnum[1] = 0; /*_.LET___V16*/ meltfptr[14] = /*_.MULTI___V22*/ meltfptr[18];; MELT_LOCATION ("warmelt-normal.melt:5256:/ clear"); /*clear *//*_.NEWENV__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.MULTI___V22*/ meltfptr[18] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5251:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-normal.melt:5251:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_LAMBDA", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_93_WARMELTmiNORMAL_NORMEXP_LAMBDA_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_93_WARMELTmiNORMAL_NORMEXP_LAMBDA */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_94_WARMELTmiNORMAL_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_) { long current_blocklevel_signals_meltrout_94_WARMELTmiNORMAL_NORMEXP_MULTICALL_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_94_WARMELTmiNORMAL_NORMEXP_MULTICALL_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 116 melt_ptr_t mcfr_varptr[116]; #define MELTFRAM_NBVARNUM 27 long mcfr_varnum[27]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_94_WARMELTmiNORMAL_NORMEXP_MULTICALL is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_94_WARMELTmiNORMAL_NORMEXP_MULTICALL_st *) meltfirstargp_; /* use arguments meltrout_94_WARMELTmiNORMAL_NORMEXP_MULTICALL output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 116; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_94_WARMELTmiNORMAL_NORMEXP_MULTICALL nbval 116*/ meltfram__.mcfr_nbvar = 116 /*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_MULTICALL", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5288:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5289:/ 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_MULTICALL */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:5289:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5289:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check multicall recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5289) ? (5289) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5289:/ 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:5290:/ 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:5290:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5290:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5290) ? (5290) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5290:/ 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:5291:/ 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:5291:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5291:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5291) ? (5291) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5291:/ 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:5292:/ 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:5292:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5292:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5292; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_multicall 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:5292:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:5292:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5292:/ 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:5293:/ 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:5294:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SMULC_RESBIND"); /*_.SRESBIND__V18*/ meltfptr[17] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5295:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "SMULC_CALL"); /*_.SCALL__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5296:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.RECV__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "SMULC_BODY"); /*_.SBODY__V20*/ meltfptr[19] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5297:/ apply"); /*apply */ { /*_.NEWENV__V21*/ meltfptr[20] = 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:5299:/ 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:5299:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L7*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5299:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L7*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5299; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_multicall scall"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SCALL__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V23*/ meltfptr[22] = /*_.MELT_DEBUG_FUN__V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5299:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*_._IF___V23*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5299:/ quasiblock"); /*_.PROGN___V25*/ meltfptr[23] = /*_._IF___V23*/ meltfptr[22];; /*^compute */ /*_.IFCPP___V22*/ meltfptr[21] = /*_.PROGN___V25*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5299:/ 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[21] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5300:/ 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 *) & /*_.NCALLBINDINGS__V28*/ meltfptr[27]; /*^multimsend.send */ /*_.NCALL__V27*/ meltfptr[23] = meltgc_send ((melt_ptr_t) ( /*_.SCALL__V19*/ meltfptr[18]), ((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:5303:/ 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:5303:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L9*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5303:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5303; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_multicall ncall="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NCALL__V27*/ meltfptr[23]; /*^apply.arg */ argtab[5].meltbp_cstring = " ncallbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NCALLBINDINGS__V28*/ meltfptr[27]; /*_.MELT_DEBUG_FUN__V31*/ meltfptr[30] = 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___V30*/ meltfptr[29] = /*_.MELT_DEBUG_FUN__V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5303:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L9*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V31*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*_._IF___V30*/ meltfptr[29] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5303:/ quasiblock"); /*_.PROGN___V32*/ meltfptr[30] = /*_._IF___V30*/ meltfptr[29];; /*^compute */ /*_.IFCPP___V29*/ meltfptr[28] = /*_.PROGN___V32*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5303:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PROGN___V32*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5307:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.NCALL__V27*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-normal.melt:5307:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_._IFELSE___V34*/ meltfptr[30] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5307:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_multicall check ncall"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5307) ? (5307) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V34*/ meltfptr[30] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V33*/ meltfptr[29] = /*_._IFELSE___V34*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5307:/ clear"); /*clear *//*_#IS_A__L10*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_._IFELSE___V34*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V33*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5308:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCALL__V27*/ meltfptr[23]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NOCC_SYMB"); /*_.NCALLSYM__V36*/ meltfptr[35] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5309:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[7])), (1), "CLASS_REFERENCE"); /*_.INST__V38*/ meltfptr[37] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V38*/ meltfptr[37])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V38*/ meltfptr[37]), (0), (( /*nil */ NULL)), "REFERENCED_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V38*/ meltfptr[37], "newly made instance"); ; /*_.NCONTCALL__V37*/ meltfptr[36] = /*_.INST__V38*/ meltfptr[37];; /*^compute */ /*_.NREALCALL__V39*/ meltfptr[38] = ( /*nil */ NULL);; /*^compute */ /*_.NINCALLBINDINGS__V40*/ meltfptr[39] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[8]))));; MELT_LOCATION ("warmelt-normal.melt:5315:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V42*/ meltfptr[41] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_12 */ meltfrout-> tabval[12])), (3)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41]))); ((meltclosure_ptr_t) /*_.LAMBDA___V42*/ meltfptr[41])->tabval[0] = (melt_ptr_t) ( /*_.NCALLSYM__V36*/ meltfptr[35]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41]))); ((meltclosure_ptr_t) /*_.LAMBDA___V42*/ meltfptr[41])->tabval[1] = (melt_ptr_t) ( /*_.NCONTCALL__V37*/ meltfptr[36]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V42*/ meltfptr[41]))); ((meltclosure_ptr_t) /*_.LAMBDA___V42*/ meltfptr[41])->tabval[2] = (melt_ptr_t) ( /*_.NINCALLBINDINGS__V40*/ meltfptr[39]); ; /*_.LAMBDA___V41*/ meltfptr[40] = /*_.LAMBDA___V42*/ meltfptr[41];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5313:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V41*/ meltfptr[40]; /*_.LIST_ITERATE_TEST__V43*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_ITERATE_TEST */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.NCALLBINDINGS__V28*/ meltfptr[27]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5324:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NCONTCALL__V37*/ meltfptr[36]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NCONTCALL__V37*/ meltfptr[36]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V44*/ meltfptr[43] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V44*/ meltfptr[43] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5324:/ compute"); /*_.NREALCALL__V39*/ meltfptr[38] = /*_.SETQ___V45*/ meltfptr[44] = /*_.REFERENCED_VALUE__V44*/ meltfptr[43];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5325:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:5325:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L12*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5325:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L12*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5325; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_multicall got nrealcall"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NREALCALL__V39*/ meltfptr[38]; /*_.MELT_DEBUG_FUN__V48*/ 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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V47*/ meltfptr[46] = /*_.MELT_DEBUG_FUN__V48*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5325:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L12*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V48*/ meltfptr[47] = 0; } ; } else { /*^cond.else */ /*_._IF___V47*/ meltfptr[46] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5325:/ quasiblock"); /*_.PROGN___V49*/ meltfptr[47] = /*_._IF___V47*/ meltfptr[46];; /*^compute */ /*_.IFCPP___V46*/ meltfptr[45] = /*_.PROGN___V49*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5325:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[0] = 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:5328:/ 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_15 */ meltfrout-> tabval[15])), (1)); ; /*^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) ( /*_.NEWENV__V21*/ meltfptr[20]); ; /*_.LAMBDA___V50*/ meltfptr[46] = /*_.LAMBDA___V51*/ meltfptr[47];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5326:/ 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[13])), (melt_ptr_t) ( /*_.SRESBIND__V18*/ meltfptr[17]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5330:/ 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__V21*/ meltfptr[20]; /*^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 *) & /*_.NBODYBINDINGS__V55*/ meltfptr[54]; /*^multiapply.appl */ /*_.NBODY__V54*/ meltfptr[53] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[16])), (melt_ptr_t) ( /*_.SBODY__V20*/ meltfptr[19]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5333:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ 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:5333:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L14*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5333:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L14*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5333; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_multicall nbody="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NBODY__V54*/ meltfptr[53]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbodybindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBODYBINDINGS__V55*/ meltfptr[54]; /*_.MELT_DEBUG_FUN__V58*/ meltfptr[57] = 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___V57*/ meltfptr[56] = /*_.MELT_DEBUG_FUN__V58*/ meltfptr[57];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5333:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L14*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V58*/ meltfptr[57] = 0; } ; } else { /*^cond.else */ /*_._IF___V57*/ meltfptr[56] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5333:/ quasiblock"); /*_.PROGN___V59*/ meltfptr[57] = /*_._IF___V57*/ meltfptr[56];; /*^compute */ /*_.IFCPP___V56*/ meltfptr[55] = /*_.PROGN___V59*/ meltfptr[57];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5333:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_._IF___V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.PROGN___V59*/ meltfptr[57] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V56*/ meltfptr[55] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5334:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBODYBINDINGS__V55*/ meltfptr[54]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*_.WNBODYLET__V61*/ meltfptr[57] = melt_apply ((meltclosure_ptr_t) (( /*!WRAP_NORMAL_LETSEQ */ meltfrout->tabval[17])), (melt_ptr_t) ( /*_.NBODY__V54*/ meltfptr[53]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5336:/ 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__V63*/ meltfptr[62] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5338:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V65*/ meltfptr[64] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_18 */ meltfrout-> tabval[18])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V65*/ meltfptr[64])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V65*/ meltfptr[64]))); ((meltclosure_ptr_t) /*_.LAMBDA___V65*/ meltfptr[64])->tabval[0] = (melt_ptr_t) ( /*_.SYCMAP__V63*/ meltfptr[62]); ; /*_.LAMBDA___V64*/ meltfptr[63] = /*_.LAMBDA___V65*/ meltfptr[64];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5337:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V64*/ meltfptr[63]; /*_.MULTIPLE_EVERY__V66*/ meltfptr[65] = melt_apply ((meltclosure_ptr_t) (( /*!MULTIPLE_EVERY */ meltfrout->tabval[13])), (melt_ptr_t) ( /*_.SRESBIND__V18*/ meltfptr[17]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V62*/ meltfptr[61] = /*_.MULTIPLE_EVERY__V66*/ meltfptr[65];; MELT_LOCATION ("warmelt-normal.melt:5336:/ clear"); /*clear *//*_.SYCMAP__V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.LAMBDA___V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.MULTIPLE_EVERY__V66*/ meltfptr[65] = 0; MELT_LOCATION ("warmelt-normal.melt:5341:/ quasiblock"); /*_.LASTNBODY__V68*/ meltfptr[63] = (melt_multiple_nth ((melt_ptr_t) ( /*_.NBODY__V54*/ meltfptr[53]), (-1)));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5343:/ cond"); /*cond */ if ( /*_.LASTNBODY__V68*/ meltfptr[63]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { 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__V21*/ meltfptr[20]; /*_.GET_CTYPE__V70*/ meltfptr[69] = meltgc_send ((melt_ptr_t) ( /*_.LASTNBODY__V68*/ meltfptr[63]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[19])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LASTNTYPE__V69*/ meltfptr[65] = /*_.GET_CTYPE__V70*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5343:/ clear"); /*clear *//*_.GET_CTYPE__V70*/ meltfptr[69] = 0; } ; } else { /*^cond.else */ /*_.LASTNTYPE__V69*/ meltfptr[65] = ( /*!CTYPE_VOID */ meltfrout->tabval[20]);; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5344:/ apply"); /*apply */ { /*_.CSYM__V71*/ meltfptr[69] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[21])), (melt_ptr_t) (( /*!konst_22_MULTI_ */ meltfrout-> tabval[22])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5345:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[23])), (4), "CLASS_NORMAL_LET_BINDING"); /*_.INST__V73*/ meltfptr[72] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V73*/ meltfptr[72])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V73*/ meltfptr[72]), (0), ( /*_.CSYM__V71*/ meltfptr[69]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V73*/ meltfptr[72])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V73*/ meltfptr[72]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V73*/ meltfptr[72])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V73*/ meltfptr[72]), (1), ( /*_.LASTNTYPE__V69*/ meltfptr[65]), "LETBIND_TYPE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V73*/ meltfptr[72], "newly made instance"); ; /*_.CBIND__V72*/ meltfptr[71] = /*_.INST__V73*/ meltfptr[72];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5351:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[6])), (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__V17*/ meltfptr[13]), "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), ( /*_.LASTNTYPE__V69*/ meltfptr[65]), "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__V71*/ meltfptr[69]), "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[71]), "NOCC_BIND"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V75*/ meltfptr[74], "newly made instance"); ; /*_.CLOCC__V74*/ meltfptr[73] = /*_.INST__V75*/ meltfptr[74];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_A__L15*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SCALL__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_SOURCE_APPLY */ meltfrout->tabval[24])));; MELT_LOCATION ("warmelt-normal.melt:5359:/ cond"); /*cond */ if ( /*_#IS_A__L15*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5360:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L16*/ meltfnum[4] = melt_is_instance_of ((melt_ptr_t) ( /*_.NREALCALL__V39*/ meltfptr[38]), (melt_ptr_t) (( /*!CLASS_NREP_APPLY */ meltfrout->tabval[25])));; MELT_LOCATION ("warmelt-normal.melt:5360:/ cond"); /*cond */ if ( /*_#IS_A__L16*/ meltfnum[4]) /*then */ { /*^cond.then */ /*_._IFELSE___V78*/ meltfptr[77] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5360:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_multicall check nrealcall apply"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5360) ? (5360) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V78*/ meltfptr[77] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V77*/ meltfptr[76] = /*_._IFELSE___V78*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5360:/ clear"); /*clear *//*_#IS_A__L16*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_._IFELSE___V78*/ meltfptr[77] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V77*/ meltfptr[76] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5361:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5363:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NREALCALL__V39*/ meltfptr[38]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NAPP_FUN"); /*_.NAPP_FUN__V80*/ meltfptr[79] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5364:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NREALCALL__V39*/ meltfptr[38]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NEXPR_ARGS"); /*_.NEXPR_ARGS__V81*/ meltfptr[80] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5361:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_MULTIAPPLY */ meltfrout->tabval[26])), (6), "CLASS_NREP_MULTIAPPLY"); /*_.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[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NAPP_FUN", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[82])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[82]), (3), ( /*_.NAPP_FUN__V80*/ meltfptr[79]), "NAPP_FUN"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_ARGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[82])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[82]), (2), ( /*_.NEXPR_ARGS__V81*/ meltfptr[80]), "NEXPR_ARGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[82])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[82]), (1), ( /*_.LASTNTYPE__V69*/ meltfptr[65]), "NEXPR_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NMULAPP_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[82])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[82]), (4), ( /*_.SRESBIND__V18*/ meltfptr[17]), "NMULAPP_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NMULAPP_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V83*/ meltfptr[82])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V83*/ meltfptr[82]), (5), ( /*_.WNBODYLET__V61*/ meltfptr[57]), "NMULAPP_BODY"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V83*/ meltfptr[82], "newly made instance"); ; /*_.NRES__V82*/ meltfptr[81] = /*_.INST__V83*/ meltfptr[82];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5368:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V72*/ meltfptr[71])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CBIND__V72*/ meltfptr[71]), (2), ( /*_.NRES__V82*/ meltfptr[81]), "LETBIND_EXPR"); ; /*^touch */ meltgc_touch ( /*_.CBIND__V72*/ meltfptr[71]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CBIND__V72*/ meltfptr[71], "put-fields"); ; { MELT_LOCATION ("warmelt-normal.melt:5369:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NINCALLBINDINGS__V40*/ meltfptr[39]), (melt_ptr_t) ( /*_.CBIND__V72*/ meltfptr[71])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5370:/ 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:5370:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L18*/ meltfnum[17] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5370:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L18*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5370; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_multicall multiapply result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V74*/ meltfptr[73]; /*^apply.arg */ argtab[5].meltbp_cstring = " nincallbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NINCALLBINDINGS__V40*/ meltfptr[39]; /*_.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:5370:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V86*/ meltfptr[85] = 0; } ; } else { /*^cond.else */ /*_._IF___V85*/ meltfptr[84] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5370:/ quasiblock"); /*_.PROGN___V87*/ meltfptr[85] = /*_._IF___V85*/ meltfptr[84];; /*^compute */ /*_.IFCPP___V84*/ meltfptr[83] = /*_.PROGN___V87*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5370:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[4] = 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:5372:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V74*/ meltfptr[73];; MELT_LOCATION ("warmelt-normal.melt:5372:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NINCALLBINDINGS__V40*/ meltfptr[39]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V79*/ meltfptr[77] = /*_.RETURN___V88*/ meltfptr[84];; MELT_LOCATION ("warmelt-normal.melt:5361:/ clear"); /*clear *//*_.NAPP_FUN__V80*/ meltfptr[79] = 0; /*^clear */ /*clear *//*_.NEXPR_ARGS__V81*/ meltfptr[80] = 0; /*^clear */ /*clear *//*_.NRES__V82*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.IFCPP___V84*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.RETURN___V88*/ meltfptr[84] = 0; MELT_LOCATION ("warmelt-normal.melt:5359:/ quasiblock"); /*_.PROGN___V89*/ meltfptr[85] = /*_.LET___V79*/ meltfptr[77];; /*^compute */ /*_._IFELSE___V76*/ meltfptr[75] = /*_.PROGN___V89*/ meltfptr[85];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5359:/ clear"); /*clear *//*_.IFCPP___V77*/ meltfptr[76] = 0; /*^clear */ /*clear *//*_.LET___V79*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.PROGN___V89*/ meltfptr[85] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L19*/ meltfnum[17] = melt_is_instance_of ((melt_ptr_t) ( /*_.SCALL__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_SOURCE_MSEND */ meltfrout->tabval[27])));; MELT_LOCATION ("warmelt-normal.melt:5375:/ cond"); /*cond */ if ( /*_#IS_A__L19*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5376:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L20*/ 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:5376:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L20*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L21*/ meltfnum[20] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5376:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L21*/ meltfnum[20]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5376; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_multicall multicall nrealcall"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NREALCALL__V39*/ meltfptr[38]; /*_.MELT_DEBUG_FUN__V93*/ meltfptr[83] = 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___V92*/ meltfptr[81] = /*_.MELT_DEBUG_FUN__V93*/ meltfptr[83];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5376:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L21*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V93*/ meltfptr[83] = 0; } ; } else { /*^cond.else */ /*_._IF___V92*/ meltfptr[81] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5376:/ quasiblock"); /*_.PROGN___V94*/ meltfptr[84] = /*_._IF___V92*/ meltfptr[81];; /*^compute */ /*_.IFCPP___V91*/ meltfptr[80] = /*_.PROGN___V94*/ meltfptr[84];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5376:/ clear"); /*clear *//*_#MELT_NEED_DBG__L20*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_._IF___V92*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.PROGN___V94*/ meltfptr[84] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V91*/ meltfptr[80] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5378:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L22*/ meltfnum[20] = melt_is_instance_of ((melt_ptr_t) ( /*_.NREALCALL__V39*/ meltfptr[38]), (melt_ptr_t) (( /*!CLASS_NREP_MSEND */ meltfrout->tabval[28])));; MELT_LOCATION ("warmelt-normal.melt:5378:/ cond"); /*cond */ if ( /*_#IS_A__L22*/ meltfnum[20]) /*then */ { /*^cond.then */ /*_._IFELSE___V96*/ meltfptr[77] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5378:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_multicall check nrealcall send"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5378) ? (5378) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V96*/ meltfptr[77] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V95*/ meltfptr[76] = /*_._IFELSE___V96*/ meltfptr[77];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5378:/ clear"); /*clear *//*_#IS_A__L22*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_._IFELSE___V96*/ meltfptr[77] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V95*/ meltfptr[76] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5379:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NREALCALL__V39*/ meltfptr[38]), (melt_ptr_t) (( /*!CLASS_NREP_MSEND */ meltfrout->tabval[28]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NREALCALL__V39*/ meltfptr[38]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "NSEND_RECV"); /*_.NRECV__V98*/ meltfptr[83] = slot; }; ; } else { /*^cond.else */ /*_.NRECV__V98*/ meltfptr[83] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5383:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NREALCALL__V39*/ meltfptr[38]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "NSEND_SEL"); /*_.NSEND_SEL__V99*/ meltfptr[81] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5385:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NREALCALL__V39*/ meltfptr[38]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "NEXPR_ARGS"); /*_.NEXPR_ARGS__V100*/ meltfptr[84] = slot; }; ; MELT_LOCATION ("warmelt-normal.melt:5380:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_NREP_MULTIMSEND */ meltfrout->tabval[29])), (7), "CLASS_NREP_MULTIMSEND"); /*_.INST__V102*/ meltfptr[101] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V102*/ meltfptr[101])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V102*/ meltfptr[101]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V102*/ meltfptr[101])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V102*/ meltfptr[101]), (1), ( /*_.LASTNTYPE__V69*/ meltfptr[65]), "NEXPR_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSEND_SEL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V102*/ meltfptr[101])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V102*/ meltfptr[101]), (3), ( /*_.NSEND_SEL__V99*/ meltfptr[81]), "NSEND_SEL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NSEND_RECV", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V102*/ meltfptr[101])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V102*/ meltfptr[101]), (4), ( /*_.NRECV__V98*/ meltfptr[83]), "NSEND_RECV"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NEXPR_ARGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V102*/ meltfptr[101])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V102*/ meltfptr[101]), (2), ( /*_.NEXPR_ARGS__V100*/ meltfptr[84]), "NEXPR_ARGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NMULSEND_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V102*/ meltfptr[101])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V102*/ meltfptr[101]), (5), ( /*_.SRESBIND__V18*/ meltfptr[17]), "NMULSEND_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NMULSEND_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V102*/ meltfptr[101])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V102*/ meltfptr[101]), (6), ( /*_.WNBODYLET__V61*/ meltfptr[57]), "NMULSEND_BODY"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V102*/ meltfptr[101], "newly made instance"); ; /*_.NRES__V101*/ meltfptr[77] = /*_.INST__V102*/ meltfptr[101];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5389:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L23*/ 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:5389:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L23*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L24*/ meltfnum[20] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5389:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L24*/ meltfnum[20]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5389; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_multicall nrecv from multicall"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NRECV__V98*/ meltfptr[83]; /*_.MELT_DEBUG_FUN__V105*/ meltfptr[104] = 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___V104*/ meltfptr[103] = /*_.MELT_DEBUG_FUN__V105*/ meltfptr[104];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5389:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L24*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V105*/ meltfptr[104] = 0; } ; } else { /*^cond.else */ /*_._IF___V104*/ meltfptr[103] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5389:/ quasiblock"); /*_.PROGN___V106*/ meltfptr[104] = /*_._IF___V104*/ meltfptr[103];; /*^compute */ /*_.IFCPP___V103*/ meltfptr[102] = /*_.PROGN___V106*/ meltfptr[104];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5389:/ clear"); /*clear *//*_#MELT_NEED_DBG__L23*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_._IF___V104*/ meltfptr[103] = 0; /*^clear */ /*clear *//*_.PROGN___V106*/ meltfptr[104] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V103*/ meltfptr[102] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5390:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L25*/ meltfnum[20] = (melt_magic_discr ((melt_ptr_t) ( /*_.NRECV__V98*/ meltfptr[83])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-normal.melt:5390:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L25*/ meltfnum[20]) /*then */ { /*^cond.then */ /*_._IFELSE___V108*/ meltfptr[104] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5390:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nrecv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5390) ? (5390) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V108*/ meltfptr[104] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V107*/ meltfptr[103] = /*_._IFELSE___V108*/ meltfptr[104];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5390:/ clear"); /*clear *//*_#IS_OBJECT__L25*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_._IFELSE___V108*/ meltfptr[104] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V107*/ meltfptr[103] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5391:/ quasiblock"); /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.CBIND__V72*/ meltfptr[71])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CBIND__V72*/ meltfptr[71]), (2), ( /*_.NRES__V101*/ meltfptr[77]), "LETBIND_EXPR"); ; /*^touch */ meltgc_touch ( /*_.CBIND__V72*/ meltfptr[71]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.CBIND__V72*/ meltfptr[71], "put-fields"); ; { MELT_LOCATION ("warmelt-normal.melt:5392:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NINCALLBINDINGS__V40*/ meltfptr[39]), (melt_ptr_t) ( /*_.CBIND__V72*/ meltfptr[71])); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5393:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L26*/ 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:5393:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L26*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L27*/ meltfnum[20] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5393:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L27*/ meltfnum[20]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5393; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_multicall multisend result clocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOCC__V74*/ meltfptr[73]; /*^apply.arg */ argtab[5].meltbp_cstring = " nincallbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NINCALLBINDINGS__V40*/ meltfptr[39]; /*_.MELT_DEBUG_FUN__V111*/ meltfptr[110] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V110*/ meltfptr[109] = /*_.MELT_DEBUG_FUN__V111*/ meltfptr[110];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5393:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L27*/ meltfnum[20] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V111*/ meltfptr[110] = 0; } ; } else { /*^cond.else */ /*_._IF___V110*/ meltfptr[109] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5393:/ quasiblock"); /*_.PROGN___V112*/ meltfptr[110] = /*_._IF___V110*/ meltfptr[109];; /*^compute */ /*_.IFCPP___V109*/ meltfptr[104] = /*_.PROGN___V112*/ meltfptr[110];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5393:/ clear"); /*clear *//*_#MELT_NEED_DBG__L26*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_._IF___V110*/ meltfptr[109] = 0; /*^clear */ /*clear *//*_.PROGN___V112*/ meltfptr[110] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V109*/ meltfptr[104] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5395:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CLOCC__V74*/ meltfptr[73];; MELT_LOCATION ("warmelt-normal.melt:5395:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NINCALLBINDINGS__V40*/ meltfptr[39]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V97*/ meltfptr[85] = /*_.RETURN___V113*/ meltfptr[109];; MELT_LOCATION ("warmelt-normal.melt:5379:/ clear"); /*clear *//*_.NRECV__V98*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.NSEND_SEL__V99*/ meltfptr[81] = 0; /*^clear */ /*clear *//*_.NEXPR_ARGS__V100*/ meltfptr[84] = 0; /*^clear */ /*clear *//*_.NRES__V101*/ meltfptr[77] = 0; /*^clear */ /*clear *//*_.IFCPP___V103*/ meltfptr[102] = 0; /*^clear */ /*clear *//*_.IFCPP___V107*/ meltfptr[103] = 0; /*^clear */ /*clear *//*_.IFCPP___V109*/ meltfptr[104] = 0; /*^clear */ /*clear *//*_.RETURN___V113*/ meltfptr[109] = 0; MELT_LOCATION ("warmelt-normal.melt:5375:/ quasiblock"); /*_.PROGN___V114*/ meltfptr[110] = /*_.LET___V97*/ meltfptr[85];; /*^compute */ /*_._IFELSE___V90*/ meltfptr[79] = /*_.PROGN___V114*/ meltfptr[110];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5375:/ clear"); /*clear *//*_.IFCPP___V91*/ meltfptr[80] = 0; /*^clear */ /*clear *//*_.IFCPP___V95*/ meltfptr[76] = 0; /*^clear */ /*clear *//*_.LET___V97*/ meltfptr[85] = 0; /*^clear */ /*clear *//*_.PROGN___V114*/ meltfptr[110] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:5399:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("multi-called expression neither apply nor send"), (melt_ptr_t) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5400:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = ( /*nil */ NULL);; { MELT_LOCATION ("warmelt-normal.melt:5400:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:5398:/ quasiblock"); /*_.PROGN___V116*/ meltfptr[81] = /*_.RETURN___V115*/ meltfptr[83];; /*^compute */ /*_._IFELSE___V90*/ meltfptr[79] = /*_.PROGN___V116*/ meltfptr[81];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5375:/ clear"); /*clear *//*_.RETURN___V115*/ meltfptr[83] = 0; /*^clear */ /*clear *//*_.PROGN___V116*/ meltfptr[81] = 0; } ; } ; /*_._IFELSE___V76*/ meltfptr[75] = /*_._IFELSE___V90*/ meltfptr[79];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5359:/ clear"); /*clear *//*_#IS_A__L19*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_._IFELSE___V90*/ meltfptr[79] = 0; } ; } ; /*_.LET___V67*/ meltfptr[62] = /*_._IFELSE___V76*/ meltfptr[75];; MELT_LOCATION ("warmelt-normal.melt:5341:/ clear"); /*clear *//*_.LASTNBODY__V68*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.LASTNTYPE__V69*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.CSYM__V71*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_.CBIND__V72*/ meltfptr[71] = 0; /*^clear */ /*clear *//*_.CLOCC__V74*/ meltfptr[73] = 0; /*^clear */ /*clear *//*_#IS_A__L15*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V76*/ meltfptr[75] = 0; /*_.LET___V60*/ meltfptr[56] = /*_.LET___V67*/ meltfptr[62];; MELT_LOCATION ("warmelt-normal.melt:5334:/ clear"); /*clear *//*_.WNBODYLET__V61*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.LET___V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.LET___V67*/ meltfptr[62] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V53*/ meltfptr[52] = /*_.LET___V60*/ meltfptr[56];; MELT_LOCATION ("warmelt-normal.melt:5330:/ clear"); /*clear *//*_.IFCPP___V56*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.LET___V60*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.NBODYBINDINGS__V55*/ meltfptr[54] = 0; /*_.LET___V35*/ meltfptr[30] = /*_.MULTI___V53*/ meltfptr[52];; MELT_LOCATION ("warmelt-normal.melt:5308:/ clear"); /*clear *//*_.NCALLSYM__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.NCONTCALL__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.NREALCALL__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.NINCALLBINDINGS__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.LAMBDA___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.LIST_ITERATE_TEST__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.SETQ___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 *//*_.MULTI___V53*/ meltfptr[52] = 0; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V26*/ meltfptr[22] = /*_.LET___V35*/ meltfptr[30];; MELT_LOCATION ("warmelt-normal.melt:5300:/ clear"); /*clear *//*_.IFCPP___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V33*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.LET___V35*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.NCALLBINDINGS__V28*/ meltfptr[27] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V26*/ meltfptr[22];; MELT_LOCATION ("warmelt-normal.melt:5293:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SRESBIND__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.SCALL__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.SBODY__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NEWENV__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.IFCPP___V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.MULTI___V26*/ meltfptr[22] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5288:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:5288:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_MULTICALL", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_94_WARMELTmiNORMAL_NORMEXP_MULTICALL_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_94_WARMELTmiNORMAL_NORMEXP_MULTICALL */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_95_WARMELTmiNORMAL_LAMBDA_cl29 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_95_WARMELTmiNORMAL_LAMBDA_cl29_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_95_WARMELTmiNORMAL_LAMBDA_cl29_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 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_95_WARMELTmiNORMAL_LAMBDA_cl29 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_95_WARMELTmiNORMAL_LAMBDA_cl29_st *) meltfirstargp_; /* use arguments meltrout_95_WARMELTmiNORMAL_LAMBDA_cl29 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 11; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_95_WARMELTmiNORMAL_LAMBDA_cl29 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_cl29", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5315:/ getarg"); /*_.CBND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5316:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CBND__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:5316:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V4*/ meltfptr[3] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5316:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("normexp_multicall check cbnd"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5316) ? (5316) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V4*/ meltfptr[3] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_._IFELSE___V4*/ meltfptr[3];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5316:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V4*/ meltfptr[3] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5317:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CBND__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.BINDER__V5*/ meltfptr[3] = slot; }; ; /*_#eqeq__L2*/ meltfnum[0] = ((( /*~NCALLSYM */ meltfclos->tabval[0])) == ( /*_.BINDER__V5*/ meltfptr[3]));; MELT_LOCATION ("warmelt-normal.melt:5317:/ cond"); /*cond */ if ( /*_#eqeq__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:5318:/ quasiblock"); /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CBND__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "LETBIND_EXPR"); /*_.NREALCALLEX__V8*/ meltfptr[7] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5319:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~NCONTCALL */ meltfclos-> tabval[1])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*~NCONTCALL */ meltfclos->tabval[1]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~NCONTCALL */ meltfclos-> tabval[1])), (0), ( /*_.NREALCALLEX__V8*/ meltfptr[7]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*~NCONTCALL */ meltfclos->tabval[1])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~NCONTCALL */ meltfclos-> tabval[1]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5320:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = ( /*nil */ NULL);; MELT_LOCATION ("warmelt-normal.melt:5320:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) (( /*nil */ NULL)); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LET___V7*/ meltfptr[6] = /*_.RETURN___V9*/ meltfptr[8];; MELT_LOCATION ("warmelt-normal.melt:5318:/ clear"); /*clear *//*_.NREALCALLEX__V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.RETURN___V9*/ meltfptr[8] = 0; /*_._IFELSE___V6*/ meltfptr[5] = /*_.LET___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5317:/ clear"); /*clear *//*_.LET___V7*/ meltfptr[6] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:5321:/ locexp"); meltgc_append_list ((melt_ptr_t) (( /*~NINCALLBINDINGS */ meltfclos-> tabval[2])), (melt_ptr_t) ( /*_.CBND__V2*/ meltfptr[1])); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5322:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CBND__V2*/ meltfptr[1];; MELT_LOCATION ("warmelt-normal.melt:5322:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) (( /*nil */ NULL)); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:5321:/ quasiblock"); /*_.PROGN___V11*/ meltfptr[8] = /*_.RETURN___V10*/ meltfptr[7];; /*^compute */ /*_._IFELSE___V6*/ meltfptr[5] = /*_.PROGN___V11*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5317:/ clear"); /*clear *//*_.RETURN___V10*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[8] = 0; } ; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5315:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_._IFELSE___V6*/ meltfptr[5];; { MELT_LOCATION ("warmelt-normal.melt:5315:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.BINDER__V5*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_#eqeq__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IFELSE___V6*/ meltfptr[5] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl29", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_95_WARMELTmiNORMAL_LAMBDA_cl29_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_95_WARMELTmiNORMAL_LAMBDA_cl29 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_96_WARMELTmiNORMAL_LAMBDA_cl30 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_96_WARMELTmiNORMAL_LAMBDA_cl30_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_96_WARMELTmiNORMAL_LAMBDA_cl30_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]; #define MELTFRAM_NBVARNUM 1 long mcfr_varnum[1]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_96_WARMELTmiNORMAL_LAMBDA_cl30 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_96_WARMELTmiNORMAL_LAMBDA_cl30_st *) meltfirstargp_; /* use arguments meltrout_96_WARMELTmiNORMAL_LAMBDA_cl30 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 3; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_96_WARMELTmiNORMAL_LAMBDA_cl30 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_cl30", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5328:/ getarg"); /*_.BND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto meltlab_endgetargs; /*_#IX__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5329:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.BND__V2*/ meltfptr[1]; /*_.PUT_ENV__V3*/ meltfptr[2] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[0])), (melt_ptr_t) (( /*~NEWENV */ meltfclos->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5328:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.PUT_ENV__V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-normal.melt:5328:/ 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 meltlabend_rout; /*epilog */ /*^clear */ /*clear *//*_.PUT_ENV__V3*/ meltfptr[2] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl30", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_96_WARMELTmiNORMAL_LAMBDA_cl30_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_96_WARMELTmiNORMAL_LAMBDA_cl30 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_97_WARMELTmiNORMAL_LAMBDA_cl31 (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_97_WARMELTmiNORMAL_LAMBDA_cl31_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_97_WARMELTmiNORMAL_LAMBDA_cl31_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_97_WARMELTmiNORMAL_LAMBDA_cl31 is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_97_WARMELTmiNORMAL_LAMBDA_cl31_st *) meltfirstargp_; /* use arguments meltrout_97_WARMELTmiNORMAL_LAMBDA_cl31 output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 3; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_97_WARMELTmiNORMAL_LAMBDA_cl31 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_cl31", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5338:/ getarg"); /*_.BND__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-normal.melt:5339:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.BND__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "BINDER"); /*_.BINDER__V3*/ meltfptr[2] = slot; }; ; { /*^locexp */ meltgc_remove_mapobjects ((meltmapobjects_ptr_t) (( /*~SYCMAP */ meltfclos->tabval[0])), (meltobject_ptr_t) ( /*_.BINDER__V3*/ meltfptr[2])); } ; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5338:/ clear"); /*clear *//*_.BINDER__V3*/ meltfptr[2] = 0; } ; goto meltlabend_rout; meltlabend_rout: melt_trace_end ("LAMBDA_cl31", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_97_WARMELTmiNORMAL_LAMBDA_cl31_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_97_WARMELTmiNORMAL_LAMBDA_cl31 */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_98_WARMELTmiNORMAL_NORMEXP_TUPLE (meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un * meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un * meltxrestab_) { long current_blocklevel_signals_meltrout_98_WARMELTmiNORMAL_NORMEXP_TUPLE_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long melt_call_counter__; long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++melt_call_counter__; #undef meltcallcount #define meltcallcount melt_thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct meltframe_meltrout_98_WARMELTmiNORMAL_NORMEXP_TUPLE_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 67 melt_ptr_t mcfr_varptr[67]; #define MELTFRAM_NBVARNUM 18 long mcfr_varnum[18]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_98_WARMELTmiNORMAL_NORMEXP_TUPLE is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int meltix; meltframptr_ = (struct meltframe_meltrout_98_WARMELTmiNORMAL_NORMEXP_TUPLE_st *) meltfirstargp_; /* use arguments meltrout_98_WARMELTmiNORMAL_NORMEXP_TUPLE output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; /* marking closure */ gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (meltix = 0; meltix < 67; meltix++) if (meltframptr_->mcfr_varptr[meltix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[meltix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_98_WARMELTmiNORMAL_NORMEXP_TUPLE 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_TUPLE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-normal.melt:5409:/ getarg"); /*_.RECV__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_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 meltlab_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 meltlab_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 meltlab_endgetargs; meltlab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5410:/ 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_TUPLE */ meltfrout->tabval[0])));; MELT_LOCATION ("warmelt-normal.melt:5410:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5410:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check tuple recv"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5410) ? (5410) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_._IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5410:/ 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:5411:/ 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:5411:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5411:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5411) ? (5411) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_._IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5411:/ 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:5412:/ 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:5412:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_._IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-normal.melt:5412:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check nctxt"), ("warmelt-normal.melt") ? ("warmelt-normal.melt") : __FILE__, (5412) ? (5412) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_._IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5412:/ 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:5413:/ 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:5413:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L5*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5413:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5413; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple recv"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RECV__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V13*/ meltfptr[12] = /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5413:/ clear"); /*clear *//*_#MELT_CALLCOUNT__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:5413:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_._IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5413:/ 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:5414:/ 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:5415:/ 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__V18*/ meltfptr[17] = slot; }; ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5416:/ apply"); /*apply */ { /*_.CSYMREC__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!konst_5_TUPLREC_ */ meltfrout-> tabval[5])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5417:/ apply"); /*apply */ { /*_.CSYMTUP__V20*/ meltfptr[19] = melt_apply ((meltclosure_ptr_t) (( /*!CLONE_SYMBOL */ meltfrout->tabval[4])), (melt_ptr_t) (( /*!konst_6_TUPLE_ */ meltfrout-> tabval[6])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5418:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^apply.arg */ argtab[2].meltbp_cstring = "discr_multiple"; /*_.NORMDISCRMULT__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!NORMAL_PREDEF */ meltfrout->tabval[7])), (melt_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout-> tabval[8])), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5419:/ apply"); /*apply */ { /*_.NEWENV__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!FRESH_ENV */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5421:/ 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:5421:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L7*/ meltfnum[0] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5421:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L7*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5421; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple csymrec"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CSYMREC__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V24*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5421:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = 0; } ; } else { /*^cond.else */ /*_._IF___V24*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5421:/ quasiblock"); /*_.PROGN___V26*/ meltfptr[24] = /*_._IF___V24*/ meltfptr[23];; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.PROGN___V26*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5421:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_._IF___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.PROGN___V26*/ meltfptr[24] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5422:/ quasiblock"); /*^multiapply */ /*multiapply 4args, 1x.res */ { union meltparam_un argtab[3]; union meltparam_un restab[1]; memset (&restab, 0, sizeof (restab)); memset (&argtab, 0, sizeof (argtab)); /*^multiapply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^multiapply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NCX__V4*/ meltfptr[3]; /*^multiapply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.SLOC__V17*/ meltfptr[13]; /*^multiapply.xres */ restab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V29*/ meltfptr[28]; /*^multiapply.appl */ /*_.NARGS__V28*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!NORMALIZE_TUPLE */ meltfrout->tabval[10])), (melt_ptr_t) ( /*_.SARGS__V18*/ meltfptr[17]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab); } ; /*^quasiblock */ #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5425:/ 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:5425:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L9*/ meltfnum[4] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5425:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L9*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5425; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple nargs="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NARGS__V28*/ meltfptr[24]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V29*/ meltfptr[28]; /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V31*/ meltfptr[30] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5425:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L9*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_._IF___V31*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5425:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[31] = /*_._IF___V31*/ meltfptr[30];; /*^compute */ /*_.IFCPP___V30*/ meltfptr[29] = /*_.PROGN___V33*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5425:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.PROGN___V33*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-normal.melt:5428:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct MELT_OBJECT_STRUCT (5) rinst_0__CONSTUPBIND; struct MELT_OBJECT_STRUCT (4) rinst_1__CLOCC; struct MELT_MULTIPLE_STRUCT (1) rtup_2__TUP1BIND; struct MELT_MULTIPLE_STRUCT (1) rtup_3__TUP1LOC; struct MELT_MULTIPLE_STRUCT (1) rtup_4__NBDY; struct MELT_OBJECT_STRUCT (6) rinst_5__NLETREC; struct MELT_OBJECT_STRUCT (4) rinst_6__CTUPBIND; struct MELT_OBJECT_STRUCT (4) rinst_7__CTUPLOCC; struct meltpair_st rpair_8__CTUPBIND_x1; struct meltlist_st rlist_9__CTUPBINDLIST; long meltletrec_1_endgap; } *meltletrec_1_ptr = 0; meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0); /*^blockmultialloc.initfill */ /*iniobj rinst_0__CONSTUPBIND */ /*_.CONSTUPBIND__V35*/ meltfptr[31] = (melt_ptr_t) & meltletrec_1_ptr->rinst_0__CONSTUPBIND; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_0__CONSTUPBIND", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_TUPLE_BINDING */ meltfrout->tabval[11]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_0__CONSTUPBIND", ((meltobject_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_TUPLE_BINDING */ meltfrout->tabval[11])))->meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_0__CONSTUPBIND.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NORMAL_CONSTRUCTED_TUPLE_BINDING */ meltfrout->tabval[11])); meltletrec_1_ptr->rinst_0__CONSTUPBIND.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_0__CONSTUPBIND.obj_len = 5; /*iniobj rinst_1__CLOCC */ /*_.CLOCC__V36*/ meltfptr[35] = (melt_ptr_t) & meltletrec_1_ptr->rinst_1__CLOCC; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_1__CLOCC", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[12]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_1__CLOCC", ((meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[12])))->meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_1__CLOCC.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[12])); meltletrec_1_ptr->rinst_1__CLOCC.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_1__CLOCC.obj_len = 4; /*inimult rtup_2__TUP1BIND */ /*_.TUP1BIND__V37*/ meltfptr[36] = (melt_ptr_t) & meltletrec_1_ptr->rtup_2__TUP1BIND; meltletrec_1_ptr->rtup_2__TUP1BIND.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_1_ptr->rtup_2__TUP1BIND.nbval = 1; /*inimult rtup_3__TUP1LOC */ /*_.TUP1LOC__V38*/ meltfptr[37] = (melt_ptr_t) & meltletrec_1_ptr->rtup_3__TUP1LOC; meltletrec_1_ptr->rtup_3__TUP1LOC.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_1_ptr->rtup_3__TUP1LOC.nbval = 1; /*inimult rtup_4__NBDY */ /*_.NBDY__V39*/ meltfptr[38] = (melt_ptr_t) & meltletrec_1_ptr->rtup_4__NBDY; meltletrec_1_ptr->rtup_4__NBDY.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_1_ptr->rtup_4__NBDY.nbval = 1; /*iniobj rinst_5__NLETREC */ /*_.NLETREC__V40*/ meltfptr[39] = (melt_ptr_t) & meltletrec_1_ptr->rinst_5__NLETREC; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_5__NLETREC", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[13]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_5__NLETREC", ((meltobject_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[13])))-> meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_5__NLETREC.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NREP_LETREC */ meltfrout->tabval[13])); meltletrec_1_ptr->rinst_5__NLETREC.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_5__NLETREC.obj_len = 6; /*iniobj rinst_6__CTUPBIND */ /*_.CTUPBIND__V41*/ meltfptr[40] = (melt_ptr_t) & meltletrec_1_ptr->rinst_6__CTUPBIND; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_6__CTUPBIND", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout->tabval[14]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_6__CTUPBIND", ((meltobject_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout-> tabval[14])))->meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_6__CTUPBIND.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NORMAL_LET_BINDING */ meltfrout-> tabval[14])); meltletrec_1_ptr->rinst_6__CTUPBIND.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_6__CTUPBIND.obj_len = 4; /*iniobj rinst_7__CTUPLOCC */ /*_.CTUPLOCC__V42*/ meltfptr[41] = (melt_ptr_t) & meltletrec_1_ptr->rinst_7__CTUPLOCC; if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr isobj rinst_7__CTUPLOCC", melt_magic_discr ((melt_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout->tabval[12]))) == MELTOBMAG_OBJECT); if (MELT_LIKELY (!melt_prohibit_garbcoll)) melt_assertmsg ("iniobj check.discr objmagic rinst_7__CTUPLOCC", ((meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[12])))->meltobj_magic == MELTOBMAG_OBJECT); meltletrec_1_ptr->rinst_7__CTUPLOCC.meltobj_class = (meltobject_ptr_t) (( /*!CLASS_NREP_LOCSYMOCC */ meltfrout-> tabval[12])); meltletrec_1_ptr->rinst_7__CTUPLOCC.obj_hash = melt_nonzerohash (); meltletrec_1_ptr->rinst_7__CTUPLOCC.obj_len = 4; /*inipair rpair_8__CTUPBIND_x1 */ /*_.CTUPBIND__V43*/ meltfptr[42] = (melt_ptr_t) & meltletrec_1_ptr->rpair_8__CTUPBIND_x1; meltletrec_1_ptr->rpair_8__CTUPBIND_x1.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_PAIR)))); /*inilist rlist_9__CTUPBINDLIST */ /*_.CTUPBINDLIST__V44*/ meltfptr[43] = (melt_ptr_t) & meltletrec_1_ptr->rlist_9__CTUPBINDLIST; meltletrec_1_ptr->rlist_9__CTUPBINDLIST.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); MELT_LOCATION ("warmelt-normal.melt:5429:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSTUPBIND__V35*/ meltfptr[31]), (0), ( /*_.CSYMREC__V19*/ meltfptr[18]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSTUPBIND__V35*/ meltfptr[31]), (1), ( /*_.SLOC__V17*/ meltfptr[13]), "NCONSB_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_DISCR", melt_magic_discr ((melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSTUPBIND__V35*/ meltfptr[31]), (2), ( /*_.NORMDISCRMULT__V21*/ meltfptr[20]), "NCONSB_DISCR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NCONSB_NLETREC", melt_magic_discr ((melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSTUPBIND__V35*/ meltfptr[31]), (3), ( /*_.NLETREC__V40*/ meltfptr[39]), "NCONSB_NLETREC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NTUPB_COMP", melt_magic_discr ((melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CONSTUPBIND__V35*/ meltfptr[31]), (4), ( /*_.NARGS__V28*/ meltfptr[24]), "NTUPB_COMP"); ; /*^touch */ meltgc_touch ( /*_.CONSTUPBIND__V35*/ meltfptr[31]); ; MELT_LOCATION ("warmelt-normal.melt:5436:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V36*/ meltfptr[35]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V36*/ meltfptr[35]), (1), ( /*_.CSYMREC__V19*/ meltfptr[18]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V36*/ meltfptr[35]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[15])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CLOCC__V36*/ meltfptr[35]), (3), ( /*_.CONSTUPBIND__V35*/ meltfptr[31]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.CLOCC__V36*/ meltfptr[35]); ; MELT_LOCATION ("warmelt-normal.melt:5441:/ putuple"); /*putupl#37 */ melt_assertmsg ("putupl [:5441] #37 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUP1BIND__V37*/ meltfptr[36])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:5441] #37 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUP1BIND__V37*/ meltfptr[36])))); ((meltmultiple_ptr_t) ( /*_.TUP1BIND__V37*/ meltfptr[36]))->tabval[0] = (melt_ptr_t) ( /*_.CONSTUPBIND__V35*/ meltfptr[31]); ; /*^touch */ meltgc_touch ( /*_.TUP1BIND__V37*/ meltfptr[36]); ; MELT_LOCATION ("warmelt-normal.melt:5442:/ putuple"); /*putupl#38 */ melt_assertmsg ("putupl [:5442] #38 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUP1LOC__V38*/ meltfptr[37])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:5442] #38 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUP1LOC__V38*/ meltfptr[37])))); ((meltmultiple_ptr_t) ( /*_.TUP1LOC__V38*/ meltfptr[37]))->tabval[0] = (melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35]); ; /*^touch */ meltgc_touch ( /*_.TUP1LOC__V38*/ meltfptr[37]); ; MELT_LOCATION ("warmelt-normal.melt:5443:/ putuple"); /*putupl#39 */ melt_assertmsg ("putupl [:5443] #39 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.NBDY__V39*/ meltfptr[38])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:5443] #39 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.NBDY__V39*/ meltfptr[38])))); ((meltmultiple_ptr_t) ( /*_.NBDY__V39*/ meltfptr[38]))->tabval[0] = (melt_ptr_t) ( /*_.CLOCC__V36*/ meltfptr[35]); ; /*^touch */ meltgc_touch ( /*_.NBDY__V39*/ meltfptr[38]); ; MELT_LOCATION ("warmelt-normal.melt:5444:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (1), ( /*_.TUP1BIND__V37*/ meltfptr[36]), "NLET_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLET_BODY", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (2), ( /*_.NBDY__V39*/ meltfptr[38]), "NLET_BODY"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_FILL_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (3), (( /*nil */ NULL)), "NLETREC_FILL_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_BODY_BINDINGS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (4), (( /*nil */ NULL)), "NLETREC_BODY_BINDINGS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NLETREC_LOCSYMS", melt_magic_discr ((melt_ptr_t) ( /*_.NLETREC__V40*/ meltfptr[39])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.NLETREC__V40*/ meltfptr[39]), (5), ( /*_.TUP1LOC__V38*/ meltfptr[37]), "NLETREC_LOCSYMS"); ; /*^touch */ meltgc_touch ( /*_.NLETREC__V40*/ meltfptr[39]); ; MELT_LOCATION ("warmelt-normal.melt:5454:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @BINDER", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPBIND__V41*/ meltfptr[40]), (0), ( /*_.CSYMTUP__V20*/ meltfptr[19]), "BINDER"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_TYPE", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPBIND__V41*/ meltfptr[40]), (1), (( /*!CTYPE_VALUE */ meltfrout->tabval[15])), "LETBIND_TYPE"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_EXPR", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPBIND__V41*/ meltfptr[40]), (2), ( /*_.NLETREC__V40*/ meltfptr[39]), "LETBIND_EXPR"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LETBIND_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPBIND__V41*/ meltfptr[40]), (3), ( /*_.SLOC__V17*/ meltfptr[13]), "LETBIND_LOC"); ; /*^touch */ meltgc_touch ( /*_.CTUPBIND__V41*/ meltfptr[40]); ; MELT_LOCATION ("warmelt-normal.melt:5459:/ putslot"); /*putslot */ melt_assertmsg ("putslot checkobj @NREP_LOC", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPLOCC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPLOCC__V42*/ meltfptr[41]), (0), ( /*_.SLOC__V17*/ meltfptr[13]), "NREP_LOC"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_SYMB", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPLOCC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPLOCC__V42*/ meltfptr[41]), (1), ( /*_.CSYMTUP__V20*/ meltfptr[19]), "NOCC_SYMB"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_CTYP", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPLOCC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPLOCC__V42*/ meltfptr[41]), (2), (( /*!CTYPE_VALUE */ meltfrout->tabval[15])), "NOCC_CTYP"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @NOCC_BIND", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPLOCC__V42*/ meltfptr[41])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.CTUPLOCC__V42*/ meltfptr[41]), (3), ( /*_.CTUPBIND__V41*/ meltfptr[40]), "NOCC_BIND"); ; /*^touch */ meltgc_touch ( /*_.CTUPLOCC__V42*/ meltfptr[41]); ; MELT_LOCATION ("warmelt-normal.melt:5464:/ putpairhead"); /*putpairhead */ melt_assertmsg ("putpairhead /c checkpair", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBIND__V43*/ meltfptr[42])) == MELTOBMAG_PAIR); ((meltpair_ptr_t) ( /*_.CTUPBIND__V43*/ meltfptr[42]))->hd = (melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40]); ; /*^touch */ meltgc_touch ( /*_.CTUPBIND__V43*/ meltfptr[42]); ; /*^putlist */ /*putlist */ melt_assertmsg ("putlist checklist", melt_magic_discr ((melt_ptr_t) ( /*_.CTUPBINDLIST__V44*/ meltfptr[43])) == MELTOBMAG_LIST); ((meltlist_ptr_t) ( /*_.CTUPBINDLIST__V44*/ meltfptr[43]))->first = (meltpair_ptr_t) ( /*_.CTUPBIND__V43*/ meltfptr[42]); ((meltlist_ptr_t) ( /*_.CTUPBINDLIST__V44*/ meltfptr[43]))->last = (meltpair_ptr_t) ( /*_.CTUPBIND__V43*/ meltfptr[42]); ; /*^touch */ meltgc_touch ( /*_.CTUPBINDLIST__V44*/ meltfptr[43]); ; MELT_CHECK_SIGNAL (); ; /*_#NULL__L10*/ meltfnum[4] = (( /*_.NBINDINGS__V29*/ meltfptr[28]) == NULL);; MELT_LOCATION ("warmelt-normal.melt:5466:/ cond"); /*cond */ if ( /*_#NULL__L10*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-normal.melt:5467:/ compute"); /*_.NBINDINGS__V29*/ meltfptr[28] = /*_.SETQ___V46*/ meltfptr[45] = /*_.CTUPBINDLIST__V44*/ meltfptr[43];; /*_._IFELSE___V45*/ meltfptr[44] = /*_.SETQ___V46*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5466:/ clear"); /*clear *//*_.SETQ___V46*/ meltfptr[45] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-normal.melt:5468:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.NBINDINGS__V29*/ meltfptr[28]), (melt_ptr_t) ( /*_.CTUPBIND__V41*/ meltfptr[40])); } ; /*clear *//*_._IFELSE___V45*/ meltfptr[44] = 0; /*epilog */ } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5470:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-normal.melt:5470:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L12*/ meltfnum[11] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5470:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L12*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5470; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple ctupbind"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CTUPBIND__V41*/ meltfptr[40]; /*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V48*/ meltfptr[47] = /*_.MELT_DEBUG_FUN__V49*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5470:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V49*/ meltfptr[48] = 0; } ; } else { /*^cond.else */ /*_._IF___V48*/ meltfptr[47] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5470:/ quasiblock"); /*_.PROGN___V50*/ meltfptr[48] = /*_._IF___V48*/ meltfptr[47];; /*^compute */ /*_.IFCPP___V47*/ meltfptr[45] = /*_.PROGN___V50*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5470:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.PROGN___V50*/ meltfptr[48] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V47*/ meltfptr[45] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit1__EACHLIST */ for ( /*_.CURPAIR__V51*/ meltfptr[47] = melt_list_first ((melt_ptr_t) /*_.NBINDINGS__V29*/ meltfptr[28]); melt_magic_discr ((melt_ptr_t) /*_.CURPAIR__V51*/ meltfptr[47]) == MELTOBMAG_PAIR; /*_.CURPAIR__V51*/ meltfptr[47] = melt_pair_tail ((melt_ptr_t) /*_.CURPAIR__V51*/ meltfptr[47])) { /*_.CURBIND__V52*/ meltfptr[48] = melt_pair_head ((melt_ptr_t) /*_.CURPAIR__V51*/ meltfptr[47]); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5474:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CURBIND__V52*/ meltfptr[48]; /*_.PUT_ENV__V53*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t) (( /*!PUT_ENV */ meltfrout->tabval[16])), (melt_ptr_t) ( /*_.NEWENV__V22*/ meltfptr[21]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; } /* end foreach_in_list meltcit1__EACHLIST */ /*_.CURPAIR__V51*/ meltfptr[47] = NULL; /*_.CURBIND__V52*/ meltfptr[48] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:5471:/ clear"); /*clear *//*_.CURPAIR__V51*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.CURBIND__V52*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.PUT_ENV__V53*/ meltfptr[52] = 0; } /*endciterblock FOREACH_IN_LIST */ ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.NARGS__V28*/ meltfptr[24]); for ( /*_#NIX__L13*/ meltfnum[11] = 0; ( /*_#NIX__L13*/ meltfnum[11] >= 0) && ( /*_#NIX__L13*/ meltfnum[11] < meltcit2__EACHTUP_ln); /*_#NIX__L13*/ meltfnum[11]++) { /*_.CURNARG__V54*/ meltfptr[53] = melt_multiple_nth ((melt_ptr_t) ( /*_.NARGS__V28*/ meltfptr[24]), /*_#NIX__L13*/ meltfnum[11]); MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5479:/ msend"); /*msend */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^ojbmsend.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.NEWENV__V22*/ meltfptr[21]; /*_.GET_CTYPE__V55*/ meltfptr[54] = meltgc_send ((melt_ptr_t) ( /*_.CURNARG__V54*/ meltfptr[53]), (melt_ptr_t) (( /*!GET_CTYPE */ meltfrout-> tabval[17])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_#exeq__L14*/ meltfnum[0] = (( /*_.GET_CTYPE__V55*/ meltfptr[54]) != (( /*!CTYPE_VALUE */ meltfrout->tabval[15])));; MELT_LOCATION ("warmelt-normal.melt:5479:/ cond"); /*cond */ if ( /*_#exeq__L14*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5481:/ 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:5481:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L15*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L16*/ meltfnum[15] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5481:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L16*/ meltfnum[15]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5481; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple bad curnarg"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURNARG__V54*/ meltfptr[53]; /*_.MELT_DEBUG_FUN__V59*/ meltfptr[58] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V58*/ meltfptr[57] = /*_.MELT_DEBUG_FUN__V59*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5481:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V59*/ meltfptr[58] = 0; } ; } else { /*^cond.else */ /*_._IF___V58*/ meltfptr[57] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5481:/ quasiblock"); /*_.PROGN___V60*/ meltfptr[58] = /*_._IF___V58*/ meltfptr[57];; /*^compute */ /*_.IFCPP___V57*/ meltfptr[56] = /*_.PROGN___V60*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5481:/ clear"); /*clear *//*_#MELT_NEED_DBG__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_._IF___V58*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.PROGN___V60*/ meltfptr[58] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V57*/ meltfptr[56] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-normal.melt:5482:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.SLOC__V17*/ meltfptr[13]), ("(TUPLE ...) arguments should be values"), (melt_ptr_t) 0); } ; MELT_LOCATION ("warmelt-normal.melt:5483:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-normal.melt:5483:/ 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 meltlabend_rout; MELT_LOCATION ("warmelt-normal.melt:5480:/ quasiblock"); /*_.PROGN___V62*/ meltfptr[58] = /*_.RETURN___V61*/ meltfptr[57];; /*^compute */ /*_._IF___V56*/ meltfptr[55] = /*_.PROGN___V62*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5479:/ clear"); /*clear *//*_.IFCPP___V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.RETURN___V61*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.PROGN___V62*/ meltfptr[58] = 0; } ; } else { /*^cond.else */ /*_._IF___V56*/ meltfptr[55] = NULL;; } ; if ( /*_#NIX__L13*/ meltfnum[11] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-normal.melt:5476:/ clear"); /*clear *//*_.CURNARG__V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_#NIX__L13*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.GET_CTYPE__V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_#exeq__L14*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_._IF___V56*/ meltfptr[55] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-normal.melt:5485:/ 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:5485:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L17*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#MELT_CALLCOUNT__L18*/ meltfnum[14] = /* for melt_callcount */ #if MELT_HAVE_DEBUG && defined (meltcallcount) meltcallcount /* melt_callcount debugging */ #else 0L /* melt_callcount without debug */ #endif /* MELT_HAVE_DEBUG melt_callcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5485:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#MELT_CALLCOUNT__L18*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-normal.melt"; /*^apply.arg */ argtab[2].meltbp_long = 5485; /*^apply.arg */ argtab[3].meltbp_cstring = "normexp_tuple return ctuplocc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CTUPLOCC__V42*/ meltfptr[41]; /*^apply.arg */ argtab[5].meltbp_cstring = " nbindings="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NBINDINGS__V29*/ meltfptr[28]; /*_.MELT_DEBUG_FUN__V65*/ meltfptr[58] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_._IF___V64*/ meltfptr[57] = /*_.MELT_DEBUG_FUN__V65*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5485:/ clear"); /*clear *//*_#MELT_CALLCOUNT__L18*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V65*/ meltfptr[58] = 0; } ; } else { /*^cond.else */ /*_._IF___V64*/ meltfptr[57] = NULL;; } ; MELT_LOCATION ("warmelt-normal.melt:5485:/ quasiblock"); /*_.PROGN___V66*/ meltfptr[58] = /*_._IF___V64*/ meltfptr[57];; /*^compute */ /*_.IFCPP___V63*/ meltfptr[56] = /*_.PROGN___V66*/ meltfptr[58];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5485:/ clear"); /*clear *//*_#MELT_NEED_DBG__L17*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_._IF___V64*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.PROGN___V66*/ meltfptr[58] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V63*/ meltfptr[56] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5486:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.CTUPLOCC__V42*/ meltfptr[41];; MELT_LOCATION ("warmelt-normal.melt:5486:/ putxtraresult"); if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout; if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout; if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ( /*_.NBINDINGS__V29*/ meltfptr[28]); ; /*^finalreturn */ ; /*finalret */ goto meltlabend_rout; /*_.LETREC___V34*/ meltfptr[30] = /*_.RETURN___V67*/ meltfptr[57];; /*epilog */ MELT_LOCATION ("warmelt-normal.melt:5428:/ clear"); /*clear *//*_.CONSTUPBIND__V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CLOCC__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.TUP1BIND__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.TUP1LOC__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.NBDY__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.NLETREC__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.CTUPBIND__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.CTUPLOCC__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.CTUPBIND__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.CTUPBINDLIST__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.CONSTUPBIND__V35*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CLOCC__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.TUP1BIND__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.TUP1LOC__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.NBDY__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.NLETREC__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.CTUPBIND__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.CTUPLOCC__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.CTUPBIND__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.CTUPBINDLIST__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_#NULL__L10*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_._IFELSE___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.IFCPP___V47*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.IFCPP___V63*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.RETURN___V67*/ meltfptr[57] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; /*_.MULTI___V27*/ meltfptr[23] = /*_.LETREC___V34*/ meltfptr[30];; MELT_LOCATION ("warmelt-normal.melt:5422:/ clear"); /*clear *//*_.IFCPP___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.LETREC___V34*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.NBINDINGS__V29*/ meltfptr[28] = 0; /*_.LET___V16*/ meltfptr[12] = /*_.MULTI___V27*/ meltfptr[23];; MELT_LOCATION ("warmelt-normal.melt:5414:/ clear"); /*clear *//*_.SLOC__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.SARGS__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.CSYMREC__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CSYMTUP__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.NORMDISCRMULT__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.NEWENV__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.MULTI___V27*/ meltfptr[23] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-normal.melt:5409:/ quasiblock"); /*_._RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-normal.melt:5409:/ 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 meltlabend_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 meltlabend_rout; meltlabend_rout: melt_trace_end ("NORMEXP_TUPLE", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_98_WARMELTmiNORMAL_NORMEXP_TUPLE_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_._RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_98_WARMELTmiNORMAL_NORMEXP_TUPLE */ /**** end of warmelt-normal+03.c ****/