Tag many error checks using ecl_unlikely

This commit is contained in:
Juan Jose Garcia Ripoll 2010-02-26 10:43:37 +01:00
parent 53a1d16b4d
commit 6e4d572bfb
23 changed files with 217 additions and 194 deletions

View file

@ -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;