diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2014-06-12 16:07:30 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2014-06-12 16:07:30 -0300 |
commit | fa3113ffbf4455871baf1d1d9d48679a17e6f3e5 (patch) | |
tree | ea9c4c8ba1427b1e6483a7fc4a448760585ae815 /lstate.h | |
parent | d94bb6c273d05005504be78f2caab2451aeb2cee (diff) | |
download | lua-fa3113ffbf4455871baf1d1d9d48679a17e6f3e5.tar.gz lua-fa3113ffbf4455871baf1d1d9d48679a17e6f3e5.tar.bz2 lua-fa3113ffbf4455871baf1d1d9d48679a17e6f3e5.zip |
cleaner way to handle bit CIST_OAH (with auxiliar macros)
Diffstat (limited to 'lstate.h')
-rw-r--r-- | lstate.h | 21 |
1 files changed, 12 insertions, 9 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lstate.h,v 2.105 2014/06/10 18:51:21 roberto Exp roberto $ | 2 | ** $Id: lstate.h,v 2.106 2014/06/10 19:18:50 roberto Exp roberto $ |
3 | ** Global State | 3 | ** Global State |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -80,18 +80,21 @@ typedef struct CallInfo { | |||
80 | /* | 80 | /* |
81 | ** Bits in CallInfo status | 81 | ** Bits in CallInfo status |
82 | */ | 82 | */ |
83 | #define CIST_LUA (1<<0) /* call is running a Lua function */ | 83 | #define CIST_OAH (1<<0) /* original value of 'allowhook' */ |
84 | #define CIST_HOOKED (1<<1) /* call is running a debug hook */ | 84 | #define CIST_LUA (1<<1) /* call is running a Lua function */ |
85 | #define CIST_REENTRY (1<<2) /* call is running on same invocation of | 85 | #define CIST_HOOKED (1<<2) /* call is running a debug hook */ |
86 | #define CIST_REENTRY (1<<3) /* call is running on same invocation of | ||
86 | luaV_execute of previous call */ | 87 | luaV_execute of previous call */ |
87 | #define CIST_YPCALL (1<<3) /* call is a yieldable protected call */ | 88 | #define CIST_YPCALL (1<<4) /* call is a yieldable protected call */ |
88 | #define CIST_TAIL (1<<4) /* call was tail called */ | 89 | #define CIST_TAIL (1<<5) /* call was tail called */ |
89 | #define CIST_HOOKYIELD (1<<5) /* last hook called yielded */ | 90 | #define CIST_HOOKYIELD (1<<6) /* last hook called yielded */ |
90 | #define CIST_OAH (1<<6) /* original value of 'allowhook' */ | ||
91 | |||
92 | 91 | ||
93 | #define isLua(ci) ((ci)->callstatus & CIST_LUA) | 92 | #define isLua(ci) ((ci)->callstatus & CIST_LUA) |
94 | 93 | ||
94 | /* assume that CIST_OAH has offset 0 and that 'v' is strictly 0/1 */ | ||
95 | #define setoah(st,v) ((st) = ((st) & ~CIST_OAH) | (v)) | ||
96 | #define getoah(st) ((st) & CIST_OAH) | ||
97 | |||
95 | 98 | ||
96 | /* | 99 | /* |
97 | ** `global state', shared by all threads of this state | 100 | ** `global state', shared by all threads of this state |