1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 14:00:21 +02:00

Speed up procedure-minimum-arity for fixed arity

* libguile/programs.c (try_parse_arity): Add a case for
  assert-nargs-ee/locals.
This commit is contained in:
Andy Wingo 2017-04-03 17:46:30 +02:00
parent cee0e3f966
commit 39339c9fb9

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014, 2017 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@ -251,6 +251,12 @@ try_parse_arity (SCM program, int *req, int *opt, int *rest)
*opt = 0;
*rest = 0;
return 1;
case scm_op_assert_nargs_ee_locals:
slots = (code[0] >> 8) & 0xfff;
*req = slots - 1;
*opt = 0;
*rest = 0;
return 1;
case scm_op_assert_nargs_le:
slots = code[0] >> 8;
*req = 0;