From 73db1aacd923d8b30b48447b8cd273eb8dbeee83 Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Fri, 7 May 2010 13:11:35 +0200 Subject: [PATCH] Add a couple more uses of ecl_unlikely and remove a duplicate definition of cs_check in ecl-cmp --- src/h/ecl-cmp.h | 5 ----- src/h/stacks.h | 8 +++++--- 2 files changed, 5 insertions(+), 8 deletions(-) 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))