From 18cb1b355296522b00bdd549592a2fae8059d556 Mon Sep 17 00:00:00 2001 From: Marius Gerbershagen Date: Tue, 25 Jun 2019 19:48:43 +0200 Subject: [PATCH] fix for calling conventions treating fixed and variadic arguments differently Previously, we assumed that the fixed and variadic arguments of a variadic function were passed to the function in the same way. The arm64 calling convention used by iOS breaks this assumption by passing fixed arguments in registers or on the stack, depending on the position, while variadic arguments are always passed on the stack. Solving this problem while still allowing function redefinition at runtime requires introducing additional dispatch functions. These dispatch functions take no fixed arguments and pass all their arguments to the actual function. This dispatch is enabled by passing -DECL_C_COMPATIBLE_VARIADIC_DISPATCH to the C compiler. This problem was originally identified and a solution provided by thewhimer@gmail.com. This commit based on his work with minor improvements. --- src/c/all_symbols.d | 16 +- src/c/assignment.d | 2 +- src/c/cfun.d | 50 +- src/c/cfun_dispatch.d | 1171 +++++++++++++++++++++++++++++++------ src/c/clos/accessor.d | 22 +- src/c/clos/gfun.d | 6 +- src/c/hash.d | 7 +- src/c/interpreter.d | 3 + src/c/read.d | 4 +- src/c/symbols_list.h | 537 ++++++++--------- src/cmp/cmpcall.lsp | 9 +- src/cmp/cmplam.lsp | 4 +- src/cmp/cmpspecial.lsp | 5 +- src/cmp/cmptop.lsp | 8 +- src/cmp/proclamations.lsp | 23 + src/h/external.h | 36 +- src/h/internal.h | 4 +- src/h/legacy.h | 11 - src/h/object.h | 21 +- 19 files changed, 1402 insertions(+), 537 deletions(-) diff --git a/src/c/all_symbols.d b/src/c/all_symbols.d index 5e18e7857..6863b9b9e 100644 --- a/src/c/all_symbols.d +++ b/src/c/all_symbols.d @@ -108,7 +108,7 @@ mangle_name(cl_object output, unsigned char *source, int l) output = cl_format(4, ECL_NIL, ecl_make_constant_base_string("ECL_SYM(~S,~D)",-1), name, ecl_make_fixnum(p)); - @(return found output maxarg); + @(return found output); } } else if (!Null(symbol)) { cl_object fun = symbol->symbol.gfdef; @@ -120,8 +120,12 @@ mangle_name(cl_object output, unsigned char *source, int l) symbol = s; found = ECL_T; if (fun->cfun.narg >= 0) { - minarg = - maxarg = ecl_make_fixnum(fun->cfun.narg); + if (t == t_cfunfixed) { + minarg = + maxarg = ecl_make_fixnum(fun->cfunfixed.narg); + } else { + minarg = ecl_make_fixnum(fun->cfun.narg); + } } break; } @@ -165,12 +169,12 @@ mangle_name(cl_object output, unsigned char *source, int l) output->base_string.fillp = 0; if (!Null(package)) { if (!mangle_name(output, package->base_string.self, package->base_string.fillp)) { - @(return ECL_NIL ECL_NIL maxarg); + @(return ECL_NIL ECL_NIL minarg maxarg); } } output->base_string.self[output->base_string.fillp++] = c; if (!(dest = mangle_name(output, source, l))) { - @(return ECL_NIL ECL_NIL maxarg); + @(return ECL_NIL ECL_NIL minarg maxarg); } if (dest[-1] == '_') dest[-1] = 'M'; @@ -243,7 +247,7 @@ make_this_symbol(int i, cl_object s, int code, const char *name, if (narg >= 0) { f = ecl_make_cfun((cl_objectfn_fixed)fun, s, NULL, narg); } else { - f = ecl_make_cfun_va(fun, s, NULL); + f = ecl_make_cfun_va(fun, s, NULL, -narg - 1); } ECL_SYM_FUN(s) = f; } diff --git a/src/c/assignment.d b/src/c/assignment.d index 52f5ef4e4..e18633cbf 100644 --- a/src/c/assignment.d +++ b/src/c/assignment.d @@ -96,7 +96,7 @@ static cl_object make_setf_function_error(cl_object name) { return ecl_make_cclosure_va((cl_objectfn)unbound_setf_function_error, - name, ECL_NIL); + name, ECL_NIL, 0); } cl_object diff --git a/src/c/cfun.d b/src/c/cfun.d index 4eea0be0e..1d34b069c 100644 --- a/src/c/cfun.d +++ b/src/c/cfun.d @@ -22,45 +22,75 @@ ecl_make_cfun(cl_objectfn_fixed c_function, cl_object name, cl_object cblock, in { cl_object cf; + if (ecl_unlikely(narg < 0 || narg > ECL_C_ARGUMENTS_LIMIT)) { + FEprogram_error("ecl_make_cfun: ~a", 1, + (narg < 0) + ? ecl_make_constant_base_string("number of arguments must be greater than 0.",-1) + : ecl_make_constant_base_string("function requires too many arguments.",-1)); + } + cf = ecl_alloc_object(t_cfunfixed); - cf->cfunfixed.entry = dispatch_table[narg]; + cf->cfunfixed.entry = fixed_dispatch_table[narg]; cf->cfunfixed.entry_fixed = c_function; cf->cfunfixed.name = name; cf->cfunfixed.block = cblock; cf->cfunfixed.file = ECL_NIL; cf->cfunfixed.file_position = ecl_make_fixnum(-1); cf->cfunfixed.narg = narg; - if (ecl_unlikely(narg < 0 || narg > ECL_C_ARGUMENTS_LIMIT)) - FEprogram_error("ecl_make_cfun: function requires too many arguments.", 0); return cf; } cl_object -ecl_make_cfun_va(cl_objectfn c_function, cl_object name, cl_object cblock) +ecl_make_cfun_va(cl_objectfn c_function, cl_object name, cl_object cblock, int narg_fixed) { cl_object cf; + if (ecl_unlikely(narg_fixed < 0 || narg_fixed > ECL_C_ARGUMENTS_LIMIT)) { + FEprogram_error("ecl_make_cfun_va: ~a", 1, + (narg_fixed < 0) + ? ecl_make_constant_base_string("number of arguments must be greater than 0.",-1) + : ecl_make_constant_base_string("function requires too many arguments.",-1)); + } + cf = ecl_alloc_object(t_cfun); +#ifdef ECL_C_COMPATIBLE_VARIADIC_DISPATCH + cf->cfun.entry = variadic_dispatch_table[narg_fixed]; + cf->cfun.entry_variadic = c_function; +#else cf->cfun.entry = c_function; +#endif cf->cfun.name = name; cf->cfun.block = cblock; - cf->cfun.narg = -1; cf->cfun.file = ECL_NIL; cf->cfun.file_position = ecl_make_fixnum(-1); + cf->cfun.narg = narg_fixed; return cf; } cl_object -ecl_make_cclosure_va(cl_objectfn c_function, cl_object env, cl_object block) +ecl_make_cclosure_va(cl_objectfn c_function, cl_object env, cl_object block, int narg_fixed) { cl_object cc; + if (ecl_unlikely(narg_fixed < 0 || narg_fixed > ECL_C_ARGUMENTS_LIMIT)) { + FEprogram_error("ecl_make_cclosure_va: ~a", 1, + (narg_fixed < 0) + ? ecl_make_constant_base_string("number of arguments must be greater than 0.",-1) + : ecl_make_constant_base_string("function requires too many arguments.",-1)); + } + cc = ecl_alloc_object(t_cclosure); +#ifdef ECL_C_COMPATIBLE_VARIADIC_DISPATCH + cc->cclosure.entry = variadic_dispatch_table[narg_fixed]; + cc->cclosure.entry_variadic = c_function; +#else cc->cclosure.entry = c_function; +#endif cc->cclosure.env = env; cc->cclosure.block = block; cc->cclosure.file = ECL_NIL; cc->cclosure.file_position = ecl_make_fixnum(-1); + cc->cclosure.narg = narg_fixed; return cc; } @@ -80,18 +110,18 @@ ecl_def_c_macro(cl_object sym, cl_objectfn_fixed c_function, int narg) } void -ecl_def_c_macro_va(cl_object sym, cl_objectfn c_function) +ecl_def_c_macro_va(cl_object sym, cl_objectfn c_function, int narg_fixed) { si_fset(3, sym, - ecl_make_cfun_va(c_function, sym, ecl_symbol_value(@'si::*cblock*')), + ecl_make_cfun_va(c_function, sym, ecl_symbol_value(@'si::*cblock*'), narg_fixed), ECL_T); } void -ecl_def_c_function_va(cl_object sym, cl_objectfn c_function) +ecl_def_c_function_va(cl_object sym, cl_objectfn c_function, int narg_fixed) { si_fset(2, sym, - ecl_make_cfun_va(c_function, sym, ecl_symbol_value(@'si::*cblock*'))); + ecl_make_cfun_va(c_function, sym, ecl_symbol_value(@'si::*cblock*'), narg_fixed)); } cl_object diff --git a/src/c/cfun_dispatch.d b/src/c/cfun_dispatch.d index b2049809b..d6bb7ec59 100644 --- a/src/c/cfun_dispatch.d +++ b/src/c/cfun_dispatch.d @@ -9,516 +9,1301 @@ #error "Please adjust code to the constant!" #endif -static cl_object dispatch0 (cl_narg narg) { +typedef cl_object (*cl_objectfn_fixed0)(); +typedef cl_object (*cl_objectfn_fixed1)(cl_object); +typedef cl_object (*cl_objectfn_fixed2)(cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed3)(cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed4)(cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed5)(cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed6)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed7)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed8)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed9)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed10)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed11)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed12)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed13)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed14)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed15)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed16)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed17)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed18)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed19)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed20)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed21)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed22)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed23)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed24)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed25)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed26)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed27)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed28)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed29)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed30)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed31)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed32)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed33)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed34)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed35)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed36)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed37)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed38)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed39)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed40)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed41)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed42)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed43)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed44)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed45)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed46)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed47)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed48)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed49)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed50)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed51)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed52)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed53)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed54)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed55)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed56)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed57)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed58)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed59)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed60)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed61)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed62)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); +typedef cl_object (*cl_objectfn_fixed63)(cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object); + +static cl_object fixed_dispatch0 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; if (ecl_unlikely(narg != 0)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(); + return ((cl_objectfn_fixed0) fun->cfunfixed.entry_fixed)(); } -static cl_object dispatch1 (cl_narg narg, cl_object x0) { +static cl_object fixed_dispatch1 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[1]; if (ecl_unlikely(narg != 1)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0); + + va_start(args, narg); + for (int i = 0; i < 1; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed1) fun->cfunfixed.entry_fixed)(x[0]); } -static cl_object dispatch2 (cl_narg narg, cl_object x0, cl_object x1) { +static cl_object fixed_dispatch2 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[2]; if (ecl_unlikely(narg != 2)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1); + + va_start(args, narg); + for (int i = 0; i < 2; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed2) fun->cfunfixed.entry_fixed)(x[0], x[1]); } -static cl_object dispatch3 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2) { +static cl_object fixed_dispatch3 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[3]; if (ecl_unlikely(narg != 3)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2); + + va_start(args, narg); + for (int i = 0; i < 3; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed3) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2]); } -static cl_object dispatch4 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3) { +static cl_object fixed_dispatch4 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[4]; if (ecl_unlikely(narg != 4)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3); + + va_start(args, narg); + for (int i = 0; i < 4; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed4) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3]); } -static cl_object dispatch5 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4) { +static cl_object fixed_dispatch5 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[5]; if (ecl_unlikely(narg != 5)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4); + + va_start(args, narg); + for (int i = 0; i < 5; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed5) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4]); } -static cl_object dispatch6 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5) { +static cl_object fixed_dispatch6 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[6]; if (ecl_unlikely(narg != 6)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5); + + va_start(args, narg); + for (int i = 0; i < 6; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed6) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5]); } -static cl_object dispatch7 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6) { +static cl_object fixed_dispatch7 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[7]; if (ecl_unlikely(narg != 7)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6); + + va_start(args, narg); + for (int i = 0; i < 7; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed7) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6]); } -static cl_object dispatch8 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7) { +static cl_object fixed_dispatch8 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[8]; if (ecl_unlikely(narg != 8)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7); + + va_start(args, narg); + for (int i = 0; i < 8; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed8) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7]); } -static cl_object dispatch9 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8) { +static cl_object fixed_dispatch9 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[9]; if (ecl_unlikely(narg != 9)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8); + + va_start(args, narg); + for (int i = 0; i < 9; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed9) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8]); } -static cl_object dispatch10 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9) { +static cl_object fixed_dispatch10 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[10]; if (ecl_unlikely(narg != 10)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9); + + va_start(args, narg); + for (int i = 0; i < 10; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed10) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9]); } -static cl_object dispatch11 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10) { +static cl_object fixed_dispatch11 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[11]; if (ecl_unlikely(narg != 11)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10); + + va_start(args, narg); + for (int i = 0; i < 11; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed11) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10]); } -static cl_object dispatch12 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11) { +static cl_object fixed_dispatch12 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[12]; if (ecl_unlikely(narg != 12)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11); + + va_start(args, narg); + for (int i = 0; i < 12; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed12) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11]); } -static cl_object dispatch13 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12) { +static cl_object fixed_dispatch13 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[13]; if (ecl_unlikely(narg != 13)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12); + + va_start(args, narg); + for (int i = 0; i < 13; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed13) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12]); } -static cl_object dispatch14 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13) { +static cl_object fixed_dispatch14 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[14]; if (ecl_unlikely(narg != 14)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13); + + va_start(args, narg); + for (int i = 0; i < 14; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed14) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13]); } -static cl_object dispatch15 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14) { +static cl_object fixed_dispatch15 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[15]; if (ecl_unlikely(narg != 15)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14); + + va_start(args, narg); + for (int i = 0; i < 15; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed15) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14]); } -static cl_object dispatch16 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15) { +static cl_object fixed_dispatch16 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[16]; if (ecl_unlikely(narg != 16)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15); + + va_start(args, narg); + for (int i = 0; i < 16; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed16) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15]); } -static cl_object dispatch17 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16) { +static cl_object fixed_dispatch17 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[17]; if (ecl_unlikely(narg != 17)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16); + + va_start(args, narg); + for (int i = 0; i < 17; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed17) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16]); } -static cl_object dispatch18 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17) { +static cl_object fixed_dispatch18 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[18]; if (ecl_unlikely(narg != 18)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17); + + va_start(args, narg); + for (int i = 0; i < 18; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed18) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17]); } -static cl_object dispatch19 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18) { +static cl_object fixed_dispatch19 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[19]; if (ecl_unlikely(narg != 19)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18); + + va_start(args, narg); + for (int i = 0; i < 19; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed19) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18]); } -static cl_object dispatch20 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19) { +static cl_object fixed_dispatch20 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[20]; if (ecl_unlikely(narg != 20)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19); + + va_start(args, narg); + for (int i = 0; i < 20; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed20) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19]); } -static cl_object dispatch21 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20) { +static cl_object fixed_dispatch21 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[21]; if (ecl_unlikely(narg != 21)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20); + + va_start(args, narg); + for (int i = 0; i < 21; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed21) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20]); } -static cl_object dispatch22 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21) { +static cl_object fixed_dispatch22 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[22]; if (ecl_unlikely(narg != 22)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21); + + va_start(args, narg); + for (int i = 0; i < 22; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed22) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21]); } -static cl_object dispatch23 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22) { +static cl_object fixed_dispatch23 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[23]; if (ecl_unlikely(narg != 23)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22); + + va_start(args, narg); + for (int i = 0; i < 23; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed23) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22]); } -static cl_object dispatch24 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23) { +static cl_object fixed_dispatch24 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[24]; if (ecl_unlikely(narg != 24)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23); + + va_start(args, narg); + for (int i = 0; i < 24; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed24) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23]); } -static cl_object dispatch25 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24) { +static cl_object fixed_dispatch25 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[25]; if (ecl_unlikely(narg != 25)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24); + + va_start(args, narg); + for (int i = 0; i < 25; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed25) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24]); } -static cl_object dispatch26 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25) { +static cl_object fixed_dispatch26 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[26]; if (ecl_unlikely(narg != 26)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25); + + va_start(args, narg); + for (int i = 0; i < 26; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed26) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25]); } -static cl_object dispatch27 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26) { +static cl_object fixed_dispatch27 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[27]; if (ecl_unlikely(narg != 27)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26); + + va_start(args, narg); + for (int i = 0; i < 27; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed27) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26]); } -static cl_object dispatch28 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27) { +static cl_object fixed_dispatch28 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[28]; if (ecl_unlikely(narg != 28)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27); + + va_start(args, narg); + for (int i = 0; i < 28; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed28) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27]); } -static cl_object dispatch29 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28) { +static cl_object fixed_dispatch29 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[29]; if (ecl_unlikely(narg != 29)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28); + + va_start(args, narg); + for (int i = 0; i < 29; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed29) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28]); } -static cl_object dispatch30 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29) { +static cl_object fixed_dispatch30 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[30]; if (ecl_unlikely(narg != 30)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29); + + va_start(args, narg); + for (int i = 0; i < 30; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed30) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29]); } -static cl_object dispatch31 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30) { +static cl_object fixed_dispatch31 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[31]; if (ecl_unlikely(narg != 31)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30); + + va_start(args, narg); + for (int i = 0; i < 31; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed31) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30]); } -static cl_object dispatch32 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31) { +static cl_object fixed_dispatch32 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[32]; if (ecl_unlikely(narg != 32)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31); + + va_start(args, narg); + for (int i = 0; i < 32; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed32) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31]); } -static cl_object dispatch33 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32) { +static cl_object fixed_dispatch33 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[33]; if (ecl_unlikely(narg != 33)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32); + + va_start(args, narg); + for (int i = 0; i < 33; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed33) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32]); } -static cl_object dispatch34 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33) { +static cl_object fixed_dispatch34 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[34]; if (ecl_unlikely(narg != 34)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33); + + va_start(args, narg); + for (int i = 0; i < 34; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed34) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33]); } -static cl_object dispatch35 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34) { +static cl_object fixed_dispatch35 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[35]; if (ecl_unlikely(narg != 35)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34); + + va_start(args, narg); + for (int i = 0; i < 35; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed35) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34]); } -static cl_object dispatch36 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35) { +static cl_object fixed_dispatch36 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[36]; if (ecl_unlikely(narg != 36)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35); + + va_start(args, narg); + for (int i = 0; i < 36; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed36) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35]); } -static cl_object dispatch37 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36) { +static cl_object fixed_dispatch37 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[37]; if (ecl_unlikely(narg != 37)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36); + + va_start(args, narg); + for (int i = 0; i < 37; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed37) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36]); } -static cl_object dispatch38 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37) { +static cl_object fixed_dispatch38 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[38]; if (ecl_unlikely(narg != 38)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37); + + va_start(args, narg); + for (int i = 0; i < 38; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed38) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37]); } -static cl_object dispatch39 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38) { +static cl_object fixed_dispatch39 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[39]; if (ecl_unlikely(narg != 39)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38); + + va_start(args, narg); + for (int i = 0; i < 39; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed39) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38]); } -static cl_object dispatch40 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39) { +static cl_object fixed_dispatch40 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[40]; if (ecl_unlikely(narg != 40)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39); + + va_start(args, narg); + for (int i = 0; i < 40; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed40) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39]); } -static cl_object dispatch41 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40) { +static cl_object fixed_dispatch41 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[41]; if (ecl_unlikely(narg != 41)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40); + + va_start(args, narg); + for (int i = 0; i < 41; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed41) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40]); } -static cl_object dispatch42 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41) { +static cl_object fixed_dispatch42 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[42]; if (ecl_unlikely(narg != 42)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41); + + va_start(args, narg); + for (int i = 0; i < 42; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed42) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41]); } -static cl_object dispatch43 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42) { +static cl_object fixed_dispatch43 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[43]; if (ecl_unlikely(narg != 43)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42); + + va_start(args, narg); + for (int i = 0; i < 43; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed43) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42]); } -static cl_object dispatch44 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43) { +static cl_object fixed_dispatch44 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[44]; if (ecl_unlikely(narg != 44)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43); + + va_start(args, narg); + for (int i = 0; i < 44; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed44) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43]); } -static cl_object dispatch45 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44) { +static cl_object fixed_dispatch45 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[45]; if (ecl_unlikely(narg != 45)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44); + + va_start(args, narg); + for (int i = 0; i < 45; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed45) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44]); } -static cl_object dispatch46 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45) { +static cl_object fixed_dispatch46 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[46]; if (ecl_unlikely(narg != 46)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45); + + va_start(args, narg); + for (int i = 0; i < 46; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed46) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45]); } -static cl_object dispatch47 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46) { +static cl_object fixed_dispatch47 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[47]; if (ecl_unlikely(narg != 47)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46); + + va_start(args, narg); + for (int i = 0; i < 47; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed47) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46]); } -static cl_object dispatch48 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47) { +static cl_object fixed_dispatch48 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[48]; if (ecl_unlikely(narg != 48)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47); + + va_start(args, narg); + for (int i = 0; i < 48; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed48) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47]); } -static cl_object dispatch49 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48) { +static cl_object fixed_dispatch49 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[49]; if (ecl_unlikely(narg != 49)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48); + + va_start(args, narg); + for (int i = 0; i < 49; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed49) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48]); } -static cl_object dispatch50 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49) { +static cl_object fixed_dispatch50 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[50]; if (ecl_unlikely(narg != 50)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49); + + va_start(args, narg); + for (int i = 0; i < 50; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed50) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49]); } -static cl_object dispatch51 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50) { +static cl_object fixed_dispatch51 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[51]; if (ecl_unlikely(narg != 51)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50); + + va_start(args, narg); + for (int i = 0; i < 51; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed51) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50]); } -static cl_object dispatch52 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51) { +static cl_object fixed_dispatch52 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[52]; if (ecl_unlikely(narg != 52)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51); + + va_start(args, narg); + for (int i = 0; i < 52; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed52) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51]); } -static cl_object dispatch53 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51, cl_object x52) { +static cl_object fixed_dispatch53 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[53]; if (ecl_unlikely(narg != 53)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52); + + va_start(args, narg); + for (int i = 0; i < 53; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed53) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52]); } -static cl_object dispatch54 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51, cl_object x52, cl_object x53) { +static cl_object fixed_dispatch54 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[54]; if (ecl_unlikely(narg != 54)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53); + + va_start(args, narg); + for (int i = 0; i < 54; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed54) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53]); } -static cl_object dispatch55 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51, cl_object x52, cl_object x53, cl_object x54) { +static cl_object fixed_dispatch55 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[55]; if (ecl_unlikely(narg != 55)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54); + + va_start(args, narg); + for (int i = 0; i < 55; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed55) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54]); } -static cl_object dispatch56 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51, cl_object x52, cl_object x53, cl_object x54, cl_object x55) { +static cl_object fixed_dispatch56 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[56]; if (ecl_unlikely(narg != 56)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55); + + va_start(args, narg); + for (int i = 0; i < 56; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed56) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55]); } -static cl_object dispatch57 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51, cl_object x52, cl_object x53, cl_object x54, cl_object x55, cl_object x56) { +static cl_object fixed_dispatch57 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[57]; if (ecl_unlikely(narg != 57)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56); + + va_start(args, narg); + for (int i = 0; i < 57; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed57) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56]); } -static cl_object dispatch58 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51, cl_object x52, cl_object x53, cl_object x54, cl_object x55, cl_object x56, cl_object x57) { +static cl_object fixed_dispatch58 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[58]; if (ecl_unlikely(narg != 58)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57); + + va_start(args, narg); + for (int i = 0; i < 58; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed58) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57]); } -static cl_object dispatch59 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51, cl_object x52, cl_object x53, cl_object x54, cl_object x55, cl_object x56, cl_object x57, cl_object x58) { +static cl_object fixed_dispatch59 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[59]; if (ecl_unlikely(narg != 59)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58); + + va_start(args, narg); + for (int i = 0; i < 59; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed59) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58]); } -static cl_object dispatch60 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51, cl_object x52, cl_object x53, cl_object x54, cl_object x55, cl_object x56, cl_object x57, cl_object x58, cl_object x59) { +static cl_object fixed_dispatch60 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[60]; if (ecl_unlikely(narg != 60)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59); + + va_start(args, narg); + for (int i = 0; i < 60; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed60) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59]); } -static cl_object dispatch61 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51, cl_object x52, cl_object x53, cl_object x54, cl_object x55, cl_object x56, cl_object x57, cl_object x58, cl_object x59, cl_object x60) { +static cl_object fixed_dispatch61 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[61]; if (ecl_unlikely(narg != 61)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60); + + va_start(args, narg); + for (int i = 0; i < 61; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed61) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59], x[60]); } -static cl_object dispatch62 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51, cl_object x52, cl_object x53, cl_object x54, cl_object x55, cl_object x56, cl_object x57, cl_object x58, cl_object x59, cl_object x60, cl_object x61) { +static cl_object fixed_dispatch62 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[62]; if (ecl_unlikely(narg != 62)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61); + + va_start(args, narg); + for (int i = 0; i < 62; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed62) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59], x[60], x[61]); } -static cl_object dispatch63 (cl_narg narg, cl_object x0, cl_object x1, cl_object x2, cl_object x3, cl_object x4, cl_object x5, cl_object x6, cl_object x7, cl_object x8, cl_object x9, cl_object x10, cl_object x11, cl_object x12, cl_object x13, cl_object x14, cl_object x15, cl_object x16, cl_object x17, cl_object x18, cl_object x19, cl_object x20, cl_object x21, cl_object x22, cl_object x23, cl_object x24, cl_object x25, cl_object x26, cl_object x27, cl_object x28, cl_object x29, cl_object x30, cl_object x31, cl_object x32, cl_object x33, cl_object x34, cl_object x35, cl_object x36, cl_object x37, cl_object x38, cl_object x39, cl_object x40, cl_object x41, cl_object x42, cl_object x43, cl_object x44, cl_object x45, cl_object x46, cl_object x47, cl_object x48, cl_object x49, cl_object x50, cl_object x51, cl_object x52, cl_object x53, cl_object x54, cl_object x55, cl_object x56, cl_object x57, cl_object x58, cl_object x59, cl_object x60, cl_object x61, cl_object x62) { +static cl_object fixed_dispatch63 (cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object fun = the_env->function; + va_list args; + cl_object x[63]; if (ecl_unlikely(narg != 63)) FEwrong_num_arguments(fun); - return fun->cfunfixed.entry_fixed(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62); + + va_start(args, narg); + for (int i = 0; i < 63; i++) + x[i] = va_arg(args, cl_object); + va_end(args); + + return ((cl_objectfn_fixed63) fun->cfunfixed.entry_fixed)(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62]); } -static cl_objectfn dispatch_table[ECL_C_ARGUMENTS_LIMIT+1] = { -(cl_objectfn)dispatch0, -(cl_objectfn)dispatch1, -(cl_objectfn)dispatch2, -(cl_objectfn)dispatch3, -(cl_objectfn)dispatch4, -(cl_objectfn)dispatch5, -(cl_objectfn)dispatch6, -(cl_objectfn)dispatch7, -(cl_objectfn)dispatch8, -(cl_objectfn)dispatch9, -(cl_objectfn)dispatch10, -(cl_objectfn)dispatch11, -(cl_objectfn)dispatch12, -(cl_objectfn)dispatch13, -(cl_objectfn)dispatch14, -(cl_objectfn)dispatch15, -(cl_objectfn)dispatch16, -(cl_objectfn)dispatch17, -(cl_objectfn)dispatch18, -(cl_objectfn)dispatch19, -(cl_objectfn)dispatch20, -(cl_objectfn)dispatch21, -(cl_objectfn)dispatch22, -(cl_objectfn)dispatch23, -(cl_objectfn)dispatch24, -(cl_objectfn)dispatch25, -(cl_objectfn)dispatch26, -(cl_objectfn)dispatch27, -(cl_objectfn)dispatch28, -(cl_objectfn)dispatch29, -(cl_objectfn)dispatch30, -(cl_objectfn)dispatch31, -(cl_objectfn)dispatch32, -(cl_objectfn)dispatch33, -(cl_objectfn)dispatch34, -(cl_objectfn)dispatch35, -(cl_objectfn)dispatch36, -(cl_objectfn)dispatch37, -(cl_objectfn)dispatch38, -(cl_objectfn)dispatch39, -(cl_objectfn)dispatch40, -(cl_objectfn)dispatch41, -(cl_objectfn)dispatch42, -(cl_objectfn)dispatch43, -(cl_objectfn)dispatch44, -(cl_objectfn)dispatch45, -(cl_objectfn)dispatch46, -(cl_objectfn)dispatch47, -(cl_objectfn)dispatch48, -(cl_objectfn)dispatch49, -(cl_objectfn)dispatch50, -(cl_objectfn)dispatch51, -(cl_objectfn)dispatch52, -(cl_objectfn)dispatch53, -(cl_objectfn)dispatch54, -(cl_objectfn)dispatch55, -(cl_objectfn)dispatch56, -(cl_objectfn)dispatch57, -(cl_objectfn)dispatch58, -(cl_objectfn)dispatch59, -(cl_objectfn)dispatch60, -(cl_objectfn)dispatch61, -(cl_objectfn)dispatch62, -(cl_objectfn)dispatch63}; + +static cl_objectfn fixed_dispatch_table[ECL_C_ARGUMENTS_LIMIT+1] = { +(cl_objectfn)fixed_dispatch0, +(cl_objectfn)fixed_dispatch1, +(cl_objectfn)fixed_dispatch2, +(cl_objectfn)fixed_dispatch3, +(cl_objectfn)fixed_dispatch4, +(cl_objectfn)fixed_dispatch5, +(cl_objectfn)fixed_dispatch6, +(cl_objectfn)fixed_dispatch7, +(cl_objectfn)fixed_dispatch8, +(cl_objectfn)fixed_dispatch9, +(cl_objectfn)fixed_dispatch10, +(cl_objectfn)fixed_dispatch11, +(cl_objectfn)fixed_dispatch12, +(cl_objectfn)fixed_dispatch13, +(cl_objectfn)fixed_dispatch14, +(cl_objectfn)fixed_dispatch15, +(cl_objectfn)fixed_dispatch16, +(cl_objectfn)fixed_dispatch17, +(cl_objectfn)fixed_dispatch18, +(cl_objectfn)fixed_dispatch19, +(cl_objectfn)fixed_dispatch20, +(cl_objectfn)fixed_dispatch21, +(cl_objectfn)fixed_dispatch22, +(cl_objectfn)fixed_dispatch23, +(cl_objectfn)fixed_dispatch24, +(cl_objectfn)fixed_dispatch25, +(cl_objectfn)fixed_dispatch26, +(cl_objectfn)fixed_dispatch27, +(cl_objectfn)fixed_dispatch28, +(cl_objectfn)fixed_dispatch29, +(cl_objectfn)fixed_dispatch30, +(cl_objectfn)fixed_dispatch31, +(cl_objectfn)fixed_dispatch32, +(cl_objectfn)fixed_dispatch33, +(cl_objectfn)fixed_dispatch34, +(cl_objectfn)fixed_dispatch35, +(cl_objectfn)fixed_dispatch36, +(cl_objectfn)fixed_dispatch37, +(cl_objectfn)fixed_dispatch38, +(cl_objectfn)fixed_dispatch39, +(cl_objectfn)fixed_dispatch40, +(cl_objectfn)fixed_dispatch41, +(cl_objectfn)fixed_dispatch42, +(cl_objectfn)fixed_dispatch43, +(cl_objectfn)fixed_dispatch44, +(cl_objectfn)fixed_dispatch45, +(cl_objectfn)fixed_dispatch46, +(cl_objectfn)fixed_dispatch47, +(cl_objectfn)fixed_dispatch48, +(cl_objectfn)fixed_dispatch49, +(cl_objectfn)fixed_dispatch50, +(cl_objectfn)fixed_dispatch51, +(cl_objectfn)fixed_dispatch52, +(cl_objectfn)fixed_dispatch53, +(cl_objectfn)fixed_dispatch54, +(cl_objectfn)fixed_dispatch55, +(cl_objectfn)fixed_dispatch56, +(cl_objectfn)fixed_dispatch57, +(cl_objectfn)fixed_dispatch58, +(cl_objectfn)fixed_dispatch59, +(cl_objectfn)fixed_dispatch60, +(cl_objectfn)fixed_dispatch61, +(cl_objectfn)fixed_dispatch62, +(cl_objectfn)fixed_dispatch63}; + +#ifdef ECL_C_COMPATIBLE_VARIADIC_DISPATCH + +typedef cl_object (*cl_objectfn0)(cl_narg narg, ...); +typedef cl_object (*cl_objectfn1)(cl_narg narg, cl_object, ...); +typedef cl_object (*cl_objectfn2)(cl_narg narg, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn3)(cl_narg narg, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn4)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn5)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn6)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn7)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn8)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn9)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn10)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn11)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn12)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn13)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn14)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn15)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn16)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn17)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn18)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn19)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn20)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn21)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn22)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn23)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn24)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn25)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn26)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn27)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn28)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn29)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn30)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn31)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn32)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn33)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn34)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn35)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn36)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn37)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn38)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn39)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn40)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn41)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn42)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn43)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn44)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn45)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn46)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn47)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn48)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn49)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn50)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn51)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn52)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn53)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn54)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn55)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn56)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn57)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn58)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn59)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn60)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn61)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn62)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); +typedef cl_object (*cl_objectfn63)(cl_narg narg, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, cl_object, ...); + +#define DEFINE_VARIADIC_DISPATCH(n) \ + static cl_object variadic_dispatch ## n (cl_narg narg, ...) { \ + const cl_env_ptr the_env = ecl_process_env(); \ + cl_object fun = the_env->function; \ + va_list args; \ + cl_object x[ECL_C_ARGUMENTS_LIMIT + 1]; \ + va_start(args, narg); \ + for (int i = 0; \ + i < (narg < ECL_C_ARGUMENTS_LIMIT + 1 ? narg : ECL_C_ARGUMENTS_LIMIT + 1); \ + i++) \ + x[i] = va_arg(args, cl_object); \ + va_end(args); \ + return ((cl_objectfn ## n) fun->cfun.entry_variadic)(narg, x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63]); \ +} + +DEFINE_VARIADIC_DISPATCH(0) +DEFINE_VARIADIC_DISPATCH(1) +DEFINE_VARIADIC_DISPATCH(2) +DEFINE_VARIADIC_DISPATCH(3) +DEFINE_VARIADIC_DISPATCH(4) +DEFINE_VARIADIC_DISPATCH(5) +DEFINE_VARIADIC_DISPATCH(6) +DEFINE_VARIADIC_DISPATCH(7) +DEFINE_VARIADIC_DISPATCH(8) +DEFINE_VARIADIC_DISPATCH(9) +DEFINE_VARIADIC_DISPATCH(10) +DEFINE_VARIADIC_DISPATCH(11) +DEFINE_VARIADIC_DISPATCH(12) +DEFINE_VARIADIC_DISPATCH(13) +DEFINE_VARIADIC_DISPATCH(14) +DEFINE_VARIADIC_DISPATCH(15) +DEFINE_VARIADIC_DISPATCH(16) +DEFINE_VARIADIC_DISPATCH(17) +DEFINE_VARIADIC_DISPATCH(18) +DEFINE_VARIADIC_DISPATCH(19) +DEFINE_VARIADIC_DISPATCH(20) +DEFINE_VARIADIC_DISPATCH(21) +DEFINE_VARIADIC_DISPATCH(22) +DEFINE_VARIADIC_DISPATCH(23) +DEFINE_VARIADIC_DISPATCH(24) +DEFINE_VARIADIC_DISPATCH(25) +DEFINE_VARIADIC_DISPATCH(26) +DEFINE_VARIADIC_DISPATCH(27) +DEFINE_VARIADIC_DISPATCH(28) +DEFINE_VARIADIC_DISPATCH(29) +DEFINE_VARIADIC_DISPATCH(30) +DEFINE_VARIADIC_DISPATCH(31) +DEFINE_VARIADIC_DISPATCH(32) +DEFINE_VARIADIC_DISPATCH(33) +DEFINE_VARIADIC_DISPATCH(34) +DEFINE_VARIADIC_DISPATCH(35) +DEFINE_VARIADIC_DISPATCH(36) +DEFINE_VARIADIC_DISPATCH(37) +DEFINE_VARIADIC_DISPATCH(38) +DEFINE_VARIADIC_DISPATCH(39) +DEFINE_VARIADIC_DISPATCH(40) +DEFINE_VARIADIC_DISPATCH(41) +DEFINE_VARIADIC_DISPATCH(42) +DEFINE_VARIADIC_DISPATCH(43) +DEFINE_VARIADIC_DISPATCH(44) +DEFINE_VARIADIC_DISPATCH(45) +DEFINE_VARIADIC_DISPATCH(46) +DEFINE_VARIADIC_DISPATCH(47) +DEFINE_VARIADIC_DISPATCH(48) +DEFINE_VARIADIC_DISPATCH(49) +DEFINE_VARIADIC_DISPATCH(50) +DEFINE_VARIADIC_DISPATCH(51) +DEFINE_VARIADIC_DISPATCH(52) +DEFINE_VARIADIC_DISPATCH(53) +DEFINE_VARIADIC_DISPATCH(54) +DEFINE_VARIADIC_DISPATCH(55) +DEFINE_VARIADIC_DISPATCH(56) +DEFINE_VARIADIC_DISPATCH(57) +DEFINE_VARIADIC_DISPATCH(58) +DEFINE_VARIADIC_DISPATCH(59) +DEFINE_VARIADIC_DISPATCH(60) +DEFINE_VARIADIC_DISPATCH(61) +DEFINE_VARIADIC_DISPATCH(62) +DEFINE_VARIADIC_DISPATCH(63) + +static cl_objectfn variadic_dispatch_table[ECL_C_ARGUMENTS_LIMIT+1] = { +(cl_objectfn)variadic_dispatch0, +(cl_objectfn)variadic_dispatch1, +(cl_objectfn)variadic_dispatch2, +(cl_objectfn)variadic_dispatch3, +(cl_objectfn)variadic_dispatch4, +(cl_objectfn)variadic_dispatch5, +(cl_objectfn)variadic_dispatch6, +(cl_objectfn)variadic_dispatch7, +(cl_objectfn)variadic_dispatch8, +(cl_objectfn)variadic_dispatch9, +(cl_objectfn)variadic_dispatch10, +(cl_objectfn)variadic_dispatch11, +(cl_objectfn)variadic_dispatch12, +(cl_objectfn)variadic_dispatch13, +(cl_objectfn)variadic_dispatch14, +(cl_objectfn)variadic_dispatch15, +(cl_objectfn)variadic_dispatch16, +(cl_objectfn)variadic_dispatch17, +(cl_objectfn)variadic_dispatch18, +(cl_objectfn)variadic_dispatch19, +(cl_objectfn)variadic_dispatch20, +(cl_objectfn)variadic_dispatch21, +(cl_objectfn)variadic_dispatch22, +(cl_objectfn)variadic_dispatch23, +(cl_objectfn)variadic_dispatch24, +(cl_objectfn)variadic_dispatch25, +(cl_objectfn)variadic_dispatch26, +(cl_objectfn)variadic_dispatch27, +(cl_objectfn)variadic_dispatch28, +(cl_objectfn)variadic_dispatch29, +(cl_objectfn)variadic_dispatch30, +(cl_objectfn)variadic_dispatch31, +(cl_objectfn)variadic_dispatch32, +(cl_objectfn)variadic_dispatch33, +(cl_objectfn)variadic_dispatch34, +(cl_objectfn)variadic_dispatch35, +(cl_objectfn)variadic_dispatch36, +(cl_objectfn)variadic_dispatch37, +(cl_objectfn)variadic_dispatch38, +(cl_objectfn)variadic_dispatch39, +(cl_objectfn)variadic_dispatch40, +(cl_objectfn)variadic_dispatch41, +(cl_objectfn)variadic_dispatch42, +(cl_objectfn)variadic_dispatch43, +(cl_objectfn)variadic_dispatch44, +(cl_objectfn)variadic_dispatch45, +(cl_objectfn)variadic_dispatch46, +(cl_objectfn)variadic_dispatch47, +(cl_objectfn)variadic_dispatch48, +(cl_objectfn)variadic_dispatch49, +(cl_objectfn)variadic_dispatch50, +(cl_objectfn)variadic_dispatch51, +(cl_objectfn)variadic_dispatch52, +(cl_objectfn)variadic_dispatch53, +(cl_objectfn)variadic_dispatch54, +(cl_objectfn)variadic_dispatch55, +(cl_objectfn)variadic_dispatch56, +(cl_objectfn)variadic_dispatch57, +(cl_objectfn)variadic_dispatch58, +(cl_objectfn)variadic_dispatch59, +(cl_objectfn)variadic_dispatch60, +(cl_objectfn)variadic_dispatch61, +(cl_objectfn)variadic_dispatch62, +(cl_objectfn)variadic_dispatch63}; + +#endif diff --git a/src/c/clos/accessor.d b/src/c/clos/accessor.d index fe912879b..e7e4a0f05 100644 --- a/src/c/clos/accessor.d +++ b/src/c/clos/accessor.d @@ -114,15 +114,23 @@ ensure_up_to_date_instance(cl_object instance) } cl_object -ecl_slot_reader_dispatch(cl_narg narg, cl_object instance) +ecl_slot_reader_dispatch(cl_narg narg, ... /* cl_object instance */) { const cl_env_ptr env = ecl_process_env(); cl_object gfun = env->function; cl_object index, value; ecl_cache_record_ptr e; + cl_object instance; - unlikely_if (narg != 1) + unlikely_if (narg != 1) { FEwrong_num_arguments(gfun); + } else { + va_list args; + va_start(args, narg); + instance = va_arg(args, cl_object); + va_end(args); + } + unlikely_if (!ECL_INSTANCEP(instance)) { no_applicable_method(env, gfun, ecl_list1(instance)); return env->values[0]; @@ -159,16 +167,24 @@ ecl_slot_reader_dispatch(cl_narg narg, cl_object instance) } cl_object -ecl_slot_writer_dispatch(cl_narg narg, cl_object value, cl_object instance) +ecl_slot_writer_dispatch(cl_narg narg, ... /* cl_object value, cl_object instance */) { const cl_env_ptr env = ecl_process_env(); cl_object gfun = env->function; ecl_cache_record_ptr e; cl_object index; + cl_object value, instance; unlikely_if (narg != 2) { FEwrong_num_arguments(gfun); + } else { + va_list args; + va_start(args, narg); + value = va_arg(args, cl_object); + instance = va_arg(args, cl_object); + va_end(args); } + unlikely_if (!ECL_INSTANCEP(instance)) { no_applicable_method(env, gfun, cl_list(2, value, instance)); return env->values[0]; diff --git a/src/c/clos/gfun.d b/src/c/clos/gfun.d index 80aceb991..38759c0ea 100644 --- a/src/c/clos/gfun.d +++ b/src/c/clos/gfun.d @@ -86,13 +86,11 @@ clos_set_funcallable_instance_function(cl_object x, cl_object function_or_t) x->instance.isgf = ECL_NOT_FUNCALLABLE; x->instance.entry = FEnot_funcallable_vararg; } else if (function_or_t == @'clos::standard-optimized-reader-method') { - /* WARNING: We assume that f(a,...) behaves as f(a,b) */ x->instance.isgf = ECL_READER_DISPATCH; - x->instance.entry = (cl_objectfn)ecl_slot_reader_dispatch; + x->instance.entry = ecl_slot_reader_dispatch; } else if (function_or_t == @'clos::standard-optimized-writer-method') { - /* WARNING: We assume that f(a,...) behaves as f(a,b) */ x->instance.isgf = ECL_WRITER_DISPATCH; - x->instance.entry = (cl_objectfn)ecl_slot_writer_dispatch; + x->instance.entry = ecl_slot_writer_dispatch; } else if (Null(cl_functionp(function_or_t))) { FEwrong_type_argument(@'function', function_or_t); } else { diff --git a/src/c/hash.d b/src/c/hash.d index 31b7d9efa..f121c648d 100644 --- a/src/c/hash.d +++ b/src/c/hash.d @@ -1284,7 +1284,7 @@ cl_hash_table_count(cl_object ht) } static cl_object -si_hash_table_iterate(cl_narg narg) +si_hash_table_iterate(cl_narg narg, ...) { const cl_env_ptr the_env = ecl_process_env(); cl_object env = the_env->function->cclosure.env; @@ -1313,9 +1313,10 @@ cl_object si_hash_table_iterator(cl_object ht) { assert_type_hash_table(@[si::hash-table-iterator], 1, ht); - @(return ecl_make_cclosure_va((cl_objectfn)si_hash_table_iterate, + @(return ecl_make_cclosure_va(si_hash_table_iterate, cl_list(2, ecl_make_fixnum(-1), ht), - @'si::hash-table-iterator')); + @'si::hash-table-iterator', + 0)); } cl_object diff --git a/src/c/interpreter.d b/src/c/interpreter.d index c2932518c..22b78af61 100644 --- a/src/c/interpreter.d +++ b/src/c/interpreter.d @@ -523,6 +523,9 @@ ecl_interpret(cl_object frame, cl_object env, cl_object bytecodes) frame_aux.base); break; case t_cfun: +#ifdef ECL_C_COMPATIBLE_VARIADIC_DISPATCH + the_env->function = reg0; +#endif reg0 = APPLY(narg, reg0->cfun.entry, frame_aux.base); break; case t_cclosure: diff --git a/src/c/read.d b/src/c/read.d index 382c08b43..ec5ba4ac0 100644 --- a/src/c/read.d +++ b/src/c/read.d @@ -2425,7 +2425,7 @@ ecl_init_module(cl_object block, void (*entry_point)(cl_object)) assert(block->cblock.cfuns_size == 0 || VV != NULL); for (i = 0; i < block->cblock.cfuns_size; i++) { - const struct ecl_cfun *prototype = block->cblock.cfuns+i; + const struct ecl_cfunfixed *prototype = block->cblock.cfuns+i; cl_index fname_location = ecl_fixnum(prototype->block); cl_object fname = VV[fname_location]; cl_index location = ecl_fixnum(prototype->name); @@ -2433,7 +2433,7 @@ ecl_init_module(cl_object block, void (*entry_point)(cl_object)) int narg = prototype->narg; VV[location] = narg<0? ecl_make_cfun_va((cl_objectfn)prototype->entry, - fname, block) : + fname, block, -narg - 1) : ecl_make_cfun((cl_objectfn_fixed)prototype->entry, fname, block, narg); /* Add source file info */ diff --git a/src/c/symbols_list.h b/src/c/symbols_list.h index c52637a40..918b48229 100755 --- a/src/c/symbols_list.h +++ b/src/c/symbols_list.h @@ -21,6 +21,9 @@ #define FFI_ "FFI::" typedef struct { const char *name, *translation; + /* narg >= 0: function takes exactly narg arguments */ + /* narg < 0: function takes -narg-1 required arguments */ + int narg; } cl_symbol_initializer; #else #include "ecl_constants.h" @@ -105,11 +108,11 @@ cl_symbols[] = { {"+", CL_SPECIAL, cl_P, -1, ECL_NIL}, {"++", CL_SPECIAL, NULL, -1, ECL_NIL}, {"+++", CL_SPECIAL, NULL, -1, ECL_NIL}, -{"-", CL_SPECIAL, cl_M, -1, ECL_NIL}, +{"-", CL_SPECIAL, cl_M, -2, ECL_NIL}, {"*", CL_SPECIAL, cl_X, -1, ECL_NIL}, {"**", CL_SPECIAL, NULL, -1, ECL_NIL}, {"***", CL_SPECIAL, NULL, -1, ECL_NIL}, -{"/", CL_SPECIAL, cl_N, -1, ECL_NIL}, +{"/", CL_SPECIAL, cl_N, -2, ECL_NIL}, {"//", CL_SPECIAL, NULL, -1, ECL_NIL}, {"///", CL_SPECIAL, NULL, -1, ECL_NIL}, {"/=", CL_ORDINARY, cl_NE, -1, OBJNULL}, @@ -166,7 +169,7 @@ cl_symbols[] = { {"1-", CL_ORDINARY, cl_1M, 1, OBJNULL}, {"<", CL_ORDINARY, cl_L, -1, OBJNULL}, {"<=", CL_ORDINARY, cl_LE, -1, OBJNULL}, -{"=", CL_ORDINARY, cl_E, -1, OBJNULL}, +{"=", CL_ORDINARY, cl_E, -2, OBJNULL}, {">", CL_ORDINARY, cl_G, -1, OBJNULL}, {">=", CL_ORDINARY, cl_GE, -1, OBJNULL}, {"ABORT", CL_ORDINARY, ECL_NAME(cl_abort), -1, OBJNULL}, @@ -174,17 +177,17 @@ cl_symbols[] = { {"ACONS", CL_ORDINARY, cl_acons, 3, OBJNULL}, {"ACOS", CL_ORDINARY, ECL_NAME(cl_acos), 1, OBJNULL}, {"ACOSH", CL_ORDINARY, ECL_NAME(cl_acosh), 1, OBJNULL}, -{"ADJOIN", CL_ORDINARY, cl_adjoin, -1, OBJNULL}, -{"ADJUST-ARRAY", CL_ORDINARY, ECL_NAME(cl_adjust_array), -1, OBJNULL}, +{"ADJOIN", CL_ORDINARY, cl_adjoin, -3, OBJNULL}, +{"ADJUST-ARRAY", CL_ORDINARY, ECL_NAME(cl_adjust_array), -3, OBJNULL}, {"ADJUSTABLE-ARRAY-P", CL_ORDINARY, cl_adjustable_array_p, 1, OBJNULL}, {"ALPHA-CHAR-P", CL_ORDINARY, cl_alpha_char_p, 1, OBJNULL}, {"ALPHANUMERICP", CL_ORDINARY, cl_alphanumericp, 1, OBJNULL}, {"AND", CL_ORDINARY, NULL, -1, OBJNULL}, {"APPEND", CL_ORDINARY, cl_append, -1, OBJNULL}, -{"APPLY", CL_ORDINARY, cl_apply, -1, OBJNULL}, -{"APROPOS", CL_ORDINARY, ECL_NAME(cl_apropos), -1, OBJNULL}, -{"APROPOS-LIST", CL_ORDINARY, ECL_NAME(cl_apropos_list), -1, OBJNULL}, -{"AREF", CL_ORDINARY, cl_aref, -1, OBJNULL}, +{"APPLY", CL_ORDINARY, cl_apply, -3, OBJNULL}, +{"APROPOS", CL_ORDINARY, ECL_NAME(cl_apropos), -2, OBJNULL}, +{"APROPOS-LIST", CL_ORDINARY, ECL_NAME(cl_apropos_list), -2, OBJNULL}, +{"AREF", CL_ORDINARY, cl_aref, -2, OBJNULL}, {"ARITHMETIC-ERROR", CL_ORDINARY, NULL, -1, OBJNULL}, {"ARITHMETIC-ERROR-OPERANDS", CL_ORDINARY, NULL, -1, OBJNULL}, {"ARITHMETIC-ERROR-OPERATION", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -195,10 +198,10 @@ cl_symbols[] = { {"ARRAY-DISPLACEMENT", CL_ORDINARY, cl_array_displacement, 1, OBJNULL}, {"ARRAY-ELEMENT-TYPE", CL_ORDINARY, cl_array_element_type, 1, OBJNULL}, {"ARRAY-HAS-FILL-POINTER-P", CL_ORDINARY, cl_array_has_fill_pointer_p, 1, OBJNULL}, -{"ARRAY-IN-BOUNDS-P", CL_ORDINARY, ECL_NAME(cl_array_in_bounds_p), -1, OBJNULL}, +{"ARRAY-IN-BOUNDS-P", CL_ORDINARY, ECL_NAME(cl_array_in_bounds_p), -2, OBJNULL}, {"ARRAY-RANK", CL_ORDINARY, cl_array_rank, 1, OBJNULL}, {"ARRAY-RANK-LIMIT", CL_CONSTANT, NULL, -1, ecl_make_fixnum(ECL_ARRAY_RANK_LIMIT)}, -{"ARRAY-ROW-MAJOR-INDEX", CL_ORDINARY, ECL_NAME(cl_array_row_major_index), -1, OBJNULL}, +{"ARRAY-ROW-MAJOR-INDEX", CL_ORDINARY, ECL_NAME(cl_array_row_major_index), -2, OBJNULL}, {"ARRAY-TOTAL-SIZE", CL_ORDINARY, cl_array_total_size, 1, OBJNULL}, {"ARRAY-TOTAL-SIZE-LIMIT", CL_CONSTANT, NULL, -1, ecl_make_fixnum(ECL_ARRAY_TOTAL_LIMIT)}, {"ARRAYP", CL_ORDINARY, cl_arrayp, 1, OBJNULL}, @@ -206,29 +209,29 @@ cl_symbols[] = { {"ASIN", CL_ORDINARY, ECL_NAME(cl_asin), 1, OBJNULL}, {"ASINH", CL_ORDINARY, ECL_NAME(cl_asinh), 1, OBJNULL}, {"ASSERT", CL_ORDINARY, NULL, -1, OBJNULL}, -{"ASSOC", CL_ORDINARY, cl_assoc, -1, OBJNULL}, -{"ASSOC-IF", CL_ORDINARY, ECL_NAME(cl_assoc_if), -1, OBJNULL}, -{"ASSOC-IF-NOT", CL_ORDINARY, ECL_NAME(cl_assoc_if_not), -1, OBJNULL}, -{"ATAN", CL_ORDINARY, cl_atan, -1, OBJNULL}, +{"ASSOC", CL_ORDINARY, cl_assoc, -3, OBJNULL}, +{"ASSOC-IF", CL_ORDINARY, ECL_NAME(cl_assoc_if), -3, OBJNULL}, +{"ASSOC-IF-NOT", CL_ORDINARY, ECL_NAME(cl_assoc_if_not), -3, OBJNULL}, +{"ATAN", CL_ORDINARY, cl_atan, -2, OBJNULL}, {"ATANH", CL_ORDINARY, ECL_NAME(cl_atanh), 1, OBJNULL}, {"ATOM", CL_ORDINARY, cl_atom, 1, OBJNULL}, {"BASE-CHAR", CL_ORDINARY, NULL, -1, OBJNULL}, {"BASE-STRING", CL_ORDINARY, NULL, -1, OBJNULL}, {"BIGNUM", CL_ORDINARY, NULL, -1, OBJNULL}, -{"BIT", CL_ORDINARY, ECL_NAME(cl_bit), -1, OBJNULL}, -{"BIT-AND", CL_ORDINARY, ECL_NAME(cl_bit_and), -1, OBJNULL}, -{"BIT-ANDC1", CL_ORDINARY, ECL_NAME(cl_bit_andc1), -1, OBJNULL}, -{"BIT-ANDC2", CL_ORDINARY, ECL_NAME(cl_bit_andc2), -1, OBJNULL}, -{"BIT-EQV", CL_ORDINARY, ECL_NAME(cl_bit_eqv), -1, OBJNULL}, -{"BIT-IOR", CL_ORDINARY, ECL_NAME(cl_bit_ior), -1, OBJNULL}, -{"BIT-NAND", CL_ORDINARY, ECL_NAME(cl_bit_nand), -1, OBJNULL}, -{"BIT-NOR", CL_ORDINARY, ECL_NAME(cl_bit_nor), -1, OBJNULL}, -{"BIT-NOT", CL_ORDINARY, ECL_NAME(cl_bit_not), -1, OBJNULL}, -{"BIT-ORC1", CL_ORDINARY, ECL_NAME(cl_bit_orc1), -1, OBJNULL}, -{"BIT-ORC2", CL_ORDINARY, ECL_NAME(cl_bit_orc2), -1, OBJNULL}, +{"BIT", CL_ORDINARY, ECL_NAME(cl_bit), -2, OBJNULL}, +{"BIT-AND", CL_ORDINARY, ECL_NAME(cl_bit_and), -3, OBJNULL}, +{"BIT-ANDC1", CL_ORDINARY, ECL_NAME(cl_bit_andc1), -3, OBJNULL}, +{"BIT-ANDC2", CL_ORDINARY, ECL_NAME(cl_bit_andc2), -3, OBJNULL}, +{"BIT-EQV", CL_ORDINARY, ECL_NAME(cl_bit_eqv), -3, OBJNULL}, +{"BIT-IOR", CL_ORDINARY, ECL_NAME(cl_bit_ior), -3, OBJNULL}, +{"BIT-NAND", CL_ORDINARY, ECL_NAME(cl_bit_nand), -3, OBJNULL}, +{"BIT-NOR", CL_ORDINARY, ECL_NAME(cl_bit_nor), -3, OBJNULL}, +{"BIT-NOT", CL_ORDINARY, ECL_NAME(cl_bit_not), -2, OBJNULL}, +{"BIT-ORC1", CL_ORDINARY, ECL_NAME(cl_bit_orc1), -3, OBJNULL}, +{"BIT-ORC2", CL_ORDINARY, ECL_NAME(cl_bit_orc2), -3, OBJNULL}, {"BIT-VECTOR", CL_ORDINARY, NULL, -1, OBJNULL}, {"BIT-VECTOR-P", CL_ORDINARY, cl_bit_vector_p, 1, OBJNULL}, -{"BIT-XOR", CL_ORDINARY, ECL_NAME(cl_bit_xor), -1, OBJNULL}, +{"BIT-XOR", CL_ORDINARY, ECL_NAME(cl_bit_xor), -3, OBJNULL}, {"BLOCK", CL_FORM, NULL, -1, OBJNULL}, {"BOOLE", CL_ORDINARY, cl_boole, 3, OBJNULL}, {"BOOLE-1", CL_CONSTANT, NULL, -1, ecl_make_fixnum(ECL_BOOL1)}, @@ -253,7 +256,7 @@ cl_symbols[] = { {"BREAK", CL_ORDINARY, NULL, -1, OBJNULL}, {"BROADCAST-STREAM", CL_ORDINARY, NULL, -1, OBJNULL}, {"BROADCAST-STREAM-STREAMS", CL_ORDINARY, cl_broadcast_stream_streams, 1, OBJNULL}, -{"BUTLAST", CL_ORDINARY, cl_butlast, -1, OBJNULL}, +{"BUTLAST", CL_ORDINARY, cl_butlast, -2, OBJNULL}, {"BYTE", CL_ORDINARY, ECL_NAME(cl_byte), 2, OBJNULL}, {"BYTE-POSITION", CL_ORDINARY, ECL_NAME(cl_byte_position), 1, OBJNULL}, {"BYTE-SIZE", CL_ORDINARY, ECL_NAME(cl_byte_size), 1, OBJNULL}, @@ -291,15 +294,15 @@ cl_symbols[] = { {"CDDDR", CL_ORDINARY, cl_cdddr, 1, OBJNULL}, {"CDDR", CL_ORDINARY, cl_cddr, 1, OBJNULL}, {"CDR", CL_ORDINARY, cl_cdr, 1, OBJNULL}, -{"CEILING", CL_ORDINARY, cl_ceiling, -1, OBJNULL}, +{"CEILING", CL_ORDINARY, cl_ceiling, -2, OBJNULL}, {"CELL-ERROR", CL_ORDINARY, NULL, -1, OBJNULL}, {"CELL-ERROR-NAME", CL_ORDINARY, NULL, -1, OBJNULL}, -{"CERROR", CL_ORDINARY, cl_cerror, -1, OBJNULL}, +{"CERROR", CL_ORDINARY, cl_cerror, -3, OBJNULL}, {"CHAR", CL_ORDINARY, cl_char, 2, OBJNULL}, {"CHAR-CODE", CL_ORDINARY, cl_char_code, 1, OBJNULL}, {"CHAR-CODE-LIMIT", CL_CONSTANT, NULL, -1, ecl_make_fixnum(ECL_CHAR_CODE_LIMIT)}, {"CHAR-DOWNCASE", CL_ORDINARY, cl_char_downcase, 1, OBJNULL}, -{"CHAR-EQUAL", CL_ORDINARY, cl_char_equal, -1, OBJNULL}, +{"CHAR-EQUAL", CL_ORDINARY, cl_char_equal, -2, OBJNULL}, {"CHAR-GREATERP", CL_ORDINARY, cl_char_greaterp, -1, OBJNULL}, {"CHAR-INT", CL_ORDINARY, cl_char_int, 1, OBJNULL}, {"CHAR-LESSP", CL_ORDINARY, cl_char_lessp, -1, OBJNULL}, @@ -311,7 +314,7 @@ cl_symbols[] = { {"CHAR/=", CL_ORDINARY, cl_charNE, -1, OBJNULL}, {"CHAR<", CL_ORDINARY, cl_charL, -1, OBJNULL}, {"CHAR<=", CL_ORDINARY, cl_charLE, -1, OBJNULL}, -{"CHAR=", CL_ORDINARY, cl_charE, -1, OBJNULL}, +{"CHAR=", CL_ORDINARY, cl_charE, -2, OBJNULL}, {"CHAR>", CL_ORDINARY, cl_charG, -1, OBJNULL}, {"CHAR>=", CL_ORDINARY, cl_charGE, -1, OBJNULL}, {"CHARACTER", CL_ORDINARY, cl_character, 1, OBJNULL}, @@ -320,7 +323,7 @@ cl_symbols[] = { {"CIS", CL_ORDINARY, ECL_NAME(cl_cis), 1, OBJNULL}, {"CLEAR-INPUT", CL_ORDINARY, cl_clear_input, -1, OBJNULL}, {"CLEAR-OUTPUT", CL_ORDINARY, cl_clear_output, -1, OBJNULL}, -{"CLOSE", CL_ORDINARY, cl_close, -1, OBJNULL}, +{"CLOSE", CL_ORDINARY, cl_close, -2, OBJNULL}, {"CLRHASH", CL_ORDINARY, cl_clrhash, 1, OBJNULL}, {"CODE-CHAR", CL_ORDINARY, cl_code_char, 1, OBJNULL}, {"COERCE", CL_ORDINARY, ECL_NAME(cl_coerce), 2, OBJNULL}, @@ -333,10 +336,10 @@ cl_symbols[] = { {"COMPILER-MACRO", CL_ORDINARY, NULL, -1, OBJNULL}, {"COMPILER-MACRO-FUNCTION", CL_ORDINARY, NULL, -1, OBJNULL}, {"COMPLEMENT", CL_ORDINARY, ECL_NAME(cl_complement), 1, OBJNULL}, -{"COMPLEX", CL_ORDINARY, cl_complex, -1, OBJNULL}, +{"COMPLEX", CL_ORDINARY, cl_complex, -2, OBJNULL}, {"COMPLEXP", CL_ORDINARY, cl_complexp, 1, OBJNULL}, {"COMPUTE-RESTARTS", CL_ORDINARY, ECL_NAME(cl_compute_restarts), -1, OBJNULL}, -{"CONCATENATE", CL_ORDINARY, ECL_NAME(cl_concatenate), -1, OBJNULL}, +{"CONCATENATE", CL_ORDINARY, ECL_NAME(cl_concatenate), -2, OBJNULL}, {"CONCATENATED-STREAM", CL_ORDINARY, NULL, -1, OBJNULL}, {"CONCATENATED-STREAM-STREAMS", CL_ORDINARY, cl_concatenated_stream_streams, 1, OBJNULL}, {"COND", CL_FORM, NULL, -1, OBJNULL}, @@ -346,7 +349,7 @@ cl_symbols[] = { {"CONS", CL_ORDINARY, cl_cons, 2, OBJNULL}, {"CONSP", CL_ORDINARY, cl_consp, 1, OBJNULL}, {"CONSTANTLY", CL_ORDINARY, ECL_NAME(cl_constantly), 1, OBJNULL}, -{"CONSTANTP", CL_ORDINARY, cl_constantp, -1, OBJNULL}, +{"CONSTANTP", CL_ORDINARY, cl_constantp, -2, OBJNULL}, {"CONTROL-ERROR", CL_ORDINARY, NULL, -1, OBJNULL}, {"COPY-ALIST", CL_ORDINARY, cl_copy_alist, 1, OBJNULL}, {"COPY-LIST", CL_ORDINARY, cl_copy_list, 1, OBJNULL}, @@ -354,13 +357,13 @@ cl_symbols[] = { {"COPY-READTABLE", CL_ORDINARY, cl_copy_readtable, -1, OBJNULL}, {"COPY-SEQ", CL_ORDINARY, cl_copy_seq, 1, OBJNULL}, {"COPY-STRUCTURE", CL_ORDINARY, cl_copy_structure, 1, OBJNULL}, -{"COPY-SYMBOL", CL_ORDINARY, cl_copy_symbol, -1, OBJNULL}, +{"COPY-SYMBOL", CL_ORDINARY, cl_copy_symbol, -2, OBJNULL}, {"COPY-TREE", CL_ORDINARY, cl_copy_tree, 1, OBJNULL}, {"COS", CL_ORDINARY, cl_cos, 1, OBJNULL}, {"COSH", CL_ORDINARY, cl_cosh, 1, OBJNULL}, -{"COUNT", CL_ORDINARY, ECL_NAME(cl_count), -1, OBJNULL}, -{"COUNT-IF", CL_ORDINARY, ECL_NAME(cl_count_if), -1, OBJNULL}, -{"COUNT-IF-NOT", CL_ORDINARY, ECL_NAME(cl_count_if_not), -1, OBJNULL}, +{"COUNT", CL_ORDINARY, ECL_NAME(cl_count), -3, OBJNULL}, +{"COUNT-IF", CL_ORDINARY, ECL_NAME(cl_count_if), -3, OBJNULL}, +{"COUNT-IF-NOT", CL_ORDINARY, ECL_NAME(cl_count_if_not), -3, OBJNULL}, {"CTYPECASE", CL_ORDINARY, NULL, -1, OBJNULL}, {"DEBUG", CL_ORDINARY, NULL, -1, OBJNULL}, {"DECF", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -368,7 +371,7 @@ cl_symbols[] = { {"DECLARATION", CL_ORDINARY, NULL, -1, OBJNULL}, {"DECLARE", CL_ORDINARY, NULL, -1, OBJNULL}, {"DECODE-FLOAT", CL_ORDINARY, cl_decode_float, 1, OBJNULL}, -{"DECODE-UNIVERSAL-TIME", CL_ORDINARY, ECL_NAME(cl_decode_universal_time), -1, OBJNULL}, +{"DECODE-UNIVERSAL-TIME", CL_ORDINARY, ECL_NAME(cl_decode_universal_time), -2, OBJNULL}, {"DEFCONSTANT", CL_ORDINARY, NULL, -1, OBJNULL}, {"DEFINE-CONDITION", CL_ORDINARY, NULL, -1, OBJNULL}, {"DEFINE-COMPILER-MACRO", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -383,19 +386,19 @@ cl_symbols[] = { {"DEFTYPE", CL_ORDINARY, NULL, -1, OBJNULL}, {"DEFUN", CL_ORDINARY, NULL, -1, OBJNULL}, {"DEFVAR", CL_ORDINARY, NULL, -1, OBJNULL}, -{"DELETE", CL_ORDINARY, ECL_NAME(cl_delete), -1, OBJNULL}, -{"DELETE-DUPLICATES", CL_ORDINARY, ECL_NAME(cl_delete_duplicates), -1, OBJNULL}, +{"DELETE", CL_ORDINARY, ECL_NAME(cl_delete), -3, OBJNULL}, +{"DELETE-DUPLICATES", CL_ORDINARY, ECL_NAME(cl_delete_duplicates), -2, OBJNULL}, {"DELETE-FILE", CL_ORDINARY, cl_delete_file, 1, OBJNULL}, -{"DELETE-IF", CL_ORDINARY, ECL_NAME(cl_delete_if), -1, OBJNULL}, -{"DELETE-IF-NOT", CL_ORDINARY, ECL_NAME(cl_delete_if_not), -1, OBJNULL}, +{"DELETE-IF", CL_ORDINARY, ECL_NAME(cl_delete_if), -3, OBJNULL}, +{"DELETE-IF-NOT", CL_ORDINARY, ECL_NAME(cl_delete_if_not), -3, OBJNULL}, {"DELETE-PACKAGE", CL_ORDINARY, cl_delete_package, 1, OBJNULL}, {"DENOMINATOR", CL_ORDINARY, cl_denominator, 1, OBJNULL}, {"DEPOSIT-FIELD", CL_ORDINARY, ECL_NAME(cl_deposit_field), 3, OBJNULL}, -{"DESCRIBE", CL_ORDINARY, ECL_NAME(cl_describe), -1, OBJNULL}, +{"DESCRIBE", CL_ORDINARY, ECL_NAME(cl_describe), -2, OBJNULL}, {"DESTRUCTURING-BIND", CL_ORDINARY, NULL, -1, OBJNULL}, -{"DIGIT-CHAR", CL_ORDINARY, cl_digit_char, -1, OBJNULL}, -{"DIGIT-CHAR-P", CL_ORDINARY, cl_digit_char_p, -1, OBJNULL}, -{"DIRECTORY", CL_ORDINARY, cl_directory, -1, OBJNULL}, +{"DIGIT-CHAR", CL_ORDINARY, cl_digit_char, -2, OBJNULL}, +{"DIGIT-CHAR-P", CL_ORDINARY, cl_digit_char_p, -2, OBJNULL}, +{"DIRECTORY", CL_ORDINARY, cl_directory, -2, OBJNULL}, {"DIRECTORY-NAMESTRING", CL_ORDINARY, cl_directory_namestring, 1, OBJNULL}, {"DISASSEMBLE", CL_ORDINARY, NULL, -1, OBJNULL}, {"DIVISION-BY-ZERO", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -420,73 +423,73 @@ cl_symbols[] = { {"ED", CL_ORDINARY, NULL, -1, OBJNULL}, {"EIGHTH", CL_ORDINARY, cl_eighth, 1, OBJNULL}, {"ELT", CL_ORDINARY, cl_elt, 2, OBJNULL}, -{"ENCODE-UNIVERSAL-TIME", CL_ORDINARY, ECL_NAME(cl_encode_universal_time), -1, OBJNULL}, +{"ENCODE-UNIVERSAL-TIME", CL_ORDINARY, ECL_NAME(cl_encode_universal_time), -7, OBJNULL}, {"END-OF-FILE", CL_ORDINARY, NULL, -1, OBJNULL}, {"ENDP", CL_ORDINARY, cl_endp, 1, OBJNULL}, -{"ENOUGH-NAMESTRING", CL_ORDINARY, cl_enough_namestring, -1, OBJNULL}, -{"ENSURE-DIRECTORIES-EXIST", CL_ORDINARY, ECL_NAME(cl_ensure_directories_exist), -1, OBJNULL}, +{"ENOUGH-NAMESTRING", CL_ORDINARY, cl_enough_namestring, -2, OBJNULL}, +{"ENSURE-DIRECTORIES-EXIST", CL_ORDINARY, ECL_NAME(cl_ensure_directories_exist), -2, OBJNULL}, {"EQ", CL_ORDINARY, cl_eq, 2, OBJNULL}, {"EQL", CL_ORDINARY, cl_eql, 2, OBJNULL}, {"EQUAL", CL_ORDINARY, cl_equal, 2, OBJNULL}, {"EQUALP", CL_ORDINARY, cl_equalp, 2, OBJNULL}, -{"ERROR", CL_ORDINARY, cl_error, -1, OBJNULL}, +{"ERROR", CL_ORDINARY, cl_error, -2, OBJNULL}, {"ETYPECASE", CL_ORDINARY, NULL, -1, OBJNULL}, {"EVAL", CL_ORDINARY, cl_eval, 1, OBJNULL}, {"EVAL-WHEN", CL_FORM, NULL, -1, OBJNULL}, {"EVENP", CL_ORDINARY, cl_evenp, 1, OBJNULL}, -{"EVERY", CL_ORDINARY, ECL_NAME(cl_every), -1, OBJNULL}, +{"EVERY", CL_ORDINARY, ECL_NAME(cl_every), -3, OBJNULL}, {"EXP", CL_ORDINARY, cl_exp, 1, OBJNULL}, -{"EXPORT", CL_ORDINARY, cl_export, -1, OBJNULL}, +{"EXPORT", CL_ORDINARY, cl_export, -2, OBJNULL}, {"EXPT", CL_ORDINARY, cl_expt, 2, OBJNULL}, {"EXTENDED-CHAR", CL_ORDINARY, NULL, -1, OBJNULL}, {"FBOUNDP", CL_ORDINARY, cl_fboundp, 1, OBJNULL}, -{"FCEILING", CL_ORDINARY, ECL_NAME(cl_fceiling), -1, OBJNULL}, +{"FCEILING", CL_ORDINARY, ECL_NAME(cl_fceiling), -2, OBJNULL}, {"FDEFINITION", CL_ORDINARY, cl_fdefinition, 1, OBJNULL}, -{"FFLOOR", CL_ORDINARY, ECL_NAME(cl_ffloor), -1, OBJNULL}, +{"FFLOOR", CL_ORDINARY, ECL_NAME(cl_ffloor), -2, OBJNULL}, {"FIFTH", CL_ORDINARY, cl_fifth, 1, OBJNULL}, {"FILE-AUTHOR", CL_ORDINARY, cl_file_author, 1, OBJNULL}, {"FILE-ERROR", CL_ORDINARY, NULL, -1, OBJNULL}, {"FILE-ERROR-PATHNAME", CL_ORDINARY, NULL, -1, OBJNULL}, {"FILE-LENGTH", CL_ORDINARY, cl_file_length, 1, OBJNULL}, {"FILE-NAMESTRING", CL_ORDINARY, cl_file_namestring, 1, OBJNULL}, -{"FILE-POSITION", CL_ORDINARY, cl_file_position, -1, OBJNULL}, +{"FILE-POSITION", CL_ORDINARY, cl_file_position, -2, OBJNULL}, {"FILE-STREAM", CL_ORDINARY, NULL, -1, OBJNULL}, {"FILE-STRING-LENGTH", CL_ORDINARY, cl_file_string_length, 2, OBJNULL}, {"FILE-WRITE-DATE", CL_ORDINARY, cl_file_write_date, 1, OBJNULL}, -{"FILL", CL_ORDINARY, ECL_NAME(cl_fill), -1, OBJNULL}, +{"FILL", CL_ORDINARY, ECL_NAME(cl_fill), -3, OBJNULL}, {"FILL-POINTER", CL_ORDINARY, cl_fill_pointer, 1, OBJNULL}, -{"FIND", CL_ORDINARY, ECL_NAME(cl_find), -1, OBJNULL}, +{"FIND", CL_ORDINARY, ECL_NAME(cl_find), -3, OBJNULL}, {"FIND-ALL-SYMBOLS", CL_ORDINARY, ECL_NAME(cl_find_all_symbols), 1, OBJNULL}, -{"FIND-IF", CL_ORDINARY, ECL_NAME(cl_find_if), -1, OBJNULL}, -{"FIND-IF-NOT", CL_ORDINARY, ECL_NAME(cl_find_if_not), -1, OBJNULL}, +{"FIND-IF", CL_ORDINARY, ECL_NAME(cl_find_if), -3, OBJNULL}, +{"FIND-IF-NOT", CL_ORDINARY, ECL_NAME(cl_find_if_not), -3, OBJNULL}, {"FIND-PACKAGE", CL_ORDINARY, cl_find_package, 1, OBJNULL}, -{"FIND-RESTART", CL_ORDINARY, ECL_NAME(cl_find_restart), -1, OBJNULL}, -{"FIND-SYMBOL", CL_ORDINARY, cl_find_symbol, -1, OBJNULL}, +{"FIND-RESTART", CL_ORDINARY, ECL_NAME(cl_find_restart), -2, OBJNULL}, +{"FIND-SYMBOL", CL_ORDINARY, cl_find_symbol, -2, OBJNULL}, {"FINISH-OUTPUT", CL_ORDINARY, cl_finish_output, -1, OBJNULL}, {"FIRST", CL_ORDINARY, cl_car, 1, OBJNULL}, {"FIXNUM", CL_ORDINARY, NULL, -1, OBJNULL}, {"FLET", CL_FORM, NULL, -1, OBJNULL}, -{"FLOAT", CL_ORDINARY, cl_float, -1, OBJNULL}, +{"FLOAT", CL_ORDINARY, cl_float, -2, OBJNULL}, {"FLOAT-DIGITS", CL_ORDINARY, cl_float_digits, 1, OBJNULL}, {"FLOAT-PRECISION", CL_ORDINARY, cl_float_precision, 1, OBJNULL}, {"FLOAT-RADIX", CL_ORDINARY, cl_float_radix, 1, OBJNULL}, -{"FLOAT-SIGN", CL_ORDINARY, cl_float_sign, -1, OBJNULL}, +{"FLOAT-SIGN", CL_ORDINARY, cl_float_sign, -2, OBJNULL}, {"FLOATING-POINT-INEXACT", CL_ORDINARY, NULL, -1, OBJNULL}, {"FLOATING-POINT-INVALID-OPERATION", CL_ORDINARY, NULL, -1, OBJNULL}, {"FLOATING-POINT-OVERFLOW", CL_ORDINARY, NULL, -1, OBJNULL}, {"FLOATING-POINT-UNDERFLOW", CL_ORDINARY, NULL, -1, OBJNULL}, {"FLOATP", CL_ORDINARY, cl_floatp, 1, OBJNULL}, -{"FLOOR", CL_ORDINARY, cl_floor, -1, OBJNULL}, +{"FLOOR", CL_ORDINARY, cl_floor, -2, OBJNULL}, {"FMAKUNBOUND", CL_ORDINARY, cl_fmakunbound, 1, OBJNULL}, {"FORCE-OUTPUT", CL_ORDINARY, cl_force_output, -1, OBJNULL}, -{"FORMAT", CL_ORDINARY, cl_format, -1, OBJNULL}, +{"FORMAT", CL_ORDINARY, cl_format, -3, OBJNULL}, {"FORMATTER", CL_ORDINARY, NULL, -1, OBJNULL}, {"FOURTH", CL_ORDINARY, cl_cadddr, 1, OBJNULL}, {"FRESH-LINE", CL_ORDINARY, cl_fresh_line, -1, OBJNULL}, -{"FROUND", CL_ORDINARY, ECL_NAME(cl_fround), -1, OBJNULL}, -{"FTRUNCATE", CL_ORDINARY, ECL_NAME(cl_ftruncate), -1, OBJNULL}, +{"FROUND", CL_ORDINARY, ECL_NAME(cl_fround), -2, OBJNULL}, +{"FTRUNCATE", CL_ORDINARY, ECL_NAME(cl_ftruncate), -2, OBJNULL}, {"FTYPE", CL_ORDINARY, NULL, -1, OBJNULL}, -{"FUNCALL", CL_ORDINARY, cl_funcall, -1, OBJNULL}, +{"FUNCALL", CL_ORDINARY, cl_funcall, -2, OBJNULL}, {"FUNCTION-LAMBDA-EXPRESSION", CL_ORDINARY, cl_function_lambda_expression, 1, OBJNULL}, {"FUNCTION", CL_FORM, NULL, -1, OBJNULL}, {"FUNCTION-KEYWORDS", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -494,18 +497,18 @@ cl_symbols[] = { {"GCD", CL_ORDINARY, cl_gcd, -1, OBJNULL}, {"GENSYM", CL_ORDINARY, cl_gensym, -1, OBJNULL}, {"GENTEMP", CL_ORDINARY, cl_gentemp, -1, OBJNULL}, -{"GET", CL_ORDINARY, cl_get, -1, OBJNULL}, +{"GET", CL_ORDINARY, cl_get, -3, OBJNULL}, {"GET-DECODED-TIME", CL_ORDINARY, ECL_NAME(cl_get_decoded_time), 0, OBJNULL}, -{"GET-DISPATCH-MACRO-CHARACTER", CL_ORDINARY, cl_get_dispatch_macro_character, -1, OBJNULL}, +{"GET-DISPATCH-MACRO-CHARACTER", CL_ORDINARY, cl_get_dispatch_macro_character, -3, OBJNULL}, {"GET-INTERNAL-REAL-TIME", CL_ORDINARY, cl_get_internal_real_time, 0, OBJNULL}, {"GET-INTERNAL-RUN-TIME", CL_ORDINARY, cl_get_internal_run_time, 0, OBJNULL}, -{"GET-MACRO-CHARACTER", CL_ORDINARY, cl_get_macro_character, -1, OBJNULL}, +{"GET-MACRO-CHARACTER", CL_ORDINARY, cl_get_macro_character, -2, OBJNULL}, {"GET-OUTPUT-STREAM-STRING", CL_ORDINARY, cl_get_output_stream_string, 1, OBJNULL}, {"GET-PROPERTIES", CL_ORDINARY, cl_get_properties, 2, OBJNULL}, {"GET-SETF-EXPANSION", CL_ORDINARY, NULL, -1, OBJNULL}, {"GET-UNIVERSAL-TIME", CL_ORDINARY, cl_get_universal_time, 0, OBJNULL}, -{"GETF", CL_ORDINARY, cl_getf, -1, OBJNULL}, -{"GETHASH", CL_ORDINARY, cl_gethash, -1, OBJNULL}, +{"GETF", CL_ORDINARY, cl_getf, -3, OBJNULL}, +{"GETHASH", CL_ORDINARY, cl_gethash, -3, OBJNULL}, {"GO", CL_FORM, NULL, -1, OBJNULL}, {"GRAPHIC-CHAR-P", CL_ORDINARY, cl_graphic_char_p, 1, OBJNULL}, {"HANDLER-CASE", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -523,7 +526,7 @@ cl_symbols[] = { {"IGNORE", CL_ORDINARY, NULL, -1, OBJNULL}, {"IGNORE-ERRORS", CL_ORDINARY, NULL, -1, OBJNULL}, {"IMAGPART", CL_ORDINARY, cl_imagpart, 1, OBJNULL}, -{"IMPORT", CL_ORDINARY, cl_import, -1, OBJNULL}, +{"IMPORT", CL_ORDINARY, cl_import, -2, OBJNULL}, {"IN-PACKAGE", CL_ORDINARY, NULL, -1, OBJNULL}, {"INCF", CL_ORDINARY, NULL, -1, OBJNULL}, {"INLINE", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -534,11 +537,11 @@ cl_symbols[] = { {"INTEGER-LENGTH", CL_ORDINARY, cl_integer_length, 1, OBJNULL}, {"INTEGERP", CL_ORDINARY, cl_integerp, 1, OBJNULL}, {"INTERACTIVE-STREAM-P", CL_ORDINARY, cl_interactive_stream_p, 1, OBJNULL}, -{"INTERN", CL_ORDINARY, cl_intern, -1, OBJNULL}, +{"INTERN", CL_ORDINARY, cl_intern, -2, OBJNULL}, {"INTERNAL-TIME-UNITS-PER-SECOND", CL_CONSTANT, NULL, -1, OBJNULL}, -{"INTERSECTION", CL_ORDINARY, ECL_NAME(cl_intersection), -1, OBJNULL}, +{"INTERSECTION", CL_ORDINARY, ECL_NAME(cl_intersection), -3, OBJNULL}, {"INVOKE-DEBUGGER", CL_ORDINARY, NULL, -1, OBJNULL}, -{"INVOKE-RESTART", CL_ORDINARY, ECL_NAME(cl_invoke_restart), -1, OBJNULL}, +{"INVOKE-RESTART", CL_ORDINARY, ECL_NAME(cl_invoke_restart), -2, OBJNULL}, {"INVOKE-RESTART-INTERACTIVELY", CL_ORDINARY, ECL_NAME(cl_invoke_restart_interactively), 1, OBJNULL}, {"ISQRT", CL_ORDINARY, ECL_NAME(cl_isqrt), 1, OBJNULL}, {"KEYWORD", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -547,7 +550,7 @@ cl_symbols[] = { {"LAMBDA", CL_FORM, NULL, -1, OBJNULL}, {"LAMBDA-LIST-KEYWORDS", CL_CONSTANT, NULL, -1, OBJNULL}, {"LAMBDA-PARAMETERS-LIMIT", CL_CONSTANT, NULL, -1, ecl_make_fixnum(ECL_LAMBDA_PARAMETERS_LIMIT)}, -{"LAST", CL_ORDINARY, cl_last, -1, OBJNULL}, +{"LAST", CL_ORDINARY, cl_last, -2, OBJNULL}, {"LCM", CL_ORDINARY, cl_lcm, -1, OBJNULL}, {"LDB", CL_ORDINARY, ECL_NAME(cl_ldb), 2, OBJNULL}, {"LDB-TEST", CL_ORDINARY, ECL_NAME(cl_ldb_test), 2, OBJNULL}, @@ -579,11 +582,11 @@ cl_symbols[] = { {"LIST-LENGTH", CL_ORDINARY, cl_list_length, 1, OBJNULL}, {"LISTEN", CL_ORDINARY, cl_listen, -1, OBJNULL}, {"LISTP", CL_ORDINARY, cl_listp, 1, OBJNULL}, -{"LOAD", CL_ORDINARY, cl_load, -1, OBJNULL}, +{"LOAD", CL_ORDINARY, cl_load, -2, OBJNULL}, {"LOAD-LOGICAL-PATHNAME-TRANSLATIONS", CL_ORDINARY, ECL_NAME(cl_load_logical_pathname_translations), 1, OBJNULL}, {"LOAD-TIME-VALUE", CL_FORM, NULL, -1, OBJNULL}, {"LOCALLY", CL_FORM, NULL, -1, OBJNULL}, -{"LOG", CL_ORDINARY, cl_log, -1, OBJNULL}, +{"LOG", CL_ORDINARY, cl_log, -2, OBJNULL}, {"LOGAND", CL_ORDINARY, cl_logand, -1, OBJNULL}, {"LOGANDC1", CL_ORDINARY, cl_logandc1, 2, OBJNULL}, {"LOGANDC2", CL_ORDINARY, cl_logandc2, 2, OBJNULL}, @@ -610,48 +613,48 @@ cl_symbols[] = { {"MACHINE-INSTANCE", CL_ORDINARY, ECL_NAME(cl_machine_instance), 0, OBJNULL}, {"MACHINE-TYPE", CL_ORDINARY, ECL_NAME(cl_machine_type), 0, OBJNULL}, {"MACHINE-VERSION", CL_ORDINARY, ECL_NAME(cl_machine_version), 0, OBJNULL}, -{"MACRO-FUNCTION", CL_ORDINARY, cl_macro_function, -1, OBJNULL}, -{"MACROEXPAND", CL_ORDINARY, cl_macroexpand, -1, OBJNULL}, -{"MACROEXPAND-1", CL_ORDINARY, cl_macroexpand_1, -1, OBJNULL}, +{"MACRO-FUNCTION", CL_ORDINARY, cl_macro_function, -2, OBJNULL}, +{"MACROEXPAND", CL_ORDINARY, cl_macroexpand, -2, OBJNULL}, +{"MACROEXPAND-1", CL_ORDINARY, cl_macroexpand_1, -2, OBJNULL}, {"MACROLET", CL_FORM, NULL, -1, OBJNULL}, -{"MAKE-ARRAY", CL_ORDINARY, ECL_NAME(cl_make_array), -1, OBJNULL}, +{"MAKE-ARRAY", CL_ORDINARY, ECL_NAME(cl_make_array), -2, OBJNULL}, {"MAKE-BROADCAST-STREAM", CL_ORDINARY, cl_make_broadcast_stream, -1, OBJNULL}, -{"MAKE-CONDITION", CL_ORDINARY, ECL_NAME(cl_make_condition), -1, OBJNULL}, +{"MAKE-CONDITION", CL_ORDINARY, ECL_NAME(cl_make_condition), -2, OBJNULL}, {"MAKE-CONCATENATED-STREAM", CL_ORDINARY, cl_make_concatenated_stream, -1, OBJNULL}, -{"MAKE-DISPATCH-MACRO-CHARACTER", CL_ORDINARY, cl_make_dispatch_macro_character, -1, OBJNULL}, +{"MAKE-DISPATCH-MACRO-CHARACTER", CL_ORDINARY, cl_make_dispatch_macro_character, -2, OBJNULL}, {"MAKE-ECHO-STREAM", CL_ORDINARY, cl_make_echo_stream, 2, OBJNULL}, {"MAKE-HASH-TABLE", CL_ORDINARY, cl_make_hash_table, -1, OBJNULL}, -{"MAKE-LIST", CL_ORDINARY, cl_make_list, -1, OBJNULL}, -{"MAKE-PACKAGE", CL_ORDINARY, cl_make_package, -1, OBJNULL}, +{"MAKE-LIST", CL_ORDINARY, cl_make_list, -2, OBJNULL}, +{"MAKE-PACKAGE", CL_ORDINARY, cl_make_package, -2, OBJNULL}, {"MAKE-PATHNAME", CL_ORDINARY, cl_make_pathname, -1, OBJNULL}, {"MAKE-RANDOM-STATE", CL_ORDINARY, cl_make_random_state, -1, OBJNULL}, -{"MAKE-SEQUENCE", CL_ORDINARY, ECL_NAME(cl_make_sequence), -1, OBJNULL}, -{"MAKE-STRING", CL_ORDINARY, cl_make_string, -1, OBJNULL}, -{"MAKE-STRING-INPUT-STREAM", CL_ORDINARY, cl_make_string_input_stream, -1, OBJNULL}, +{"MAKE-SEQUENCE", CL_ORDINARY, ECL_NAME(cl_make_sequence), -3, OBJNULL}, +{"MAKE-STRING", CL_ORDINARY, cl_make_string, -2, OBJNULL}, +{"MAKE-STRING-INPUT-STREAM", CL_ORDINARY, cl_make_string_input_stream, -2, OBJNULL}, {"MAKE-STRING-OUTPUT-STREAM", CL_ORDINARY, cl_make_string_output_stream, -1, OBJNULL}, {"MAKE-SYMBOL", CL_ORDINARY, cl_make_symbol, 1, OBJNULL}, {"MAKE-SYNONYM-STREAM", CL_ORDINARY, cl_make_synonym_stream, 1, OBJNULL}, {"MAKE-TWO-WAY-STREAM", CL_ORDINARY, cl_make_two_way_stream, 2, OBJNULL}, {"MAKUNBOUND", CL_ORDINARY, cl_makunbound, 1, OBJNULL}, -{"MAP", CL_ORDINARY, ECL_NAME(cl_map), -1, OBJNULL}, -{"MAP-INTO", CL_ORDINARY, ECL_NAME(cl_map_into), -1, OBJNULL}, -{"MAPC", CL_ORDINARY, cl_mapc, -1, OBJNULL}, -{"MAPCAN", CL_ORDINARY, cl_mapcan, -1, OBJNULL}, -{"MAPCAR", CL_ORDINARY, cl_mapcar, -1, OBJNULL}, -{"MAPCON", CL_ORDINARY, cl_mapcon, -1, OBJNULL}, +{"MAP", CL_ORDINARY, ECL_NAME(cl_map), -4, OBJNULL}, +{"MAP-INTO", CL_ORDINARY, ECL_NAME(cl_map_into), -3, OBJNULL}, +{"MAPC", CL_ORDINARY, cl_mapc, -2, OBJNULL}, +{"MAPCAN", CL_ORDINARY, cl_mapcan, -2, OBJNULL}, +{"MAPCAR", CL_ORDINARY, cl_mapcar, -2, OBJNULL}, +{"MAPCON", CL_ORDINARY, cl_mapcon, -2, OBJNULL}, {"MAPHASH", CL_ORDINARY, cl_maphash, 2, OBJNULL}, -{"MAPL", CL_ORDINARY, cl_mapl, -1, OBJNULL}, -{"MAPLIST", CL_ORDINARY, cl_maplist, -1, OBJNULL}, +{"MAPL", CL_ORDINARY, cl_mapl, -2, OBJNULL}, +{"MAPLIST", CL_ORDINARY, cl_maplist, -2, OBJNULL}, {"MASK-FIELD", CL_ORDINARY, ECL_NAME(cl_mask_field), 2, OBJNULL}, -{"MAX", CL_ORDINARY, cl_max, -1, OBJNULL}, -{"MEMBER", CL_ORDINARY, cl_member, -1, OBJNULL}, -{"MEMBER-IF", CL_ORDINARY, ECL_NAME(cl_member_if), -1, OBJNULL}, -{"MEMBER-IF-NOT", CL_ORDINARY, ECL_NAME(cl_member_if_not), -1, OBJNULL}, -{"MERGE", CL_ORDINARY, ECL_NAME(cl_merge), -1, OBJNULL}, -{"MERGE-PATHNAMES", CL_ORDINARY, cl_merge_pathnames, -1, OBJNULL}, -{"MIN", CL_ORDINARY, cl_min, -1, OBJNULL}, +{"MAX", CL_ORDINARY, cl_max, -2, OBJNULL}, +{"MEMBER", CL_ORDINARY, cl_member, -3, OBJNULL}, +{"MEMBER-IF", CL_ORDINARY, ECL_NAME(cl_member_if), -3, OBJNULL}, +{"MEMBER-IF-NOT", CL_ORDINARY, ECL_NAME(cl_member_if_not), -3, OBJNULL}, +{"MERGE", CL_ORDINARY, ECL_NAME(cl_merge), -5, OBJNULL}, +{"MERGE-PATHNAMES", CL_ORDINARY, cl_merge_pathnames, -2, OBJNULL}, +{"MIN", CL_ORDINARY, cl_min, -2, OBJNULL}, {"MINUSP", CL_ORDINARY, cl_minusp, 1, OBJNULL}, -{"MISMATCH", CL_ORDINARY, ECL_NAME(cl_mismatch), -1, OBJNULL}, +{"MISMATCH", CL_ORDINARY, ECL_NAME(cl_mismatch), -3, OBJNULL}, {"MOD", CL_ORDINARY, cl_mod, 2, OBJNULL}, {"MOST-NEGATIVE-DOUBLE-FLOAT", CL_CONSTANT, NULL, -1, ECL_MOST_NEGATIVE_DOUBLE_FLOAT}, {"MOST-NEGATIVE-FIXNUM", CL_CONSTANT, NULL, -1, ecl_make_fixnum(MOST_NEGATIVE_FIXNUM)}, @@ -672,28 +675,28 @@ cl_symbols[] = { {"MULTIPLE-VALUES-LIMIT", CL_CONSTANT, NULL, -1, ecl_make_fixnum(ECL_MULTIPLE_VALUES_LIMIT)}, {"NAME-CHAR", CL_ORDINARY, cl_name_char, 1, OBJNULL}, {"NAMESTRING", CL_ORDINARY, cl_namestring, 1, OBJNULL}, -{"NBUTLAST", CL_ORDINARY, cl_nbutlast, -1, OBJNULL}, +{"NBUTLAST", CL_ORDINARY, cl_nbutlast, -2, OBJNULL}, {"NCONC", CL_ORDINARY, cl_nconc, -1, OBJNULL}, -{"NINTERSECTION", CL_ORDINARY, ECL_NAME(cl_nintersection), -1, OBJNULL}, +{"NINTERSECTION", CL_ORDINARY, ECL_NAME(cl_nintersection), -3, OBJNULL}, {"NINTH", CL_ORDINARY, cl_ninth, 1, OBJNULL}, {"NOT", CL_ORDINARY, cl_not, 1, OBJNULL}, -{"NOTANY", CL_ORDINARY, ECL_NAME(cl_notany), -1, OBJNULL}, -{"NOTEVERY", CL_ORDINARY, ECL_NAME(cl_notevery), -1, OBJNULL}, +{"NOTANY", CL_ORDINARY, ECL_NAME(cl_notany), -3, OBJNULL}, +{"NOTEVERY", CL_ORDINARY, ECL_NAME(cl_notevery), -3, OBJNULL}, {"NOTINLINE", CL_ORDINARY, NULL, -1, OBJNULL}, {"NRECONC", CL_ORDINARY, cl_nreconc, 2, OBJNULL}, {"NREVERSE", CL_ORDINARY, cl_nreverse, 1, OBJNULL}, -{"NSET-DIFFERENCE", CL_ORDINARY, ECL_NAME(cl_nset_difference), -1, OBJNULL}, -{"NSET-EXCLUSIVE-OR", CL_ORDINARY, ECL_NAME(cl_nset_exclusive_or), -1, OBJNULL}, +{"NSET-DIFFERENCE", CL_ORDINARY, ECL_NAME(cl_nset_difference), -3, OBJNULL}, +{"NSET-EXCLUSIVE-OR", CL_ORDINARY, ECL_NAME(cl_nset_exclusive_or), -3, OBJNULL}, {"NSTRING-CAPITALIZE", CL_ORDINARY, cl_nstring_capitalize, -1, OBJNULL}, {"NSTRING-DOWNCASE", CL_ORDINARY, cl_nstring_downcase, -1, OBJNULL}, {"NSTRING-UPCASE", CL_ORDINARY, cl_nstring_upcase, -1, OBJNULL}, -{"NSUBLIS", CL_ORDINARY, cl_nsublis, -1, OBJNULL}, -{"NSUBST", CL_ORDINARY, cl_nsubst, -1, OBJNULL}, -{"NSUBST-IF", CL_ORDINARY, ECL_NAME(cl_nsubst_if), -1, OBJNULL}, -{"NSUBST-IF-NOT", CL_ORDINARY, ECL_NAME(cl_nsubst_if_not), -1, OBJNULL}, -{"NSUBSTITUTE", CL_ORDINARY, ECL_NAME(cl_nsubstitute), -1, OBJNULL}, -{"NSUBSTITUTE-IF", CL_ORDINARY, ECL_NAME(cl_nsubstitute_if), -1, OBJNULL}, -{"NSUBSTITUTE-IF-NOT", CL_ORDINARY, ECL_NAME(cl_nsubstitute_if_not), -1, OBJNULL}, +{"NSUBLIS", CL_ORDINARY, cl_nsublis, -3, OBJNULL}, +{"NSUBST", CL_ORDINARY, cl_nsubst, -4, OBJNULL}, +{"NSUBST-IF", CL_ORDINARY, ECL_NAME(cl_nsubst_if), -4, OBJNULL}, +{"NSUBST-IF-NOT", CL_ORDINARY, ECL_NAME(cl_nsubst_if_not), -4, OBJNULL}, +{"NSUBSTITUTE", CL_ORDINARY, ECL_NAME(cl_nsubstitute), -4, OBJNULL}, +{"NSUBSTITUTE-IF", CL_ORDINARY, ECL_NAME(cl_nsubstitute_if), -4, OBJNULL}, +{"NSUBSTITUTE-IF-NOT", CL_ORDINARY, ECL_NAME(cl_nsubstitute_if_not), -4, OBJNULL}, {"NTH", CL_ORDINARY, cl_nth, 2, OBJNULL}, {"NTH-VALUE", CL_FORM, NULL, -1, OBJNULL}, {"NTHCDR", CL_ORDINARY, cl_nthcdr, 2, OBJNULL}, @@ -701,9 +704,9 @@ cl_symbols[] = { {"NUMBER", CL_ORDINARY, NULL, -1, OBJNULL}, {"NUMBERP", CL_ORDINARY, cl_numberp, 1, OBJNULL}, {"NUMERATOR", CL_ORDINARY, cl_numerator, 1, OBJNULL}, -{"NUNION", CL_ORDINARY, ECL_NAME(cl_nunion), -1, OBJNULL}, +{"NUNION", CL_ORDINARY, ECL_NAME(cl_nunion), -3, OBJNULL}, {"ODDP", CL_ORDINARY, cl_oddp, 1, OBJNULL}, -{"OPEN", CL_ORDINARY, cl_open, -1, OBJNULL}, +{"OPEN", CL_ORDINARY, cl_open, -2, OBJNULL}, {"OPEN-STREAM-P", CL_ORDINARY, cl_open_stream_p, 1, OBJNULL}, {"OPTIMIZE", CL_ORDINARY, NULL, -1, OBJNULL}, {"OR", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -718,17 +721,17 @@ cl_symbols[] = { {"PACKAGE-USE-LIST", CL_ORDINARY, cl_package_use_list, 1, OBJNULL}, {"PACKAGE-USED-BY-LIST", CL_ORDINARY, cl_package_used_by_list, 1, OBJNULL}, {"PACKAGEP", CL_ORDINARY, cl_packagep, 1, OBJNULL}, -{"PAIRLIS", CL_ORDINARY, cl_pairlis, -1, OBJNULL}, +{"PAIRLIS", CL_ORDINARY, cl_pairlis, -3, OBJNULL}, {"PARSE-ERROR", CL_ORDINARY, NULL, -1, OBJNULL}, -{"PARSE-INTEGER", CL_ORDINARY, cl_parse_integer, -1, OBJNULL}, -{"PARSE-NAMESTRING", CL_ORDINARY, cl_parse_namestring, -1, OBJNULL}, +{"PARSE-INTEGER", CL_ORDINARY, cl_parse_integer, -2, OBJNULL}, +{"PARSE-NAMESTRING", CL_ORDINARY, cl_parse_namestring, -2, OBJNULL}, {"PATHNAME", CL_ORDINARY, cl_pathname, 1, OBJNULL}, -{"PATHNAME-DEVICE", CL_ORDINARY, cl_pathname_device, -1, OBJNULL}, -{"PATHNAME-DIRECTORY", CL_ORDINARY, cl_pathname_directory, -1, OBJNULL}, -{"PATHNAME-HOST", CL_ORDINARY, cl_pathname_host, -1, OBJNULL}, +{"PATHNAME-DEVICE", CL_ORDINARY, cl_pathname_device, -2, OBJNULL}, +{"PATHNAME-DIRECTORY", CL_ORDINARY, cl_pathname_directory, -2, OBJNULL}, +{"PATHNAME-HOST", CL_ORDINARY, cl_pathname_host, -2, OBJNULL}, {"PATHNAME-MATCH-P", CL_ORDINARY, cl_pathname_match_p, 2, OBJNULL}, -{"PATHNAME-NAME", CL_ORDINARY, cl_pathname_name, -1, OBJNULL}, -{"PATHNAME-TYPE", CL_ORDINARY, cl_pathname_type, -1, OBJNULL}, +{"PATHNAME-NAME", CL_ORDINARY, cl_pathname_name, -2, OBJNULL}, +{"PATHNAME-TYPE", CL_ORDINARY, cl_pathname_type, -2, OBJNULL}, {"PATHNAME-VERSION", CL_ORDINARY, cl_pathname_version, 1, OBJNULL}, {"PATHNAMEP", CL_ORDINARY, cl_pathnamep, 1, OBJNULL}, {"PEEK-CHAR", CL_ORDINARY, cl_peek_char, -1, OBJNULL}, @@ -736,25 +739,25 @@ cl_symbols[] = { {"PI", CL_CONSTANT, NULL, -1, ECL_PI}, {"PLUSP", CL_ORDINARY, cl_plusp, 1, OBJNULL}, {"POP", CL_ORDINARY, NULL, -1, OBJNULL}, -{"POSITION", CL_ORDINARY, ECL_NAME(cl_position), -1, OBJNULL}, -{"POSITION-IF", CL_ORDINARY, ECL_NAME(cl_position_if), -1, OBJNULL}, -{"POSITION-IF-NOT", CL_ORDINARY, ECL_NAME(cl_position_if_not), -1, OBJNULL}, -{"PPRINT", CL_ORDINARY, cl_pprint, -1, OBJNULL}, -{"PPRINT-DISPATCH", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_dispatch), -1, OBJNULL}, +{"POSITION", CL_ORDINARY, ECL_NAME(cl_position), -3, OBJNULL}, +{"POSITION-IF", CL_ORDINARY, ECL_NAME(cl_position_if), -3, OBJNULL}, +{"POSITION-IF-NOT", CL_ORDINARY, ECL_NAME(cl_position_if_not), -3, OBJNULL}, +{"PPRINT", CL_ORDINARY, cl_pprint, -2, OBJNULL}, +{"PPRINT-DISPATCH", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_dispatch), -2, OBJNULL}, {"PPRINT-EXIT-IF-LIST-EXHAUSTED", CL_ORDINARY, NULL, -1, OBJNULL}, -{"PPRINT-FILL", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_fill), -1, OBJNULL}, -{"PPRINT-INDENT", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_indent), -1, OBJNULL}, -{"PPRINT-LINEAR", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_linear), -1, OBJNULL}, +{"PPRINT-FILL", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_fill), -3, OBJNULL}, +{"PPRINT-INDENT", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_indent), -3, OBJNULL}, +{"PPRINT-LINEAR", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_linear), -3, OBJNULL}, {"PPRINT-LOGICAL-BLOCK", CL_ORDINARY, NULL, -1, OBJNULL}, -{"PPRINT-NEWLINE", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_newline), -1, OBJNULL}, +{"PPRINT-NEWLINE", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_newline), -2, OBJNULL}, {"PPRINT-POP", CL_ORDINARY, NULL, -1, OBJNULL}, -{"PPRINT-TAB", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_tab), -1, OBJNULL}, -{"PPRINT-TABULAR", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_tabular), -1, OBJNULL}, -{"PRIN1", CL_ORDINARY, cl_prin1, -1, OBJNULL}, +{"PPRINT-TAB", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_tab), -4, OBJNULL}, +{"PPRINT-TABULAR", CL_ORDINARY, ECL_NAME_PPRINT(cl_pprint_tabular), -3, OBJNULL}, +{"PRIN1", CL_ORDINARY, cl_prin1, -2, OBJNULL}, {"PRIN1-TO-STRING", CL_ORDINARY, ECL_NAME(cl_prin1_to_string), 1, OBJNULL}, -{"PRINC", CL_ORDINARY, cl_princ, -1, OBJNULL}, +{"PRINC", CL_ORDINARY, cl_princ, -2, OBJNULL}, {"PRINC-TO-STRING", CL_ORDINARY, ECL_NAME(cl_princ_to_string), 1, OBJNULL}, -{"PRINT", CL_ORDINARY, cl_print, -1, OBJNULL}, +{"PRINT", CL_ORDINARY, cl_print, -2, OBJNULL}, {"PRINT-NOT-READABLE", CL_ORDINARY, NULL, -1, OBJNULL}, {"PRINT-NOT-READABLE-OBJECT", CL_ORDINARY, NULL, -1, OBJNULL}, {"PROBE-FILE", CL_ORDINARY, cl_probe_file, 1, OBJNULL}, @@ -772,25 +775,25 @@ cl_symbols[] = { {"PUSH", CL_ORDINARY, NULL, -1, OBJNULL}, {"PUSHNEW", CL_ORDINARY, NULL, -1, OBJNULL}, {"QUOTE", CL_FORM, NULL, -1, OBJNULL}, -{"RANDOM", CL_ORDINARY, cl_random, -1, OBJNULL}, +{"RANDOM", CL_ORDINARY, cl_random, -2, OBJNULL}, {"RANDOM-STATE", CL_ORDINARY, NULL, -1, OBJNULL}, {"RANDOM-STATE-P", CL_ORDINARY, cl_random_state_p, 1, OBJNULL}, -{"RASSOC", CL_ORDINARY, cl_rassoc, -1, OBJNULL}, -{"RASSOC-IF", CL_ORDINARY, ECL_NAME(cl_rassoc_if), -1, OBJNULL}, -{"RASSOC-IF-NOT", CL_ORDINARY, ECL_NAME(cl_rassoc_if_not), -1, OBJNULL}, +{"RASSOC", CL_ORDINARY, cl_rassoc, -3, OBJNULL}, +{"RASSOC-IF", CL_ORDINARY, ECL_NAME(cl_rassoc_if), -3, OBJNULL}, +{"RASSOC-IF-NOT", CL_ORDINARY, ECL_NAME(cl_rassoc_if_not), -3, OBJNULL}, {"RATIO", CL_ORDINARY, NULL, -1, OBJNULL}, {"RATIONAL", CL_ORDINARY, cl_rational, 1, OBJNULL}, {"RATIONALIZE", CL_ORDINARY, cl_rationalize, 1, OBJNULL}, {"RATIONALP", CL_ORDINARY, cl_rationalp, 1, OBJNULL}, {"READ", CL_ORDINARY, cl_read, -1, OBJNULL}, -{"READ-BYTE", CL_ORDINARY, cl_read_byte, -1, OBJNULL}, +{"READ-BYTE", CL_ORDINARY, cl_read_byte, -2, OBJNULL}, {"READ-CHAR", CL_ORDINARY, cl_read_char, -1, OBJNULL}, {"READ-CHAR-NO-HANG", CL_ORDINARY, cl_read_char_no_hang, -1, OBJNULL}, -{"READ-DELIMITED-LIST", CL_ORDINARY, cl_read_delimited_list, -1, OBJNULL}, -{"READ-FROM-STRING", CL_ORDINARY, ECL_NAME(cl_read_from_string), -1, OBJNULL}, +{"READ-DELIMITED-LIST", CL_ORDINARY, cl_read_delimited_list, -2, OBJNULL}, +{"READ-FROM-STRING", CL_ORDINARY, ECL_NAME(cl_read_from_string), -2, OBJNULL}, {"READ-LINE", CL_ORDINARY, cl_read_line, -1, OBJNULL}, {"READ-PRESERVING-WHITESPACE", CL_ORDINARY, cl_read_preserving_whitespace, -1, OBJNULL}, -{"READ-SEQUENCE", CL_ORDINARY, cl_read_sequence, -1, OBJNULL}, +{"READ-SEQUENCE", CL_ORDINARY, cl_read_sequence, -3, OBJNULL}, {"READER-ERROR", CL_ORDINARY, NULL, -1, OBJNULL}, {"READTABLE", CL_ORDINARY, NULL, -1, OBJNULL}, {"READTABLE-CASE", CL_ORDINARY, cl_readtable_case, 1, OBJNULL}, @@ -798,19 +801,19 @@ cl_symbols[] = { {"REAL", CL_ORDINARY, NULL, -1, OBJNULL}, {"REALP", CL_ORDINARY, cl_realp, 1, OBJNULL}, {"REALPART", CL_ORDINARY, cl_realpart, 1, OBJNULL}, -{"REDUCE", CL_ORDINARY, ECL_NAME(cl_reduce), -1, OBJNULL}, +{"REDUCE", CL_ORDINARY, ECL_NAME(cl_reduce), -3, OBJNULL}, {"REM", CL_ORDINARY, cl_rem, 2, OBJNULL}, {"REMF", CL_ORDINARY, NULL, -1, OBJNULL}, {"REMHASH", CL_ORDINARY, cl_remhash, 2, OBJNULL}, -{"REMOVE", CL_ORDINARY, ECL_NAME(cl_remove), -1, OBJNULL}, -{"REMOVE-DUPLICATES", CL_ORDINARY, ECL_NAME(cl_remove_duplicates), -1, OBJNULL}, -{"REMOVE-IF", CL_ORDINARY, ECL_NAME(cl_remove_if), -1, OBJNULL}, -{"REMOVE-IF-NOT", CL_ORDINARY, ECL_NAME(cl_remove_if_not), -1, OBJNULL}, +{"REMOVE", CL_ORDINARY, ECL_NAME(cl_remove), -3, OBJNULL}, +{"REMOVE-DUPLICATES", CL_ORDINARY, ECL_NAME(cl_remove_duplicates), -2, OBJNULL}, +{"REMOVE-IF", CL_ORDINARY, ECL_NAME(cl_remove_if), -3, OBJNULL}, +{"REMOVE-IF-NOT", CL_ORDINARY, ECL_NAME(cl_remove_if_not), -3, OBJNULL}, {"REMPROP", CL_ORDINARY, cl_remprop, 2, OBJNULL}, -{"RENAME-FILE", CL_ORDINARY, cl_rename_file, -1, OBJNULL}, -{"RENAME-PACKAGE", CL_ORDINARY, cl_rename_package, -1, OBJNULL}, -{"REPLACE", CL_ORDINARY, ECL_NAME(cl_replace), -1, OBJNULL}, -{"REQUIRE", CL_ORDINARY, ECL_NAME(cl_require), -1, OBJNULL}, +{"RENAME-FILE", CL_ORDINARY, cl_rename_file, -3, OBJNULL}, +{"RENAME-PACKAGE", CL_ORDINARY, cl_rename_package, -3, OBJNULL}, +{"REPLACE", CL_ORDINARY, ECL_NAME(cl_replace), -3, OBJNULL}, +{"REQUIRE", CL_ORDINARY, ECL_NAME(cl_require), -2, OBJNULL}, {"REST", CL_ORDINARY, cl_cdr, 1, OBJNULL}, {"RESTART", CL_ORDINARY, NULL, 1, OBJNULL}, {"RESTART-BIND", CL_ORDINARY, NULL, 1, OBJNULL}, @@ -822,31 +825,31 @@ cl_symbols[] = { {"REVERSE", CL_ORDINARY, cl_reverse, 1, OBJNULL}, {"ROOM", CL_ORDINARY, NULL, -1, OBJNULL}, {"ROTATEF", CL_ORDINARY, NULL, -1, OBJNULL}, -{"ROUND", CL_ORDINARY, cl_round, -1, OBJNULL}, +{"ROUND", CL_ORDINARY, cl_round, -2, OBJNULL}, {"ROW-MAJOR-AREF", CL_ORDINARY, cl_row_major_aref, 2, OBJNULL}, {"RPLACA", CL_ORDINARY, cl_rplaca, 2, OBJNULL}, {"RPLACD", CL_ORDINARY, cl_rplacd, 2, OBJNULL}, {"SAFETY", CL_ORDINARY, NULL, -1, OBJNULL}, {"SATISFIES", CL_ORDINARY, NULL, -1, OBJNULL}, -{"SBIT", CL_ORDINARY, ECL_NAME(cl_sbit), -1, OBJNULL}, +{"SBIT", CL_ORDINARY, ECL_NAME(cl_sbit), -2, OBJNULL}, {"SCALE-FLOAT", CL_ORDINARY, cl_scale_float, 2, OBJNULL}, {"SCHAR", CL_ORDINARY, cl_char, 2, OBJNULL}, -{"SEARCH", CL_ORDINARY, ECL_NAME(cl_search), -1, OBJNULL}, +{"SEARCH", CL_ORDINARY, ECL_NAME(cl_search), -3, OBJNULL}, {"SECOND", CL_ORDINARY, cl_cadr, 1, OBJNULL}, {"SEQUENCE", CL_ORDINARY, NULL, -1, OBJNULL}, {"SERIOUS-CONDITION", CL_ORDINARY, NULL, -1, OBJNULL}, {"SET", CL_ORDINARY, cl_set, 2, OBJNULL}, -{"SET-DIFFERENCE", CL_ORDINARY, ECL_NAME(cl_set_difference), -1, OBJNULL}, -{"SET-DISPATCH-MACRO-CHARACTER", CL_ORDINARY, cl_set_dispatch_macro_character, -1, OBJNULL}, -{"SET-EXCLUSIVE-OR", CL_ORDINARY, ECL_NAME(cl_set_exclusive_or), -1, OBJNULL}, -{"SET-MACRO-CHARACTER", CL_ORDINARY, cl_set_macro_character, -1, OBJNULL}, -{"SET-PPRINT-DISPATCH", CL_ORDINARY, ECL_NAME_PPRINT(cl_set_pprint_dispatch), -1, OBJNULL}, -{"SET-SYNTAX-FROM-CHAR", CL_ORDINARY, cl_set_syntax_from_char, -1, OBJNULL}, +{"SET-DIFFERENCE", CL_ORDINARY, ECL_NAME(cl_set_difference), -3, OBJNULL}, +{"SET-DISPATCH-MACRO-CHARACTER", CL_ORDINARY, cl_set_dispatch_macro_character, -4, OBJNULL}, +{"SET-EXCLUSIVE-OR", CL_ORDINARY, ECL_NAME(cl_set_exclusive_or), -3, OBJNULL}, +{"SET-MACRO-CHARACTER", CL_ORDINARY, cl_set_macro_character, -3, OBJNULL}, +{"SET-PPRINT-DISPATCH", CL_ORDINARY, ECL_NAME_PPRINT(cl_set_pprint_dispatch), -3, OBJNULL}, +{"SET-SYNTAX-FROM-CHAR", CL_ORDINARY, cl_set_syntax_from_char, -3, OBJNULL}, {"SETF", CL_ORDINARY, NULL, -1, OBJNULL}, {"SETQ", CL_FORM, NULL, -1, OBJNULL}, {"SEVENTH", CL_ORDINARY, cl_seventh, 1, OBJNULL}, -{"SHADOW", CL_ORDINARY, cl_shadow, -1, OBJNULL}, -{"SHADOWING-IMPORT", CL_ORDINARY, cl_shadowing_import, -1, OBJNULL}, +{"SHADOW", CL_ORDINARY, cl_shadow, -2, OBJNULL}, +{"SHADOWING-IMPORT", CL_ORDINARY, cl_shadowing_import, -2, OBJNULL}, {"SHIFTF", CL_ORDINARY, NULL, -1, OBJNULL}, {"SHORT-FLOAT", CL_ORDINARY, NULL, -1, OBJNULL}, {"SHORT-FLOAT-EPSILON", CL_CONSTANT, NULL, -1, OBJNULL}, @@ -878,19 +881,19 @@ cl_symbols[] = { {"SLEEP", CL_ORDINARY, cl_sleep, 1, OBJNULL}, {"SOFTWARE-TYPE", CL_ORDINARY, ECL_NAME(cl_software_type), 0, OBJNULL}, {"SOFTWARE-VERSION", CL_ORDINARY, ECL_NAME(cl_software_version), 0, OBJNULL}, -{"SOME", CL_ORDINARY, ECL_NAME(cl_some), -1, OBJNULL}, -{"SORT", CL_ORDINARY, ECL_NAME(cl_sort), -1, OBJNULL}, +{"SOME", CL_ORDINARY, ECL_NAME(cl_some), -3, OBJNULL}, +{"SORT", CL_ORDINARY, ECL_NAME(cl_sort), -3, OBJNULL}, {"SPACE", CL_ORDINARY, NULL, -1, OBJNULL}, {"SPECIAL", CL_ORDINARY, NULL, -1, OBJNULL}, {"SPECIAL-OPERATOR-P", CL_ORDINARY, cl_special_operator_p, 1, OBJNULL}, {"SPEED", CL_ORDINARY, NULL, -1, OBJNULL}, {"SQRT", CL_ORDINARY, cl_sqrt, 1, OBJNULL}, -{"STABLE-SORT", CL_ORDINARY, ECL_NAME(cl_stable_sort), -1, OBJNULL}, +{"STABLE-SORT", CL_ORDINARY, ECL_NAME(cl_stable_sort), -3, OBJNULL}, {"STANDARD-CHAR", CL_ORDINARY, NULL, -1, OBJNULL}, {"STANDARD-CHAR-P", CL_ORDINARY, cl_standard_char_p, 1, OBJNULL}, {"STEP", CL_ORDINARY, NULL, -1, OBJNULL}, {"STORAGE-CONDITION", CL_ORDINARY, NULL, -1, OBJNULL}, -{"STORE-VALUE", CL_ORDINARY, ECL_NAME(cl_store_value), -1, OBJNULL}, +{"STORE-VALUE", CL_ORDINARY, ECL_NAME(cl_store_value), -2, OBJNULL}, {"STREAM", CL_ORDINARY, NULL, -1, OBJNULL}, {"STREAM-ELEMENT-TYPE", CL_ORDINARY, cl_stream_element_type, 1, OBJNULL}, {"STREAM-ERROR", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -900,7 +903,7 @@ cl_symbols[] = { {"STRING", CL_ORDINARY, cl_string, 1, OBJNULL}, {"STRING-DOWNCASE", CL_ORDINARY, cl_string_downcase, -1, OBJNULL}, {"STRING-CAPITALIZE", CL_ORDINARY, cl_string_capitalize, -1, OBJNULL}, -{"STRING-EQUAL", CL_ORDINARY, cl_string_equal, -1, OBJNULL}, +{"STRING-EQUAL", CL_ORDINARY, cl_string_equal, -3, OBJNULL}, {"STRING-GREATERP", CL_ORDINARY, cl_string_greaterp, -1, OBJNULL}, {"STRING-LEFT-TRIM", CL_ORDINARY, cl_string_left_trim, 2, OBJNULL}, {"STRING-LESSP", CL_ORDINARY, cl_string_lessp, -1, OBJNULL}, @@ -914,22 +917,22 @@ cl_symbols[] = { {"STRING/=", CL_ORDINARY, cl_stringNE, -1, OBJNULL}, {"STRING<", CL_ORDINARY, cl_stringL, -1, OBJNULL}, {"STRING<=", CL_ORDINARY, cl_stringLE, -1, OBJNULL}, -{"STRING=", CL_ORDINARY, cl_stringE, -1, OBJNULL}, +{"STRING=", CL_ORDINARY, cl_stringE, -3, OBJNULL}, {"STRING>", CL_ORDINARY, cl_stringG, -1, OBJNULL}, {"STRING>=", CL_ORDINARY, cl_stringGE, -1, OBJNULL}, {"STRINGP", CL_ORDINARY, cl_stringp, 1, OBJNULL}, {"STRUCTURE", CL_ORDINARY, NULL, -1, OBJNULL}, {"STYLE-WARNING", CL_ORDINARY, NULL, -1, OBJNULL}, -{"SUBLIS", CL_ORDINARY, cl_sublis, -1, OBJNULL}, -{"SUBSEQ", CL_ORDINARY, cl_subseq, -1, OBJNULL}, -{"SUBSETP", CL_ORDINARY, ECL_NAME(cl_subsetp), -1, OBJNULL}, -{"SUBST", CL_ORDINARY, cl_subst, -1, OBJNULL}, -{"SUBST-IF", CL_ORDINARY, ECL_NAME(cl_subst_if), -1, OBJNULL}, -{"SUBST-IF-NOT", CL_ORDINARY, ECL_NAME(cl_subst_if_not), -1, OBJNULL}, -{"SUBSTITUTE", CL_ORDINARY, ECL_NAME(cl_substitute), -1, OBJNULL}, -{"SUBSTITUTE-IF", CL_ORDINARY, ECL_NAME(cl_substitute_if), -1, OBJNULL}, -{"SUBSTITUTE-IF-NOT", CL_ORDINARY, ECL_NAME(cl_substitute_if_not), -1, OBJNULL}, -{"SUBTYPEP", CL_ORDINARY, ECL_NAME(cl_subtypep), -1, OBJNULL}, +{"SUBLIS", CL_ORDINARY, cl_sublis, -3, OBJNULL}, +{"SUBSEQ", CL_ORDINARY, cl_subseq, -3, OBJNULL}, +{"SUBSETP", CL_ORDINARY, ECL_NAME(cl_subsetp), -3, OBJNULL}, +{"SUBST", CL_ORDINARY, cl_subst, -4, OBJNULL}, +{"SUBST-IF", CL_ORDINARY, ECL_NAME(cl_subst_if), -4, OBJNULL}, +{"SUBST-IF-NOT", CL_ORDINARY, ECL_NAME(cl_subst_if_not), -4, OBJNULL}, +{"SUBSTITUTE", CL_ORDINARY, ECL_NAME(cl_substitute), -4, OBJNULL}, +{"SUBSTITUTE-IF", CL_ORDINARY, ECL_NAME(cl_substitute_if), -4, OBJNULL}, +{"SUBSTITUTE-IF-NOT", CL_ORDINARY, ECL_NAME(cl_substitute_if_not), -4, OBJNULL}, +{"SUBTYPEP", CL_ORDINARY, ECL_NAME(cl_subtypep), -3, OBJNULL}, {"SVREF", CL_ORDINARY, cl_svref, 2, OBJNULL}, {"SXHASH", CL_ORDINARY, cl_sxhash, 1, OBJNULL}, {"SYMBOL", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -953,11 +956,11 @@ cl_symbols[] = { {"THROW", CL_FORM, NULL, -1, OBJNULL}, {"TIME", CL_ORDINARY, NULL, -1, OBJNULL}, {"TRACE", CL_ORDINARY, NULL, -1, OBJNULL}, -{"TRANSLATE-LOGICAL-PATHNAME", CL_ORDINARY, cl_translate_logical_pathname, -1, OBJNULL}, -{"TRANSLATE-PATHNAME", CL_ORDINARY, cl_translate_pathname, -1, OBJNULL}, -{"TREE-EQUAL", CL_ORDINARY, cl_tree_equal, -1, OBJNULL}, +{"TRANSLATE-LOGICAL-PATHNAME", CL_ORDINARY, cl_translate_logical_pathname, -2, OBJNULL}, +{"TRANSLATE-PATHNAME", CL_ORDINARY, cl_translate_pathname, -4, OBJNULL}, +{"TREE-EQUAL", CL_ORDINARY, cl_tree_equal, -3, OBJNULL}, {"TRUENAME", CL_ORDINARY, cl_truename, 1, OBJNULL}, -{"TRUNCATE", CL_ORDINARY, cl_truncate, -1, OBJNULL}, +{"TRUNCATE", CL_ORDINARY, cl_truncate, -2, OBJNULL}, {"TWO-WAY-STREAM", CL_ORDINARY, NULL, -1, OBJNULL}, {"TWO-WAY-STREAM-INPUT-STREAM", CL_ORDINARY, cl_two_way_stream_input_stream, 1, OBJNULL}, {"TWO-WAY-STREAM-OUTPUT-STREAM", CL_ORDINARY, cl_two_way_stream_output_stream, 1, OBJNULL}, @@ -967,25 +970,25 @@ cl_symbols[] = { {"TYPE-ERROR-EXPECTED-TYPE", CL_ORDINARY, NULL, -1, OBJNULL}, {"TYPE-OF", CL_ORDINARY, cl_type_of, 1, OBJNULL}, {"TYPECASE", CL_ORDINARY, NULL, -1, OBJNULL}, -{"TYPEP", CL_ORDINARY, ECL_NAME(cl_typep), -1, OBJNULL}, +{"TYPEP", CL_ORDINARY, ECL_NAME(cl_typep), -3, OBJNULL}, {"UNBOUND-SLOT", CL_ORDINARY, NULL, -1, OBJNULL}, {"UNBOUND-SLOT-INSTANCE", CL_ORDINARY, NULL, -1, OBJNULL}, {"UNBOUND-VARIABLE", CL_ORDINARY, NULL, -1, OBJNULL}, {"UNDEFINED-FUNCTION", CL_ORDINARY, NULL, -1, OBJNULL}, -{"UNEXPORT", CL_ORDINARY, cl_unexport, -1, OBJNULL}, -{"UNINTERN", CL_ORDINARY, cl_unintern, -1, OBJNULL}, -{"UNION", CL_ORDINARY, ECL_NAME(cl_union), -1, OBJNULL}, +{"UNEXPORT", CL_ORDINARY, cl_unexport, -2, OBJNULL}, +{"UNINTERN", CL_ORDINARY, cl_unintern, -2, OBJNULL}, +{"UNION", CL_ORDINARY, ECL_NAME(cl_union), -3, OBJNULL}, {"UNLESS", CL_FORM, NULL, -1, OBJNULL}, -{"UNREAD-CHAR", CL_ORDINARY, cl_unread_char, -1, OBJNULL}, +{"UNREAD-CHAR", CL_ORDINARY, cl_unread_char, -2, OBJNULL}, {"UNSIGNED-BYTE", CL_ORDINARY, NULL, -1, OBJNULL}, {"UNTRACE", CL_ORDINARY, NULL, -1, OBJNULL}, -{"UNUSE-PACKAGE", CL_ORDINARY, cl_unuse_package, -1, OBJNULL}, +{"UNUSE-PACKAGE", CL_ORDINARY, cl_unuse_package, -2, OBJNULL}, {"UNWIND-PROTECT", CL_FORM, NULL, -1, OBJNULL}, -{"UPGRADED-ARRAY-ELEMENT-TYPE", CL_ORDINARY, ECL_NAME(cl_upgraded_array_element_type), -1, OBJNULL}, -{"UPGRADED-COMPLEX-PART-TYPE", CL_ORDINARY, ECL_NAME(cl_upgraded_complex_part_type), -1, OBJNULL}, +{"UPGRADED-ARRAY-ELEMENT-TYPE", CL_ORDINARY, ECL_NAME(cl_upgraded_array_element_type), -2, OBJNULL}, +{"UPGRADED-COMPLEX-PART-TYPE", CL_ORDINARY, ECL_NAME(cl_upgraded_complex_part_type), -2, OBJNULL}, {"UPPER-CASE-P", CL_ORDINARY, cl_upper_case_p, 1, OBJNULL}, -{"USE-PACKAGE", CL_ORDINARY, cl_use_package, -1, OBJNULL}, -{"USE-VALUE", CL_ORDINARY, ECL_NAME(cl_use_value), -1, OBJNULL}, +{"USE-PACKAGE", CL_ORDINARY, cl_use_package, -2, OBJNULL}, +{"USE-VALUE", CL_ORDINARY, ECL_NAME(cl_use_value), -2, OBJNULL}, {"USER-HOMEDIR-PATHNAME", CL_ORDINARY, cl_user_homedir_pathname, -1, OBJNULL}, {"VALUES", CL_ORDINARY, cl_values, -1, OBJNULL}, {"VALUES-LIST", CL_ORDINARY, cl_values_list, 1, OBJNULL}, @@ -993,12 +996,12 @@ cl_symbols[] = { {"VECTOR", CL_ORDINARY, ECL_NAME(cl_vector), -1, OBJNULL}, {"VECTOR-POP", CL_ORDINARY, ECL_NAME(cl_vector_pop), 1, OBJNULL}, {"VECTOR-PUSH", CL_ORDINARY, cl_vector_push, 2, OBJNULL}, -{"VECTOR-PUSH-EXTEND", CL_ORDINARY, cl_vector_push_extend, -1, OBJNULL}, +{"VECTOR-PUSH-EXTEND", CL_ORDINARY, cl_vector_push_extend, -3, OBJNULL}, {"VECTORP", CL_ORDINARY, cl_vectorp, 1, OBJNULL}, {"WARN", CL_ORDINARY, NULL, -1, OBJNULL}, {"WARNING", CL_ORDINARY, NULL, -1, OBJNULL}, {"WHEN", CL_FORM, NULL, -1, OBJNULL}, -{"WILD-PATHNAME-P", CL_ORDINARY, cl_wild_pathname_p, -1, OBJNULL}, +{"WILD-PATHNAME-P", CL_ORDINARY, cl_wild_pathname_p, -2, OBJNULL}, {"WITH-COMPILATION-UNIT", CL_ORDINARY, NULL, -1, OBJNULL}, {"WITH-CONDITION-RESTARTS", CL_ORDINARY, NULL, -1, OBJNULL}, {"WITH-HASH-TABLE-ITERATOR", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -1009,13 +1012,13 @@ cl_symbols[] = { {"WITH-PACKAGE-ITERATOR", CL_ORDINARY, NULL, -1, OBJNULL}, {"WITH-SIMPLE-RESTART", CL_ORDINARY, NULL, -1, OBJNULL}, {"WITH-STANDARD-IO-SYNTAX", CL_ORDINARY, NULL, -1, OBJNULL}, -{"WRITE", CL_ORDINARY, cl_write, -1, OBJNULL}, +{"WRITE", CL_ORDINARY, cl_write, -2, OBJNULL}, {"WRITE-BYTE", CL_ORDINARY, cl_write_byte, 2, OBJNULL}, -{"WRITE-CHAR", CL_ORDINARY, cl_write_char, -1, OBJNULL}, -{"WRITE-LINE", CL_ORDINARY, cl_write_line, -1, OBJNULL}, -{"WRITE-SEQUENCE", CL_ORDINARY, cl_write_sequence, -1, OBJNULL}, -{"WRITE-STRING", CL_ORDINARY, cl_write_string, -1, OBJNULL}, -{"WRITE-TO-STRING", CL_ORDINARY, ECL_NAME(cl_write_to_string), -1, OBJNULL}, +{"WRITE-CHAR", CL_ORDINARY, cl_write_char, -2, OBJNULL}, +{"WRITE-LINE", CL_ORDINARY, cl_write_line, -2, OBJNULL}, +{"WRITE-SEQUENCE", CL_ORDINARY, cl_write_sequence, -3, OBJNULL}, +{"WRITE-STRING", CL_ORDINARY, cl_write_string, -2, OBJNULL}, +{"WRITE-TO-STRING", CL_ORDINARY, ECL_NAME(cl_write_to_string), -2, OBJNULL}, {"Y-OR-N-P", CL_ORDINARY, ECL_NAME(cl_y_or_n_p), -1, OBJNULL}, {"YES-OR-NO-P", CL_ORDINARY, ECL_NAME(cl_yes_or_no_p), -1, OBJNULL}, {"ZEROP", CL_ORDINARY, cl_zerop, 1, OBJNULL}, @@ -1034,20 +1037,20 @@ cl_symbols[] = { {"DEFINE-METHOD-COMBINATION", CL_ORDINARY, NULL, -1, OBJNULL}, {"DEFMETHOD", CL_ORDINARY, NULL, -1, OBJNULL}, {"DESCRIBE-OBJECT", CL_ORDINARY, NULL, -1, OBJNULL}, -{"ENSURE-GENERIC-FUNCTION", CL_ORDINARY, NULL, -1, OBJNULL}, -{"FIND-CLASS", CL_ORDINARY, cl_find_class, -1, OBJNULL}, +{"ENSURE-GENERIC-FUNCTION", CL_ORDINARY, NULL, -2, OBJNULL}, +{"FIND-CLASS", CL_ORDINARY, cl_find_class, -2, OBJNULL}, {"FIND-METHOD", CL_ORDINARY, NULL, -1, OBJNULL}, {"GENERIC-FUNCTION", CL_ORDINARY, NULL, -1, OBJNULL}, {"IF", CL_FORM, NULL, -1, OBJNULL}, {"INITIALIZE-INSTANCE", CL_ORDINARY, NULL, -1, OBJNULL}, -{"INVALID-METHOD-ERROR", CL_ORDINARY, ECL_NAME(cl_invalid_method_error), -1, OBJNULL}, +{"INVALID-METHOD-ERROR", CL_ORDINARY, ECL_NAME(cl_invalid_method_error), -3, OBJNULL}, {"MAKE-INSTANCE", CL_ORDINARY, NULL, -1, OBJNULL}, {"MAKE-INSTANCES-OBSOLETE", CL_ORDINARY, NULL, -1, OBJNULL}, {"MAKE-LOAD-FORM", CL_ORDINARY, NULL, -1, OBJNULL}, {"MAKE-LOAD-FORM-SAVING-SLOTS", CL_ORDINARY, NULL, -1, OBJNULL}, {"MAKE-METHOD", CL_ORDINARY, NULL, -1, OBJNULL}, {"METHOD", CL_ORDINARY, NULL, -1, OBJNULL}, -{"METHOD-COMBINATION-ERROR", CL_ORDINARY, ECL_NAME(cl_method_combination_error), -1, OBJNULL}, +{"METHOD-COMBINATION-ERROR", CL_ORDINARY, ECL_NAME(cl_method_combination_error), -2, OBJNULL}, {"METHOD-COMBINATION", CL_ORDINARY, NULL, -1, OBJNULL}, {"METHOD-QUALIFIERS", CL_ORDINARY, NULL, -1, OBJNULL}, {"NEXT-METHOD-P", CL_ORDINARY, NULL, -1, OBJNULL}, @@ -1134,7 +1137,7 @@ cl_symbols[] = { {SYS_ "ALLOCATE-RAW-INSTANCE", SI_ORDINARY, si_allocate_raw_instance, 3, OBJNULL}, {EXT_ "ARGC", EXT_ORDINARY, si_argc, 0, OBJNULL}, {EXT_ "ARGV", EXT_ORDINARY, si_argv, 1, OBJNULL}, -{SYS_ "ASET", SI_ORDINARY, si_aset, -1, OBJNULL}, +{SYS_ "ASET", SI_ORDINARY, si_aset, -2, OBJNULL}, {SYS_ "BASE-CHAR-P", SI_ORDINARY, si_base_char_p, 1, OBJNULL}, {SYS_ "BASE-STRING-P", SI_ORDINARY, si_base_string_p, 1, OBJNULL}, {SYS_ "BC-DISASSEMBLE", SI_ORDINARY, si_bc_disassemble, 1, OBJNULL}, @@ -1146,7 +1149,7 @@ cl_symbols[] = { {SYS_ "BIT-ARRAY-OP", SI_ORDINARY, si_bit_array_op, 4, OBJNULL}, {SYS_ "C-ARGUMENTS-LIMIT", SI_CONSTANT, NULL, -1, ecl_make_fixnum(ECL_C_ARGUMENTS_LIMIT)}, {SYS_ "CHAR-SET", SI_ORDINARY, si_char_set, 3, OBJNULL}, -{EXT_ "CHDIR", EXT_ORDINARY, si_chdir, -1, OBJNULL}, +{EXT_ "CHDIR", EXT_ORDINARY, si_chdir, -2, OBJNULL}, {SYS_ "CLEAR-COMPILER-PROPERTIES", SI_ORDINARY, cl_identity, 1, OBJNULL}, {SYS_ "COERCE-TO-BASE-STRING", SI_ORDINARY, si_coerce_to_base_string, 1, OBJNULL}, {SYS_ "COERCE-TO-EXTENDED-STRING", SI_ORDINARY, si_coerce_to_extended_string, 1, OBJNULL}, @@ -1161,7 +1164,7 @@ cl_symbols[] = { {SYS_ "DO-READ-SEQUENCE", SI_ORDINARY, si_do_read_sequence, 4, OBJNULL}, {SYS_ "DO-WRITE-SEQUENCE", SI_ORDINARY, si_do_write_sequence, 4, OBJNULL}, {SYS_ "ELT-SET", SI_ORDINARY, si_elt_set, 3, OBJNULL}, -{SYS_ "EVAL-WITH-ENV", SI_ORDINARY, si_eval_with_env, -1, OBJNULL}, +{SYS_ "EVAL-WITH-ENV", SI_ORDINARY, si_eval_with_env, -2, OBJNULL}, {SYS_ "EXPAND-DEFMACRO", SI_ORDINARY, NULL, -1, OBJNULL}, {SYS_ "FILE-COLUMN", SI_ORDINARY, si_file_column, 1, OBJNULL}, {EXT_ "FILE-KIND", EXT_ORDINARY, si_file_kind, 2, OBJNULL}, @@ -1171,15 +1174,15 @@ cl_symbols[] = { {EXT_ "FIXNUMP", EXT_ORDINARY, si_fixnump, 1, OBJNULL}, {SYS_ "FORMAT-ERROR", SI_ORDINARY, NULL, -1, OBJNULL}, #ifdef ECL_CMU_FORMAT -{SYS_ "FORMATTER-AUX", SI_ORDINARY, NULL, -1, OBJNULL}, +{SYS_ "FORMATTER-AUX", SI_ORDINARY, NULL, -3, OBJNULL}, #else -{SYS_ "FORMATTER-AUX", SI_ORDINARY, si_formatter_aux, -1, OBJNULL}, +{SYS_ "FORMATTER-AUX", SI_ORDINARY, si_formatter_aux, -3, OBJNULL}, #endif {SYS_ "FRS-BDS", SI_ORDINARY, si_frs_bds, 1, OBJNULL}, {SYS_ "FRS-IHS", SI_ORDINARY, si_frs_ihs, 1, OBJNULL}, {SYS_ "FRS-TAG", SI_ORDINARY, si_frs_tag, 1, OBJNULL}, {SYS_ "FRS-TOP", SI_ORDINARY, si_frs_top, 0, OBJNULL}, -{SYS_ "FSET", SI_ORDINARY, si_fset, -1, OBJNULL}, +{SYS_ "FSET", SI_ORDINARY, si_fset, -3, OBJNULL}, {SYS_ "FUNCTION-BLOCK-NAME", SI_ORDINARY, si_function_block_name, 1, OBJNULL}, {SYS_ "GET-LIBRARY-PATHNAME", SI_ORDINARY, si_get_library_pathname, 0, OBJNULL}, {SYS_ "GET-SYSPROP", SI_ORDINARY, si_get_sysprop, 2, OBJNULL}, @@ -1204,9 +1207,9 @@ cl_symbols[] = { {SYS_ "MAKE-LAMBDA", SI_ORDINARY, si_make_lambda, 2, OBJNULL}, {SYS_ "MAKE-PURE-ARRAY", SI_ORDINARY, si_make_pure_array, 6, OBJNULL}, {SYS_ "MAKE-STRING-OUTPUT-STREAM-FROM-STRING", SI_ORDINARY, si_make_string_output_stream_from_string, 1, OBJNULL}, -{SYS_ "MAKE-STRUCTURE", SI_ORDINARY, si_make_structure, -1, OBJNULL}, +{SYS_ "MAKE-STRUCTURE", SI_ORDINARY, si_make_structure, -2, OBJNULL}, {SYS_ "MAKE-VECTOR", SI_ORDINARY, si_make_vector, 6, OBJNULL}, -{SYS_ "MANGLE-NAME", SI_ORDINARY, si_mangle_name, -1, OBJNULL}, +{SYS_ "MANGLE-NAME", SI_ORDINARY, si_mangle_name, -2, OBJNULL}, {SYS_ "MEMBER1", SI_ORDINARY, si_member1, 5, OBJNULL}, {SYS_ "MEMQ", SI_ORDINARY, si_memq, 2, OBJNULL}, {SYS_ "MKDIR", SI_ORDINARY, si_mkdir, 2, OBJNULL}, @@ -1228,14 +1231,14 @@ cl_symbols[] = { {SYS_ "%ADD-PACKAGE-LOCAL-NICKNAME", EXT_ORDINARY, si_add_package_local_nickname, 3, OBJNULL}, {SYS_ "%REMOVE-PACKAGE-LOCAL-NICKNAME", EXT_ORDINARY, si_remove_package_local_nickname, 2, OBJNULL}, {SYS_ "PACKAGE-HASH-TABLES", SI_ORDINARY, si_package_hash_tables, 1, OBJNULL}, -{SYS_ "PATHNAME-TRANSLATIONS", SI_ORDINARY, si_pathname_translations, -1, OBJNULL}, +{SYS_ "PATHNAME-TRANSLATIONS", SI_ORDINARY, si_pathname_translations, -2, OBJNULL}, {SYS_ "POINTER", SI_ORDINARY, si_pointer, 1, OBJNULL}, {SYS_ "PRETTY-PRINT-FORMAT", SI_ORDINARY, NULL, -1, OBJNULL}, -{SYS_ "PROCESS-DECLARATIONS", SI_ORDINARY, si_process_declarations, -1, OBJNULL}, +{SYS_ "PROCESS-DECLARATIONS", SI_ORDINARY, si_process_declarations, -2, OBJNULL}, {SYS_ "PROCESS-LAMBDA", SI_ORDINARY, si_process_lambda, 1, OBJNULL}, {SYS_ "PROCESS-LAMBDA-LIST", SI_ORDINARY, si_process_lambda_list, 2, OBJNULL}, {SYS_ "PUT-F", SI_ORDINARY, si_put_f, 3, OBJNULL}, -{SYS_ "PUT-PROPERTIES", SI_ORDINARY, si_put_properties, -1, OBJNULL}, +{SYS_ "PUT-PROPERTIES", SI_ORDINARY, si_put_properties, -2, OBJNULL}, {SYS_ "PUT-SYSPROP", SI_ORDINARY, si_put_sysprop, 3, OBJNULL}, {SYS_ "PUTPROP", SI_ORDINARY, si_putprop, 3, OBJNULL}, {SYS_ "READTABLE-CASE-SET", SI_ORDINARY, si_readtable_case_set, 2, OBJNULL}, @@ -1243,10 +1246,10 @@ cl_symbols[] = { {SYS_ "REM-SYSPROP", SI_ORDINARY, si_rem_sysprop, 2, OBJNULL}, {SYS_ "REPLACE-ARRAY", SI_ORDINARY, si_replace_array, 2, OBJNULL}, {SYS_ "ROW-MAJOR-ASET", SI_ORDINARY, si_row_major_aset, 3, OBJNULL}, -{EXT_ "SAFE-EVAL", EXT_ORDINARY, ECL_NAME(si_safe_eval), -1, OBJNULL}, +{EXT_ "SAFE-EVAL", EXT_ORDINARY, ECL_NAME(si_safe_eval), -3, OBJNULL}, {SYS_ "SCH-FRS-BASE", SI_ORDINARY, si_sch_frs_base, 2, OBJNULL}, {SYS_ "SCHAR-SET", SI_ORDINARY, si_char_set, 3, OBJNULL}, -{SYS_ "SERROR", SI_ORDINARY, si_serror, -1, OBJNULL}, +{SYS_ "SERROR", SI_ORDINARY, si_serror, -3, OBJNULL}, {SYS_ "SHARP-A-READER", SI_ORDINARY, NULL, -1, OBJNULL}, {SYS_ "SHARP-S-READER", SI_ORDINARY, NULL, -1, OBJNULL}, {SYS_ "SELECT-PACKAGE", SI_ORDINARY, si_select_package, 1, OBJNULL}, @@ -1258,14 +1261,14 @@ cl_symbols[] = { #endif {SYS_ "SETF-METHOD", SI_ORDINARY, NULL, -1, OBJNULL}, {SYS_ "SETF-NAMEP", SI_ORDINARY, NULL, -1, OBJNULL}, -{SYS_ "SIMPLE-PROGRAM-ERROR", SI_ORDINARY, ECL_NAME(si_simple_program_error), -1, OBJNULL}, -{SYS_ "SIGNAL-SIMPLE-ERROR", SI_ORDINARY, si_signal_simple_error, -1, OBJNULL}, +{SYS_ "SIMPLE-PROGRAM-ERROR", SI_ORDINARY, ECL_NAME(si_simple_program_error), -2, OBJNULL}, +{SYS_ "SIGNAL-SIMPLE-ERROR", SI_ORDINARY, si_signal_simple_error, -5, OBJNULL}, {SYS_ "SIGNAL-TYPE-ERROR", SI_ORDINARY, si_signal_type_error, 2, OBJNULL}, {SYS_ "SPECIALP", SI_ORDINARY, si_specialp, 1, OBJNULL}, {SYS_ "STANDARD-READTABLE", SI_ORDINARY, si_standard_readtable, 0, OBJNULL}, {SYS_ "STEPPER", SI_ORDINARY, OBJNULL, -1, OBJNULL}, {SYS_ "BASE-STRING-CONCATENATE", SI_ORDINARY, si_base_string_concatenate, -1, OBJNULL}, -{SYS_ "STRING-TO-OBJECT", SI_ORDINARY, ECL_NAME(si_string_to_object), -1, OBJNULL}, +{SYS_ "STRING-TO-OBJECT", SI_ORDINARY, ECL_NAME(si_string_to_object), -2, OBJNULL}, {SYS_ "STRUCTURE-NAME", SI_ORDINARY, si_structure_name, 1, OBJNULL}, {SYS_ "STRUCTURE-PRINT-FUNCTION", SI_ORDINARY, NULL, -1, OBJNULL}, {SYS_ "STRUCTURE-REF", SI_ORDINARY, si_structure_ref, 3, OBJNULL}, @@ -1297,8 +1300,8 @@ cl_symbols[] = { {SYS_ "INSTANCEP", SI_ORDINARY, si_instancep, 1, OBJNULL}, {SYS_ "SL-BOUNDP", SI_ORDINARY, si_sl_boundp, 1, OBJNULL}, {SYS_ "SL-MAKUNBOUND", SI_ORDINARY, si_sl_makunbound, 2, OBJNULL}, -{SYS_ "SUBCLASSP", SI_ORDINARY, ECL_NAME(si_subclassp), -1, OBJNULL}, -{SYS_ "OF-CLASS-P", SI_ORDINARY, ECL_NAME(si_of_class_p), -1, OBJNULL}, +{SYS_ "SUBCLASSP", SI_ORDINARY, ECL_NAME(si_subclassp), -3, OBJNULL}, +{SYS_ "OF-CLASS-P", SI_ORDINARY, ECL_NAME(si_of_class_p), -3, OBJNULL}, /*{SYS_ "UNBOUND", SI_ORDINARY, si_unbound, 0, OBJNULL}, */ {EXT_ "*SOURCE-LOCATION*", EXT_SPECIAL, NULL, -1, ECL_NIL}, @@ -1306,7 +1309,7 @@ cl_symbols[] = { {EXT_ "REGISTER-WITH-PDE", EXT_ORDINARY, NULL, -1, OBJNULL}, /* #ifdef PROFILE */ -{SYS_ "PROFILE", SI_ORDINARY, IF_PROFILE(si_profile), -1, OBJNULL}, +{SYS_ "PROFILE", SI_ORDINARY, IF_PROFILE(si_profile), -3, OBJNULL}, {SYS_ "CLEAR-PROFILE", SI_ORDINARY, IF_PROFILE(si_clear_profile), -1, OBJNULL}, {SYS_ "DISPLAY-PROFILE", SI_ORDINARY, IF_PROFILE(si_display_profile), -1, OBJNULL}, /* #endif PROFILE */ @@ -1319,7 +1322,7 @@ cl_symbols[] = { {SYS_ "LOOKUP-HOST-ENTRY", SI_ORDINARY, IF_TCP(si_lookup_host_entry), 1, OBJNULL}, /* #endif TCP */ -{EXT_ "CATCH-SIGNAL", EXT_ORDINARY, si_catch_signal, -1, OBJNULL}, +{EXT_ "CATCH-SIGNAL", EXT_ORDINARY, si_catch_signal, -3, OBJNULL}, {EXT_ "GET-SIGNAL-HANDLER", EXT_ORDINARY, si_get_signal_handler, 1, OBJNULL}, {EXT_ "SET-SIGNAL-HANDLER", EXT_ORDINARY, si_set_signal_handler, 2, OBJNULL}, @@ -1541,16 +1544,16 @@ cl_symbols[] = { {SYS_ "GC-DUMP", SI_ORDINARY, si_gc_dump, 0, OBJNULL}, {SYS_ "GC-STATS", SI_ORDINARY, si_gc_stats, 1, OBJNULL}, #else -{EXT_ "GC", EXT_ORDINARY, si_gc, 1, OBJNULL}, -{SYS_ "ALLOCATE", SI_ORDINARY, si_allocate, -1, OBJNULL}, -{SYS_ "ALLOCATED-PAGES", SI_ORDINARY, si_allocated_pages, -1, OBJNULL}, -{SYS_ "MAXIMUM-ALLOCATABLE-PAGES", SI_ORDINARY, si_maximum_allocatable_pages, -1, OBJNULL}, -{SYS_ "ALLOCATE-CONTIGUOUS-PAGES", SI_ORDINARY, si_allocate_contiguous_pages, -1, OBJNULL}, +{EXT_ "GC", EXT_ORDINARY, si_gc, -2, OBJNULL}, +{SYS_ "ALLOCATE", SI_ORDINARY, si_allocate, -3, OBJNULL}, +{SYS_ "ALLOCATED-PAGES", SI_ORDINARY, si_allocated_pages, -2, OBJNULL}, +{SYS_ "MAXIMUM-ALLOCATABLE-PAGES", SI_ORDINARY, si_maximum_allocatable_pages, -2, OBJNULL}, +{SYS_ "ALLOCATE-CONTIGUOUS-PAGES", SI_ORDINARY, si_allocate_contiguous_pages, -2, OBJNULL}, {SYS_ "ALLOCATED-CONTIGUOUS-PAGES", SI_ORDINARY, si_allocated_contiguous_pages, -1, OBJNULL}, {SYS_ "MAXIMUM-CONTIGUOUS-PAGES", SI_ORDINARY, si_maximum_contiguous_pages, -1, OBJNULL}, {SYS_ "GC-TIME", SI_ORDINARY, si_gc_time, -1, OBJNULL}, {SYS_ "GET-HOLE-SIZE", SI_ORDINARY, si_get_hole_size, -1, OBJNULL}, -{SYS_ "SET-HOLE-SIZE", SI_ORDINARY, si_set_hole_size, -1, OBJNULL}, +{SYS_ "SET-HOLE-SIZE", SI_ORDINARY, si_set_hole_size, -2, OBJNULL}, {SYS_ "IGNORE-MAXIMUM-PAGES", SI_ORDINARY, si_ignore_maximum_pages, -1, OBJNULL}, {SYS_ "ROOM-REPORT", SI_ORDINARY, si_room_report, -1, OBJNULL}, {SYS_ "RESET-GC-COUNT", SI_ORDINARY, si_reset_gc_count, -1, OBJNULL}, @@ -1569,8 +1572,8 @@ cl_symbols[] = { {MP_ "PROCESS-YIELD", MP_ORDINARY, IF_MP(mp_process_yield), 0, OBJNULL}, {MP_ "PROCESS-KILL", MP_ORDINARY, IF_MP(mp_process_kill), 1, OBJNULL}, {MP_ "PROCESS-NAME", MP_ORDINARY, IF_MP(mp_process_name), 1, OBJNULL}, -{MP_ "PROCESS-PRESET", MP_ORDINARY, IF_MP(mp_process_preset), -1, OBJNULL}, -{MP_ "PROCESS-RUN-FUNCTION", MP_ORDINARY, IF_MP(mp_process_run_function), -1, OBJNULL}, +{MP_ "PROCESS-PRESET", MP_ORDINARY, IF_MP(mp_process_preset), -3, OBJNULL}, +{MP_ "PROCESS-RUN-FUNCTION", MP_ORDINARY, IF_MP(mp_process_run_function), -3, OBJNULL}, {MP_ "PROCESS-WHOSTATE", MP_ORDINARY, IF_MP(mp_process_whostate), 1, OBJNULL}, {MP_ "PROCESS-JOIN", MP_ORDINARY, IF_MP(mp_process_join), 1, OBJNULL}, {MP_ "MAKE-LOCK", MP_ORDINARY, IF_MP(mp_make_lock), -1, OBJNULL}, @@ -1580,7 +1583,7 @@ cl_symbols[] = { {MP_ "LOCK-NAME", MP_ORDINARY, IF_MP(mp_lock_name), 1, OBJNULL}, {MP_ "LOCK-OWNER", MP_ORDINARY, IF_MP(mp_lock_owner), 1, OBJNULL}, {MP_ "LOCK-COUNT", MP_ORDINARY, IF_MP(mp_lock_count), 1, OBJNULL}, -{MP_ "GET-LOCK", MP_ORDINARY, IF_MP(mp_get_lock), -1, OBJNULL}, +{MP_ "GET-LOCK", MP_ORDINARY, IF_MP(mp_get_lock), -2, OBJNULL}, {MP_ "GIVEUP-LOCK", MP_ORDINARY, IF_MP(mp_giveup_lock), 1, OBJNULL}, {MP_ "MAKE-CONDITION-VARIABLE", MP_ORDINARY, IF_MP(mp_make_condition_variable), 0, OBJNULL}, {MP_ "CONDITION-VARIABLE-WAIT", MP_ORDINARY, IF_MP(mp_condition_variable_wait), 2, OBJNULL}, @@ -1601,8 +1604,8 @@ cl_symbols[] = { {MP_ "MAKE-RWLOCK", MP_ORDINARY, IF_MP(mp_make_rwlock), -1, OBJNULL}, {MP_ "RWLOCK", MP_ORDINARY, NULL, -1, OBJNULL}, {MP_ "RWLOCK-NAME", MP_ORDINARY, IF_MP(mp_rwlock_name), 1, OBJNULL}, -{MP_ "GET-RWLOCK-READ", MP_ORDINARY, IF_MP(mp_get_rwlock_read), -1, OBJNULL}, -{MP_ "GET-RWLOCK-WRITE", MP_ORDINARY, IF_MP(mp_get_rwlock_write), -1, OBJNULL}, +{MP_ "GET-RWLOCK-READ", MP_ORDINARY, IF_MP(mp_get_rwlock_read), -2, OBJNULL}, +{MP_ "GET-RWLOCK-WRITE", MP_ORDINARY, IF_MP(mp_get_rwlock_write), -2, OBJNULL}, {MP_ "GIVEUP-RWLOCK-READ", MP_ORDINARY, IF_MP(mp_giveup_rwlock_read), 1, OBJNULL}, {MP_ "GIVEUP-RWLOCK-WRITE", MP_ORDINARY, IF_MP(mp_giveup_rwlock_write), 1, OBJNULL}, {MP_ "GLOBAL-LOCK", MP_ORDINARY, NULL, -1, OBJNULL}, @@ -1610,7 +1613,7 @@ cl_symbols[] = { {MP_ "SEMAPHORE", MP_ORDINARY, NULL, -1, OBJNULL}, {MP_ "MAKE-SEMAPHORE", MP_ORDINARY, IF_MP(mp_make_semaphore), -1, OBJNULL}, -{MP_ "SIGNAL-SEMAPHORE", MP_ORDINARY, IF_MP(mp_signal_semaphore), -1, OBJNULL}, +{MP_ "SIGNAL-SEMAPHORE", MP_ORDINARY, IF_MP(mp_signal_semaphore), -2, OBJNULL}, {MP_ "WAIT-ON-SEMAPHORE", MP_ORDINARY, IF_MP(mp_wait_on_semaphore), 1, OBJNULL}, {MP_ "TRY-GET-SEMAPHORE", MP_ORDINARY, IF_MP(mp_try_get_semaphore), 1, OBJNULL}, {MP_ "SEMAPHORE-COUNT", MP_ORDINARY, IF_MP(mp_semaphore_count), 1, OBJNULL}, @@ -1619,8 +1622,8 @@ cl_symbols[] = { {KEY_ "COUNT", KEYWORD, NULL, -1, OBJNULL}, {MP_ "BARRIER", MP_ORDINARY, NULL, -1, OBJNULL}, -{MP_ "MAKE-BARRIER", MP_ORDINARY, IF_MP(mp_make_barrier), -1, OBJNULL}, -{MP_ "BARRIER-UNBLOCK", MP_ORDINARY, IF_MP(mp_barrier_unblock), -1, OBJNULL}, +{MP_ "MAKE-BARRIER", MP_ORDINARY, IF_MP(mp_make_barrier), -2, OBJNULL}, +{MP_ "BARRIER-UNBLOCK", MP_ORDINARY, IF_MP(mp_barrier_unblock), -2, OBJNULL}, {MP_ "BARRIER-WAIT", MP_ORDINARY, IF_MP(mp_barrier_wait), 1, OBJNULL}, {MP_ "BARRIER-COUNT", MP_ORDINARY, IF_MP(mp_barrier_count), 1, OBJNULL}, {MP_ "BARRIER-NAME", MP_ORDINARY, IF_MP(mp_barrier_name), 1, OBJNULL}, @@ -1703,7 +1706,7 @@ cl_symbols[] = { {CLOS_ "EFFECTIVE-SLOT-DEFINITION-CLASS", CLOS_ORDINARY, NULL, -1, OBJNULL}, {CLOS_ "ENSURE-CLASS", CLOS_ORDINARY, NULL, -1, OBJNULL}, {CLOS_ "ENSURE-CLASS-USING-CLASS", CLOS_ORDINARY, NULL, -1, OBJNULL}, -{CLOS_ "ENSURE-GENERIC-FUNCTION-USING-CLASS", CLOS_ORDINARY, NULL, -1, OBJNULL}, +{CLOS_ "ENSURE-GENERIC-FUNCTION-USING-CLASS", CLOS_ORDINARY, NULL, -3, OBJNULL}, {CLOS_ "EQL-SPECIALIZER", CLOS_ORDINARY, NULL, -1, OBJNULL}, {CLOS_ "EQL-SPECIALIZER-OBJECT", CLOS_ORDINARY, NULL, -1, OBJNULL}, {CLOS_ "EXTRACT-LAMBDA-LIST", CLOS_ORDINARY, ECL_NAME(clos_extract_lambda_list), 1, OBJNULL}, @@ -1782,7 +1785,7 @@ cl_symbols[] = { {EXT_ "CL-FIXNUM", EXT_ORDINARY, NULL, -1, NULL}, {EXT_ "CL-INDEX", EXT_ORDINARY, NULL, -1, NULL}, -{SYS_ "DO-DEFTYPE", SI_ORDINARY, ECL_NAME(si_do_deftype), -1, OBJNULL}, +{SYS_ "DO-DEFTYPE", SI_ORDINARY, ECL_NAME(si_do_deftype), -4, OBJNULL}, {SYS_ "CREATE-TYPE-NAME", SI_ORDINARY, NULL, -1, OBJNULL}, {SYS_ "*ALIEN-DECLARATIONS*", SI_SPECIAL, NULL, -1, ECL_NIL}, @@ -1795,9 +1798,9 @@ cl_symbols[] = { {SYS_ "*CODE-WALKER*", SI_SPECIAL, NULL, -1, OBJNULL}, /* #if defined(HAVE_LIBFFI) */ -{SYS_ "CALL-CFUN", SI_ORDINARY, IF_DFFI(si_call_cfun), -1, OBJNULL}, +{SYS_ "CALL-CFUN", SI_ORDINARY, IF_DFFI(si_call_cfun), -5, OBJNULL}, {KEY_ "CALLBACK", KEYWORD, NULL, -1, OBJNULL}, -{SYS_ "MAKE-DYNAMIC-CALLBACK", SI_ORDINARY, IF_DFFI(si_make_dynamic_callback), -1, OBJNULL}, +{SYS_ "MAKE-DYNAMIC-CALLBACK", SI_ORDINARY, IF_DFFI(si_make_dynamic_callback), -5, OBJNULL}, {SYS_ "FREE-FFI-CLOSURE", SI_ORDINARY, IF_DFFI(si_free_ffi_closure), 1, OBJNULL}, /* #endif defined(HAVE_LIBFFI) */ {KEY_ "CDECL", KEYWORD, NULL, -1, OBJNULL}, @@ -1819,7 +1822,7 @@ cl_symbols[] = { {EXT_ "GET-FINALIZER", EXT_ORDINARY, si_get_finalizer, 1, OBJNULL}, {EXT_ "SET-FINALIZER", EXT_ORDINARY, si_set_finalizer, 2, OBJNULL}, -{SYS_ "WRONG-TYPE-ARGUMENT", SI_ORDINARY, si_wrong_type_argument, -1, OBJNULL}, +{SYS_ "WRONG-TYPE-ARGUMENT", SI_ORDINARY, si_wrong_type_argument, -3, OBJNULL}, {SYS_ "*CURRENT-FORM*", SI_SPECIAL, NULL, -1, OBJNULL}, @@ -1963,7 +1966,7 @@ cl_symbols[] = { {SYS_ "READ-OBJECT-OR-IGNORE", EXT_ORDINARY, si_read_object_or_ignore, 2, OBJNULL}, -{EXT_ "READTABLE-LOCK", EXT_ORDINARY, si_readtable_lock, -1, OBJNULL}, +{EXT_ "READTABLE-LOCK", EXT_ORDINARY, si_readtable_lock, -2, OBJNULL}, {SYS_ "+IO-SYNTAX-PROGV-LIST+", SI_CONSTANT, NULL, -1, OBJNULL}, {SYS_ "+ECL-SYNTAX-PROGV-LIST+", SI_CONSTANT, NULL, -1, OBJNULL}, @@ -2008,7 +2011,7 @@ cl_symbols[] = { {KEY_ "ENVIRON", KEYWORD, NULL, -1, OBJNULL}, /* external-process extension */ -{EXT_ "RUN-PROGRAM", EXT_ORDINARY, ECL_NAME(si_run_program), -1, OBJNULL}, +{EXT_ "RUN-PROGRAM", EXT_ORDINARY, ECL_NAME(si_run_program), -3, OBJNULL}, {EXT_ "MAKE-EXTERNAL-PROCESS", EXT_ORDINARY, NULL, -1, OBJNULL}, {EXT_ "EXTERNAL-PROCESS", EXT_ORDINARY, NULL, -1, OBJNULL}, @@ -2017,8 +2020,8 @@ cl_symbols[] = { {EXT_ "EXTERNAL-PROCESS-OUTPUT", EXT_ORDINARY, NULL, -1, OBJNULL}, {EXT_ "EXTERNAL-PROCESS-ERROR-STREAM", EXT_ORDINARY, NULL, -1, OBJNULL}, {EXT_ "EXTERNAL-PROCESS-STATUS", EXT_ORDINARY, NULL, -1, OBJNULL}, -{EXT_ "EXTERNAL-PROCESS-WAIT", EXT_ORDINARY, NULL, -1, OBJNULL}, -{EXT_ "TERMINATE-PROCESS", EXT_ORDINARY, ECL_NAME(si_terminate_process), -1, OBJNULL}, +{EXT_ "EXTERNAL-PROCESS-WAIT", EXT_ORDINARY, NULL, -2, OBJNULL}, +{EXT_ "TERMINATE-PROCESS", EXT_ORDINARY, ECL_NAME(si_terminate_process), -2, OBJNULL}, {KEY_ "RUNNING", KEYWORD, NULL, -1, OBJNULL}, {KEY_ "EXITED", KEYWORD, NULL, -1, OBJNULL}, @@ -2081,7 +2084,7 @@ cl_symbols[] = { {EXT_ "COMPILER-TYPECASE", EXT_ORDINARY, NULL, -1, OBJNULL}, -{SYS_ "ASSERT-FAILURE", SI_ORDINARY, ECL_NAME(si_assert_failure), -1, OBJNULL}, +{SYS_ "ASSERT-FAILURE", SI_ORDINARY, ECL_NAME(si_assert_failure), -2, OBJNULL}, {SYS_ "CCASE-ERROR", SI_ORDINARY, ECL_NAME(si_ccase_error), 3, OBJNULL}, {SYS_ "ECASE-ERROR", SI_ORDINARY, ECL_NAME(si_ecase_error), 2, OBJNULL}, {SYS_ "ETYPECASE-ERROR", SI_ORDINARY, ECL_NAME(si_etypecase_error), 2, OBJNULL}, @@ -2172,7 +2175,7 @@ cl_symbols[] = { {KEY_ "SHARED", KEYWORD, NULL, -1, OBJNULL}, {KEY_ "PRIVATE", KEYWORD, NULL, -1, OBJNULL}, -{EXT_ "MMAP", EXT_ORDINARY, si_mmap, -1, OBJNULL}, +{EXT_ "MMAP", EXT_ORDINARY, si_mmap, -2, OBJNULL}, {EXT_ "MUNMAP", EXT_ORDINARY, si_munmap, 1, OBJNULL}, {EXT_ "MMAP-ARRAY", EXT_ORDINARY, si_mmap_array, 1, OBJNULL}, @@ -2276,8 +2279,8 @@ cl_symbols[] = { {EXT_ "ARRAY-INDEX-P", EXT_ORDINARY, ECL_NAME(si_array_index_p), 1, OBJNULL}, {EXT_ "SEQUENCE-STREAM", EXT_ORDINARY, NULL, -1, OBJNULL}, -{EXT_ "MAKE-SEQUENCE-INPUT-STREAM", EXT_ORDINARY, si_make_sequence_input_stream, -1, OBJNULL}, -{EXT_ "MAKE-SEQUENCE-OUTPUT-STREAM", EXT_ORDINARY, si_make_sequence_output_stream, -1, OBJNULL}, +{EXT_ "MAKE-SEQUENCE-INPUT-STREAM", EXT_ORDINARY, si_make_sequence_input_stream, -2, OBJNULL}, +{EXT_ "MAKE-SEQUENCE-OUTPUT-STREAM", EXT_ORDINARY, si_make_sequence_output_stream, -2, OBJNULL}, {EXT_ "CHMOD", EXT_ORDINARY, si_chmod, 2, OBJNULL}, @@ -2290,7 +2293,7 @@ cl_symbols[] = { {SYS_ "REPORT-FUNCTION", SI_ORDINARY, NULL, -1, OBJNULL}, -{SYS_ "DO-DEFSETF", SI_ORDINARY, ECL_NAME(si_do_defsetf), -1, OBJNULL}, +{SYS_ "DO-DEFSETF", SI_ORDINARY, ECL_NAME(si_do_defsetf), -3, OBJNULL}, {SYS_ "DO-DEFINE-SETF-METHOD", SI_ORDINARY, ECL_NAME(si_do_define_setf_method), 2, OBJNULL}, {SYS_ "SETF-DEFINITION", SI_ORDINARY, ECL_NAME(si_setf_definition), 2, OBJNULL}, @@ -2400,8 +2403,8 @@ cl_symbols[] = { {SYS_ "BIND-SIMPLE-RESTARTS", SI_ORDINARY, ECL_NAME(si_bind_simple_restarts), 2, OBJNULL}, {SYS_ "BIND-SIMPLE-HANDLERS", SI_ORDINARY, ECL_NAME(si_bind_simple_handlers), 2, OBJNULL}, -{EXT_ "CONSTANT-FORM-VALUE", EXT_ORDINARY, si_constant_form_value, -1, OBJNULL}, -{EXT_ "CONSTANTP-INNER", EXT_ORDINARY, si_constantp_inner, -1, OBJNULL}, +{EXT_ "CONSTANT-FORM-VALUE", EXT_ORDINARY, si_constant_form_value, -2, OBJNULL}, +{EXT_ "CONSTANTP-INNER", EXT_ORDINARY, si_constantp_inner, -2, OBJNULL}, {SYS_ "MAKE-BACKQ-VECTOR", SI_ORDINARY, si_make_backq_vector, 3, OBJNULL}, {SYS_ "RATIOP", SI_ORDINARY, ECL_NAME(si_ratiop), 1, OBJNULL}, diff --git a/src/cmp/cmpcall.lsp b/src/cmp/cmpcall.lsp index acb408fd7..3dffd09c4 100644 --- a/src/cmp/cmpcall.lsp +++ b/src/cmp/cmpcall.lsp @@ -177,11 +177,10 @@ (wt-h1 "cl_object")) (wt-h1 ");")) (progn - (wt-nl-h "#ifdef __cplusplus") - (wt-nl-h "extern cl_object " fun-c-name "(...);") - (wt-nl-h "#else") - (wt-nl-h "extern cl_object " fun-c-name "();") - (wt-nl-h "#endif"))) + (wt-nl-h "extern cl_object " fun-c-name "(cl_narg") + (dotimes (i (min minarg si:c-arguments-limit)) + (wt-h1 ",cl_object")) + (wt-h1 ",...);"))) (setf (gethash fun-c-name *compiler-declared-globals*) 1)))) (let ((fun (make-fun :name fname :global t :cfun fun-c-name :lambda 'NIL :minarg minarg :maxarg maxarg))) diff --git a/src/cmp/cmplam.lsp b/src/cmp/cmplam.lsp index 5cb9aadea..27099093a 100644 --- a/src/cmp/cmplam.lsp +++ b/src/cmp/cmplam.lsp @@ -310,9 +310,9 @@ The function thus belongs to the type of functions that ecl_make_cfun accepts." (maxarg call-arguments-limit)) (destructuring-bind (requireds optionals rest key-flag keywords a-o-k) (c1form-arg 0 lambda) + (setf minarg (length requireds)) (when (and (null rest) (not key-flag) (not a-o-k)) - (setf minarg (length requireds) - maxarg (+ minarg (/ (length optionals) 3))))) + (setf maxarg (+ minarg (/ (length optionals) 3))))) (values minarg maxarg))) #| Steps: diff --git a/src/cmp/cmpspecial.lsp b/src/cmp/cmpspecial.lsp index a9b5094e6..7dc2f3d10 100644 --- a/src/cmp/cmpspecial.lsp +++ b/src/cmp/cmpspecial.lsp @@ -184,10 +184,11 @@ (cond ((eq closure 'CLOSURE) (wt "ecl_make_cclosure_va((cl_objectfn)" cfun "," (environment-accessor fun) - ",Cblock)")) + ",Cblock," (min (fun-minarg fun) si:c-arguments-limit) ")")) ((eq closure 'LEXICAL) (baboon :format-control "wt-make-closure: lexical closure detected.")) ((setf narg (fun-fixed-narg fun)) ; empty environment fixed number of args (wt "ecl_make_cfun((cl_objectfn_fixed)" cfun ",ECL_NIL,Cblock," narg ")")) (t ; empty environment variable number of args - (wt "ecl_make_cfun_va((cl_objectfn)" cfun ",ECL_NIL,Cblock)"))))) + (wt "ecl_make_cfun_va((cl_objectfn)" cfun ",ECL_NIL,Cblock," + (min (fun-minarg fun) si:c-arguments-limit) ")"))))) diff --git a/src/cmp/cmptop.lsp b/src/cmp/cmptop.lsp index 23fa7fb18..e0e4cda3f 100644 --- a/src/cmp/cmptop.lsp +++ b/src/cmp/cmptop.lsp @@ -886,8 +886,8 @@ (if (zerop n-cfuns) (wt-nl-h "#define compiler_cfuns NULL") (progn - (format stream "~%static const struct ecl_cfun compiler_cfuns[] = {~ -~%~t/*t,m,narg,padding,name,block,entry*/"); + (format stream "~%static const struct ecl_cfunfixed compiler_cfuns[] = {~ +~%~t/*t,m,narg,padding,name=function-location,block=name-location,entry,entry_fixed,file,file_position*/") (loop for (loc fname-loc fun) in (nreverse *global-cfuns-array*) do (let* ((cfun (fun-cfun fun)) (minarg (fun-minarg fun)) @@ -895,8 +895,8 @@ (narg (if (and (= minarg maxarg) (<= maxarg si:c-arguments-limit)) maxarg - -1))) - (format stream "~%{0,0,~D,0,ecl_make_fixnum(~D),ecl_make_fixnum(~D),(cl_objectfn)~A,ECL_NIL,ecl_make_fixnum(~D)}," + (1- (- (min minarg si:c-arguments-limit)))))) + (format stream "~%{0,0,~D,0,ecl_make_fixnum(~D),ecl_make_fixnum(~D),(cl_objectfn)~A,NULL,ECL_NIL,ecl_make_fixnum(~D)}," narg (vv-location loc) (vv-location fname-loc) diff --git a/src/cmp/proclamations.lsp b/src/cmp/proclamations.lsp index fd353296b..f13e5c2dd 100644 --- a/src/cmp/proclamations.lsp +++ b/src/cmp/proclamations.lsp @@ -196,6 +196,11 @@ (proclamation ext:constant-form-value (t &optional environment) t) (proclamation ext:constantp-inner (t &optional environment) gen-bool) +(proclamation si::remove-documentation (t) t) +(proclamation si::find-declarations (t &optional gen-bool) t) +(proclamation si::search-keyword (t t) t) +(proclamation si::check-keyword (list list &optional gen-bool) t) + ;;; ;;; 4. TYPES AND CLASSES ;;; @@ -313,6 +318,12 @@ (proclamation clos:extract-lambda-list (list) list) #+clos (proclamation clos:extract-specializer-names (list) list) +#+clos +(proclamation clos::install-method (t t t t t &rest t) t) +#+clos +(proclamation clos::find-slot-definition (t t) t) +#+clos +(proclamation clos::ensure-class (t &rest t) t) #+(and threads clos) (proclamation mp::compare-and-swap-standard-instance (ext:instance t t t) t) #+(and threads clos) (proclamation mp::compare-and-swap-slot-value (ext:instance symbol t t) t) @@ -332,6 +343,8 @@ (proclamation si:structure-set (structure-object t fixnum t) t) (proclamation si:structurep (t) gen-bool :predicate) (proclamation si:structure-subtype-p (t t) gen-bool :predicate) +(proclamation si::define-structure (t t t t t t t t t t t t t t t) t) +(proclamation si::structure-type-error (t t t t) t) #+threads (proclamation mp:compare-and-swap-structure (structure-object t fixnum t t) t) @@ -452,6 +465,7 @@ (proclamation si:select-package (package-designator) package) (proclamation si:package-hash-tables (package-designator) (values hash-table hash-table list) :reader) +(proclamation si::packages-iterator (t list gen-bool) function) (proclamation ext:package-lock (package-designator gen-bool) package) (proclamation ext:package-locked-p (package-designator) boolean :no-side-effects) (proclamation ext:package-local-nicknames @@ -992,6 +1006,7 @@ (t sequence sequence-index (or null sequence-index)) (values fixnum fixnum fixnum) :no-side-effects) (proclamation si::sequence-count ((or null integer)) fixnum :no-side-effects) +(proclamation si::coerce-to-list (sequence) list) ;;; ;;; 18. HASH TABLES @@ -1222,6 +1237,10 @@ ;; Slot accessor: ;; (proclamation print-not-readable-object (condition) t) +;; ECL extensions: +(proclamation si::pprint-logical-block-helper (t t t string gen-bool string) t) +(proclamation si::pprint-pop-helper (t t stream) t) + ;;; ;;; 23. READER ;;; @@ -1383,6 +1402,10 @@ (proclamation si:unbound () t :pure) (proclamation si:traced-old-definition (t) t :no-side-effects) +(proclamation si::expand-set-documentation (t t t) t) +(proclamation si::set-documentation (t t t) t) +(proclamation si::get-documentation (t t) t) + #+clos (proclamation si:allocate-raw-instance (t t fixnum) ext:instance) #+clos diff --git a/src/h/external.h b/src/h/external.h index ef94d26cd..0aff0c870 100755 --- a/src/h/external.h +++ b/src/h/external.h @@ -283,14 +283,14 @@ extern ECL_API cl_object si_make_weak_pointer(cl_object o); extern ECL_API cl_object si_weak_pointer_value(cl_object o); #else extern ECL_API cl_object si_allocate _ECL_ARGS((cl_narg narg, cl_object type, cl_object qty, ...)); -extern ECL_API cl_object si_maximum_allocatable_pages _ECL_ARGS((cl_narg narg, cl_object type)); -extern ECL_API cl_object si_allocated_pages _ECL_ARGS((cl_narg narg, cl_object type)); +extern ECL_API cl_object si_maximum_allocatable_pages _ECL_ARGS((cl_narg narg, cl_object type, ...)); +extern ECL_API cl_object si_allocated_pages _ECL_ARGS((cl_narg narg, cl_object type, ...)); extern ECL_API cl_object si_alloc_contpage _ECL_ARGS((cl_narg narg, cl_object qty, ...)); -extern ECL_API cl_object si_allocated_contiguous_pages _ECL_ARGS((cl_narg narg)); -extern ECL_API cl_object si_maximum_contiguous_pages _ECL_ARGS((cl_narg narg)); +extern ECL_API cl_object si_allocated_contiguous_pages _ECL_ARGS((cl_narg narg, ...)); +extern ECL_API cl_object si_maximum_contiguous_pages _ECL_ARGS((cl_narg narg, ...)); extern ECL_API cl_object si_allocate_contiguous_pages _ECL_ARGS((cl_narg narg, cl_object qty, ...)); -extern ECL_API cl_object si_get_hole_size _ECL_ARGS((cl_narg narg)); -extern ECL_API cl_object si_set_hole_size _ECL_ARGS((cl_narg narg, cl_object size)); +extern ECL_API cl_object si_get_hole_size _ECL_ARGS((cl_narg narg, ...)); +extern ECL_API cl_object si_set_hole_size _ECL_ARGS((cl_narg narg, cl_object size, ...)); extern ECL_API cl_object si_ignore_maximum_pages _ECL_ARGS((cl_narg narg, ...)); extern ECL_API void *ecl_alloc(cl_index n); extern ECL_API void *ecl_alloc_align(cl_index size, cl_index align); @@ -431,12 +431,12 @@ extern ECL_API cl_object cl_function_lambda_expression(cl_object fun); extern ECL_API cl_object si_compiled_function_file(cl_object fun); extern ECL_API cl_object ecl_make_cfun(cl_objectfn_fixed c_function, cl_object name, cl_object block, int narg); -extern ECL_API cl_object ecl_make_cfun_va(cl_objectfn c_function, cl_object name, cl_object block); -extern ECL_API cl_object ecl_make_cclosure_va(cl_objectfn c_function, cl_object env, cl_object block); +extern ECL_API cl_object ecl_make_cfun_va(cl_objectfn c_function, cl_object name, cl_object block, int narg_fixed); +extern ECL_API cl_object ecl_make_cclosure_va(cl_objectfn c_function, cl_object env, cl_object block, int narg_fixed); extern ECL_API void ecl_def_c_function(cl_object sym, cl_objectfn_fixed c_function, int narg); extern ECL_API void ecl_def_c_macro(cl_object sym, cl_objectfn_fixed c_function, int narg); -extern ECL_API void ecl_def_c_macro_va(cl_object sym, cl_objectfn c_function); -extern ECL_API void ecl_def_c_function_va(cl_object sym, cl_objectfn c_function); +extern ECL_API void ecl_def_c_macro_va(cl_object sym, cl_objectfn c_function, int narg_fixed); +extern ECL_API void ecl_def_c_function_va(cl_object sym, cl_objectfn c_function, int narg_fixed); extern ECL_API void ecl_set_function_source_file_info(cl_object fun, cl_object source, cl_object position); extern ECL_API void ecl_cmp_defmacro(cl_object data); extern ECL_API void ecl_cmp_defun(cl_object data); @@ -762,10 +762,10 @@ extern ECL_API cl_object cl_format _ECL_ARGS((cl_narg narg, cl_object stream, cl /* gbc.c */ #if !defined(GBC_BOEHM) -extern ECL_API cl_object si_room_report _ECL_ARGS((cl_narg narg)); -extern ECL_API cl_object si_reset_gc_count _ECL_ARGS((cl_narg narg)); -extern ECL_API cl_object si_gc_time _ECL_ARGS((cl_narg narg)); -extern ECL_API cl_object si_gc(cl_object area); +extern ECL_API cl_object si_room_report _ECL_ARGS((cl_narg narg, ...)); +extern ECL_API cl_object si_reset_gc_count _ECL_ARGS((cl_narg narg, ...)); +extern ECL_API cl_object si_gc_time _ECL_ARGS((cl_narg narg, ...)); +extern ECL_API cl_object si_gc(cl_object area, ...); #define GC_enabled() GC_enable #define GC_enable() GC_enable = TRUE; #define GC_disable() GC_enable = FALSE; @@ -1503,9 +1503,9 @@ extern ECL_API cl_object si_print_unreadable_object_function(cl_object o, cl_obj /* profile.c */ #ifdef PROFILE -extern ECL_API cl_object si_profile _ECL_ARGS((cl_narg narg, cl_object scale, cl_object start_address)); -extern ECL_API cl_object si_clear_profile _ECL_ARGS((cl_narg narg)); -extern ECL_API cl_object si_display_profile _ECL_ARGS((cl_narg narg)); +extern ECL_API cl_object si_profile _ECL_ARGS((cl_narg narg, cl_object scale, cl_object start_address, ...)); +extern ECL_API cl_object si_clear_profile _ECL_ARGS((cl_narg narg, ...)); +extern ECL_API cl_object si_display_profile _ECL_ARGS((cl_narg narg, ...)); extern ECL_API int total_ticks(unsigned short *aar, unsigned int dim); extern ECL_API int init_profile(void); #endif @@ -2236,7 +2236,7 @@ extern ECL_API cl_object clos_method_specializers _ECL_ARGS((cl_narg narg, cl_ob extern ECL_API cl_object cl_method_qualifiers _ECL_ARGS((cl_narg narg, cl_object V1, ...)); extern ECL_API cl_object clos_method_function _ECL_ARGS((cl_narg narg, cl_object V1, ...)); extern ECL_API cl_object clos_method_plist _ECL_ARGS((cl_narg narg, cl_object V1, ...)); -extern ECL_API cl_object clos_install_method _ECL_ARGS((cl_narg narg, cl_object V1, cl_object V2, cl_object V3, cl_object V4, cl_object V5, cl_object V6, cl_object V7, ...)); +extern ECL_API cl_object clos_install_method _ECL_ARGS((cl_narg narg, cl_object V1, cl_object V2, cl_object V3, cl_object V4, cl_object V5, ...)); #endif diff --git a/src/h/internal.h b/src/h/internal.h index 38872bffb..2c6c7befc 100755 --- a/src/h/internal.h +++ b/src/h/internal.h @@ -299,8 +299,8 @@ extern void ecl_reconstruct_serialized_hashtable(cl_object h); #define GFUN_COMB(x) ((x)->instance.slots[2]) extern cl_object FEnot_funcallable_vararg(cl_narg narg, ...); -extern cl_object ecl_slot_reader_dispatch(cl_narg narg, cl_object instance); -extern cl_object ecl_slot_writer_dispatch(cl_narg narg, cl_object value, cl_object instance); +extern cl_object ecl_slot_reader_dispatch(cl_narg narg, ... /* cl_object instance */); +extern cl_object ecl_slot_writer_dispatch(cl_narg narg, ... /* cl_object value, cl_object instance */); /* load.d */ diff --git a/src/h/legacy.h b/src/h/legacy.h index f524cd3c4..e4f488bfd 100644 --- a/src/h/legacy.h +++ b/src/h/legacy.h @@ -45,17 +45,6 @@ #define big_size big_num->_mp_size #define big_limbs big_num->_mp_d -#define cl_def_c_function_va(sym,function) ecl_def_c_function_va(sym,function) -#define cl_def_c_function(sym,function,narg) ecl_def_c_function(sym,function,narg) -#define cl_def_c_macro(sym,function,narg) { \ - int n = (narg); \ - if (n < 0) \ - ecl_def_c_macro_va((sym),(function)); \ - else \ - ecl_def_c_macro((sym),(function),n); } -#define cl_make_cfun(fun,name,block,narg) ecl_make_cfun(fun,name,block,narg) -#define cl_make_cfun_va(fun,name,block) ecl_make_cfun_va(fun,name,block) -#define cl_make_cclosure_va(fun,name,block) ecl_make_cclosure_va(fun,name,block) #define si_bc_file(o) si_compiled_function_file(o) #define ARRAYP ECL_ARRAYP #define VECTORP ECL_VECTORP diff --git a/src/h/object.h b/src/h/object.h index 9ca91d9ea..661265c0a 100644 --- a/src/h/object.h +++ b/src/h/object.h @@ -736,7 +736,7 @@ struct ecl_codeblock { cl_object name; cl_object links; /* list of symbols with linking calls */ cl_index cfuns_size; /* number of functions defined */ - const struct ecl_cfun *cfuns; + const struct ecl_cfunfixed *cfuns; cl_object source; /* common debug information for this block */ cl_object refs; /* reference counter for the library */ cl_object error; /* error message when loading */ @@ -763,16 +763,26 @@ struct ecl_bclosure { }; struct ecl_cfun { /* compiled function header */ - _ECL_HDR1(narg); + _ECL_HDR1(narg); /* number of fixed arguments */ cl_object name; /* compiled function name */ cl_object block; /* descriptor of C code block for GC */ cl_objectfn entry; /* entry address */ +#ifdef ECL_C_COMPATIBLE_VARIADIC_DISPATCH + /* Some architectures (i.e. ARM64 on iOS) use a different + * calling convention for the fixed and variadic arguments of + * a variadic function. The only portable way to allow for + * function redefinitions during runtime in these + * architectures is to set entry to a dispatch function + * calling entry_variadic with the correct calling conventions + * (see cfun.d). -- mg 2019-12-02 */ + cl_objectfn entry_variadic; +#endif cl_object file; /* file where it was defined... */ cl_object file_position;/* and where it was created */ }; struct ecl_cfunfixed { /* compiled function header */ - _ECL_HDR1(narg); + _ECL_HDR1(narg); /* number of arguments */ cl_object name; /* compiled function name */ cl_object block; /* descriptor of C code block for GC */ cl_objectfn entry; /* entry address (must match the position of @@ -783,11 +793,14 @@ struct ecl_cfunfixed { /* compiled function header */ }; struct ecl_cclosure { /* compiled closure header */ - _ECL_HDR; + _ECL_HDR1(narg); /* number of fixed arguments */ cl_object env; /* environment */ cl_object block; /* descriptor of C code block for GC */ cl_objectfn entry; /* entry address (must match the position of * the equivalent field in cfun) */ +#ifdef ECL_C_COMPATIBLE_VARIADIC_DISPATCH + cl_objectfn entry_variadic; /* see struct ecl_cfun above */ +#endif cl_object file; /* file where it was defined... */ cl_object file_position;/* and where it was created */ };