mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-02 13:00:26 +02:00
* eval.c (SCM_IM_DISPATCH), objects.c (scm_mcache_lookup_cmethod):
Count n_specialized + 1 turns before letting a match through.
This commit is contained in:
parent
55c4a13240
commit
4ea6a43186
2 changed files with 4 additions and 4 deletions
|
@ -2292,7 +2292,7 @@ dispatch:
|
||||||
[scm_si_hashsets + hashset];
|
[scm_si_hashsets + hashset];
|
||||||
t.arg1 = SCM_CDR (t.arg1);
|
t.arg1 = SCM_CDR (t.arg1);
|
||||||
}
|
}
|
||||||
while (--j && SCM_NIMP (t.arg1));
|
while (j-- && SCM_NIMP (t.arg1));
|
||||||
i &= mask;
|
i &= mask;
|
||||||
end = i;
|
end = i;
|
||||||
}
|
}
|
||||||
|
@ -2312,7 +2312,7 @@ dispatch:
|
||||||
t.arg1 = SCM_CDR (t.arg1);
|
t.arg1 = SCM_CDR (t.arg1);
|
||||||
z = SCM_CDR (z);
|
z = SCM_CDR (z);
|
||||||
}
|
}
|
||||||
while (--j && SCM_NIMP (t.arg1));
|
while (j-- && SCM_NIMP (t.arg1));
|
||||||
/* Fewer arguments than specifiers => CAR != ENV */
|
/* Fewer arguments than specifiers => CAR != ENV */
|
||||||
if (!(SCM_IMP (SCM_CAR (z)) || SCM_CONSP (SCM_CAR (z))))
|
if (!(SCM_IMP (SCM_CAR (z)) || SCM_CONSP (SCM_CAR (z))))
|
||||||
goto next_method;
|
goto next_method;
|
||||||
|
|
|
@ -276,7 +276,7 @@ scm_mcache_lookup_cmethod (SCM cache, SCM args)
|
||||||
[scm_si_hashsets + hashset];
|
[scm_si_hashsets + hashset];
|
||||||
ls = SCM_CDR (ls);
|
ls = SCM_CDR (ls);
|
||||||
}
|
}
|
||||||
while (--j && SCM_NIMP (ls));
|
while (j-- && SCM_NIMP (ls));
|
||||||
i &= mask;
|
i &= mask;
|
||||||
end = i;
|
end = i;
|
||||||
}
|
}
|
||||||
|
@ -296,7 +296,7 @@ scm_mcache_lookup_cmethod (SCM cache, SCM args)
|
||||||
ls = SCM_CDR (ls);
|
ls = SCM_CDR (ls);
|
||||||
z = SCM_CDR (z);
|
z = SCM_CDR (z);
|
||||||
}
|
}
|
||||||
while (--j && SCM_NIMP (ls));
|
while (j-- && SCM_NIMP (ls));
|
||||||
/* Fewer arguments than specifiers => CAR != ENV */
|
/* Fewer arguments than specifiers => CAR != ENV */
|
||||||
if (!(SCM_IMP (SCM_CAR (z)) || SCM_CONSP (SCM_CAR (z))))
|
if (!(SCM_IMP (SCM_CAR (z)) || SCM_CONSP (SCM_CAR (z))))
|
||||||
goto next_method;
|
goto next_method;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue