diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2025-01-28 11:45:45 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2025-01-28 11:45:45 -0300 |
commit | 39a14ea7d7b14172595c61619e8f35c2614b2606 (patch) | |
tree | 863ea56e6014de9e1284f2e47ac1fbd4b69339ed /lstate.h | |
parent | c4e7cdb541d89142056927ebdfd8f97017d38f45 (diff) | |
download | lua-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.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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 */ |