mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-30 04:10:44 -08:00
Tag many error checks using ecl_unlikely
This commit is contained in:
parent
53a1d16b4d
commit
6e4d572bfb
23 changed files with 217 additions and 194 deletions
|
|
@ -57,7 +57,7 @@ si_instance_sig_set(cl_object x)
|
|||
cl_object
|
||||
si_instance_class(cl_object x)
|
||||
{
|
||||
if (!ECL_INSTANCEP(x))
|
||||
if (ecl_unlikely(!ECL_INSTANCEP(x)))
|
||||
FEwrong_type_only_arg(@'class-of', x, @'ext::instance');
|
||||
@(return CLASS_OF(x))
|
||||
}
|
||||
|
|
@ -65,9 +65,9 @@ si_instance_class(cl_object x)
|
|||
cl_object
|
||||
si_instance_class_set(cl_object x, cl_object y)
|
||||
{
|
||||
if (!ECL_INSTANCEP(x))
|
||||
if (ecl_unlikely(!ECL_INSTANCEP(x)))
|
||||
FEwrong_type_nth_arg(@'si::instance-class-set', 1, x, @'ext::instance');
|
||||
if (!ECL_INSTANCEP(y))
|
||||
if (ecl_unlikely(!ECL_INSTANCEP(y)))
|
||||
FEwrong_type_nth_arg(@'si::instance-class-set', 2, y, @'ext::instance');
|
||||
CLASS_OF(x) = y;
|
||||
@(return x)
|
||||
|
|
@ -76,9 +76,9 @@ si_instance_class_set(cl_object x, cl_object y)
|
|||
cl_object
|
||||
ecl_instance_ref(cl_object x, cl_fixnum i)
|
||||
{
|
||||
if (!ECL_INSTANCEP(x))
|
||||
if (ecl_unlikely(!ECL_INSTANCEP(x)))
|
||||
FEwrong_type_nth_arg(@'si::instance-ref', 1, x, @'ext::instance');
|
||||
if (i < 0 || i >= (cl_fixnum)x->instance.length)
|
||||
if (ecl_unlikely(i < 0 || i >= (cl_fixnum)x->instance.length))
|
||||
FEtype_error_index(x, MAKE_FIXNUM(i));
|
||||
return(x->instance.slots[i]);
|
||||
}
|
||||
|
|
@ -88,10 +88,10 @@ si_instance_ref(cl_object x, cl_object index)
|
|||
{
|
||||
cl_fixnum i;
|
||||
|
||||
if (!ECL_INSTANCEP(x))
|
||||
if (ecl_unlikely(!ECL_INSTANCEP(x)))
|
||||
FEwrong_type_nth_arg(@'si::instance-ref', 1, x, @'ext::instance');
|
||||
if (!FIXNUMP(index) ||
|
||||
(i = fix(index)) < 0 || i >= (cl_fixnum)x->instance.length)
|
||||
if (ecl_unlikely(!FIXNUMP(index) ||
|
||||
(i = fix(index)) < 0 || i >= (cl_fixnum)x->instance.length))
|
||||
FEtype_error_index(x, index);
|
||||
@(return x->instance.slots[i])
|
||||
}
|
||||
|
|
@ -101,13 +101,13 @@ si_instance_ref_safe(cl_object x, cl_object index)
|
|||
{
|
||||
cl_fixnum i;
|
||||
|
||||
if (!ECL_INSTANCEP(x))
|
||||
if (ecl_unlikely(!ECL_INSTANCEP(x)))
|
||||
FEwrong_type_nth_arg(@'si::instance-ref', 1, x, @'ext::instance');
|
||||
if (!FIXNUMP(index) ||
|
||||
(i = fix(index)) < 0 || i >= x->instance.length)
|
||||
if (ecl_unlikely(!FIXNUMP(index) ||
|
||||
(i = fix(index)) < 0 || i >= x->instance.length))
|
||||
FEtype_error_index(x, index);
|
||||
x = x->instance.slots[i];
|
||||
if (x == ECL_UNBOUND)
|
||||
if (ecl_unlikely(x == ECL_UNBOUND))
|
||||
cl_error(5, @'unbound-slot', @':name', index, @':instance', x);
|
||||
@(return x)
|
||||
}
|
||||
|
|
@ -115,9 +115,9 @@ si_instance_ref_safe(cl_object x, cl_object index)
|
|||
cl_object
|
||||
ecl_instance_set(cl_object x, cl_fixnum i, cl_object v)
|
||||
{
|
||||
if (!ECL_INSTANCEP(x))
|
||||
if (ecl_unlikely(!ECL_INSTANCEP(x)))
|
||||
FEwrong_type_nth_arg(@'si::instance-set', 1, x, @'ext::instance');
|
||||
if (i >= x->instance.length || i < 0)
|
||||
if (ecl_unlikely(i >= x->instance.length || i < 0))
|
||||
FEtype_error_index(x, MAKE_FIXNUM(i));
|
||||
x->instance.slots[i] = v;
|
||||
return(v);
|
||||
|
|
@ -128,10 +128,10 @@ si_instance_set(cl_object x, cl_object index, cl_object value)
|
|||
{
|
||||
cl_fixnum i;
|
||||
|
||||
if (!ECL_INSTANCEP(x))
|
||||
if (ecl_unlikely(!ECL_INSTANCEP(x)))
|
||||
FEwrong_type_nth_arg(@'si::instance-set', 1, x, @'ext::instance');
|
||||
if (!FIXNUMP(index) ||
|
||||
(i = fix(index)) >= (cl_fixnum)x->instance.length || i < 0)
|
||||
if (ecl_unlikely(!FIXNUMP(index) ||
|
||||
(i = fix(index)) >= (cl_fixnum)x->instance.length || i < 0))
|
||||
FEtype_error_index(x, index);
|
||||
x->instance.slots[i] = value;
|
||||
@(return value)
|
||||
|
|
@ -162,10 +162,10 @@ si_sl_makunbound(cl_object x, cl_object index)
|
|||
{
|
||||
cl_fixnum i;
|
||||
|
||||
if (!ECL_INSTANCEP(x))
|
||||
if (ecl_unlikely(!ECL_INSTANCEP(x)))
|
||||
FEwrong_type_nth_arg(@'si::sl-makunbound', 1, x, @'ext::instance');
|
||||
if (!FIXNUMP(index) ||
|
||||
(i = fix(index)) >= x->instance.length || i < 0)
|
||||
if (ecl_unlikely(!FIXNUMP(index) ||
|
||||
(i = fix(index)) >= x->instance.length || i < 0))
|
||||
FEtype_error_index(x, index);
|
||||
x->instance.slots[i] = ECL_UNBOUND;
|
||||
@(return x)
|
||||
|
|
@ -176,7 +176,7 @@ si_copy_instance(cl_object x)
|
|||
{
|
||||
cl_object y;
|
||||
|
||||
if (!ECL_INSTANCEP(x))
|
||||
if (ecl_unlikely(!ECL_INSTANCEP(x)))
|
||||
FEwrong_type_nth_arg(@'si::copy-instance', 1, x, @'ext::instance');
|
||||
y = ecl_allocate_instance(x->instance.clas, x->instance.length);
|
||||
y->instance.sig = x->instance.sig;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue