diff --git a/src/h/ecl-cmp.h b/src/h/ecl-cmp.h index 9898d67f3..1409d14bb 100755 --- a/src/h/ecl-cmp.h +++ b/src/h/ecl-cmp.h @@ -19,11 +19,6 @@ #include /* for inline mathematics */ #include -#undef cs_check -#define cs_check \ - if ((int *)(&narg) < cs_limit) \ - cs_overflow() - #define TRAMPOLINK(narg, vv, lk, cblock) \ cl_va_list args; cl_va_start(args, narg, narg, 0); \ return(_ecl_link_call(vv, (cl_objectfn *)lk, cblock, narg, args)) diff --git a/src/h/stacks.h b/src/h/stacks.h index 40c58b5c5..c6c43da5a 100755 --- a/src/h/stacks.h +++ b/src/h/stacks.h @@ -24,9 +24,11 @@ extern "C" { ***********/ #ifdef ECL_DOWN_STACK -#define ecl_cs_check(env,var) if ((char*)(&var) <= (env)->cs_limit) ecl_cs_overflow() +#define ecl_cs_check(env,var) \ + if (ecl_unlikely((char*)(&var) <= (env)->cs_limit)) ecl_cs_overflow() #else -#define ecl_cs_check(env,var) if ((char*)(&var) >= (env)->cs_limit) ecl_cs_overflow() +#define ecl_cs_check(env,var) \ + if (ecl_unlikely((char*)(&var) >= (env)->cs_limit)) ecl_cs_overflow() #endif /************** @@ -39,7 +41,7 @@ typedef struct bds_bd { } *bds_ptr; #define ecl_bds_check(env) \ - ((env->bds_top >= env->bds_limit)? ecl_bds_overflow() : (void)0) + (ecl_unlikely(env->bds_top >= env->bds_limit)? ecl_bds_overflow() : (void)0) #define ECL_MISSING_SPECIAL_BINDING (~((cl_index)0))