aboutsummaryrefslogtreecommitdiff
path: root/lstate.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2025-01-28 11:45:45 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2025-01-28 11:45:45 -0300
commit39a14ea7d7b14172595c61619e8f35c2614b2606 (patch)
tree863ea56e6014de9e1284f2e47ac1fbd4b69339ed /lstate.h
parentc4e7cdb541d89142056927ebdfd8f97017d38f45 (diff)
downloadlua-39a14ea7d7b14172595c61619e8f35c2614b2606.tar.gz
lua-39a14ea7d7b14172595c61619e8f35c2614b2606.tar.bz2
lua-39a14ea7d7b14172595c61619e8f35c2614b2606.zip
CallInfo bit CIST_CLSRET broken in two
Since commit f407b3c4a, it was being used for two distinct (and incompatible) meanings: A: Function has TBC variables (now bit CIST_TBC) B: Interpreter is closing TBC variables (original bit CIST_CLSRET) B implies A, but A does not imply B.
Diffstat (limited to 'lstate.h')
-rw-r--r--lstate.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/lstate.h b/lstate.h
index e95c7288..635f41d2 100644
--- a/lstate.h
+++ b/lstate.h
@@ -235,8 +235,10 @@ struct CallInfo {
235#define CIST_FRESH cast(l_uint32, CIST_C << 1) 235#define CIST_FRESH cast(l_uint32, CIST_C << 1)
236/* function is closing tbc variables */ 236/* function is closing tbc variables */
237#define CIST_CLSRET (CIST_FRESH << 1) 237#define CIST_CLSRET (CIST_FRESH << 1)
238/* function has tbc variables to close */
239#define CIST_TBC (CIST_CLSRET << 1)
238/* original value of 'allowhook' */ 240/* original value of 'allowhook' */
239#define CIST_OAH (CIST_CLSRET << 1) 241#define CIST_OAH (CIST_TBC << 1)
240/* call is running a debug hook */ 242/* call is running a debug hook */
241#define CIST_HOOKED (CIST_OAH << 1) 243#define CIST_HOOKED (CIST_OAH << 1)
242/* doing a yieldable protected call */ 244/* doing a yieldable protected call */