summaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-10-14 07:37:02 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-10-14 07:37:02 -0700
commitc7a8b7e7402583e24e418523fe00c1f2ffef0f2f (patch)
treed81f4b6cbde54bae4d23fbc109a3cb8a32a69f1b /parser.l
parent378546295be6b3a72ee3792d9175501bc77c016d (diff)
downloadtxr-c7a8b7e7402583e24e418523fe00c1f2ffef0f2f.tar.gz
txr-c7a8b7e7402583e24e418523fe00c1f2ffef0f2f.tar.bz2
txr-c7a8b7e7402583e24e418523fe00c1f2ffef0f2f.zip
funcall: don't route to generic_fun on optargs.
* lib.c (funcall, funcall1, funcall2, funcall3, funcall4): Do not go through the generic_funcall slow path just because the target function has optional arguments. It's possible that the call is supplying all of the required arguments. Let's try it like that and then if it doesn't work and there are optionals, check again and go the generic_funcall route. This might not be an overall improvement by itself, if we end up going to generic_funcall in more cases than not. However, this change paves the way for more changes: handling some cases of optargs in these helpers.
Diffstat (limited to 'parser.l')
0 files changed, 0 insertions, 0 deletions