diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-10-24 19:42:30 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-10-24 19:42:30 -0700 |
commit | 329318ae4f9c180ed68ec484bb5e1acdcb3dec44 (patch) | |
tree | 043acc3234d4656923e383ddf819506af58ba15a /eval.c | |
parent | 869c570ea8231596b374fd8fa62b6646d61f234e (diff) | |
download | txr-329318ae4f9c180ed68ec484bb5e1acdcb3dec44.tar.gz txr-329318ae4f9c180ed68ec484bb5e1acdcb3dec44.tar.bz2 txr-329318ae4f9c180ed68ec484bb5e1acdcb3dec44.zip |
Reduce stack usage for args in a few places.
* eval.c (apply, do_eval): Use ARGS_MIN instead of ARGS_MAX.
* unwind.c (uw_throw): Ditto, when invoking handler.
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -678,8 +678,7 @@ static val get_param_syms(val params) val apply(val fun, val arglist, val ctx_form) { - args_decl(args, ARGS_MAX); - args_init_list(args, ARGS_MAX, arglist); + args_decl_list(args, ARGS_MIN, arglist); return generic_funcall(fun, args); } @@ -1003,7 +1002,7 @@ static val do_eval(val form, val env, val ctx_form, } else { val arglist = rest(form); cnum alen = if3(consp(arglist), c_num(length(arglist)), 0); - cnum argc = max(alen, ARGS_MAX); + cnum argc = max(alen, ARGS_MIN); val ret, lfe_save = last_form_evaled; args_decl(args, argc); |