aboutsummaryrefslogtreecommitdiff
path: root/lstate.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2014-06-12 16:07:30 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2014-06-12 16:07:30 -0300
commitfa3113ffbf4455871baf1d1d9d48679a17e6f3e5 (patch)
treeea9c4c8ba1427b1e6483a7fc4a448760585ae815 /lstate.h
parentd94bb6c273d05005504be78f2caab2451aeb2cee (diff)
downloadlua-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.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/lstate.h b/lstate.h
index b03ed4f8..47dddcec 100644
--- a/lstate.h
+++ b/lstate.h
@@ -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