diff options
Diffstat (limited to '')
-rw-r--r-- | src/keeper.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/keeper.cpp b/src/keeper.cpp index 6fb22a9..c886718 100644 --- a/src/keeper.cpp +++ b/src/keeper.cpp | |||
@@ -172,7 +172,7 @@ static void push_table( lua_State* L, int idx_) | |||
172 | STACK_GROW( L, 4); | 172 | STACK_GROW( L, 4); |
173 | STACK_CHECK( L, 0); | 173 | STACK_CHECK( L, 0); |
174 | idx_ = lua_absindex( L, idx_); | 174 | idx_ = lua_absindex( L, idx_); |
175 | REGISTRY_GET( L, FIFOS_KEY); // ud fifos | 175 | FIFOS_KEY.query_registry(L); // ud fifos |
176 | lua_pushvalue( L, idx_); // ud fifos ud | 176 | lua_pushvalue( L, idx_); // ud fifos ud |
177 | lua_rawget( L, -2); // ud fifos fifos[ud] | 177 | lua_rawget( L, -2); // ud fifos fifos[ud] |
178 | STACK_MID( L, 2); | 178 | STACK_MID( L, 2); |
@@ -196,7 +196,7 @@ int keeper_push_linda_storage( Universe* U, lua_State* L, void* ptr_, ptrdiff_t | |||
196 | if( KL == nullptr) return 0; | 196 | if( KL == nullptr) return 0; |
197 | STACK_GROW( KL, 4); | 197 | STACK_GROW( KL, 4); |
198 | STACK_CHECK( KL, 0); | 198 | STACK_CHECK( KL, 0); |
199 | REGISTRY_GET( KL, FIFOS_KEY); // fifos | 199 | FIFOS_KEY.query_registry(KL); // fifos |
200 | lua_pushlightuserdata( KL, ptr_); // fifos ud | 200 | lua_pushlightuserdata( KL, ptr_); // fifos ud |
201 | lua_rawget( KL, -2); // fifos storage | 201 | lua_rawget( KL, -2); // fifos storage |
202 | lua_remove( KL, -2); // storage | 202 | lua_remove( KL, -2); // storage |
@@ -243,7 +243,7 @@ int keepercall_clear( lua_State* L) | |||
243 | { | 243 | { |
244 | STACK_GROW( L, 3); | 244 | STACK_GROW( L, 3); |
245 | STACK_CHECK( L, 0); | 245 | STACK_CHECK( L, 0); |
246 | REGISTRY_GET( L, FIFOS_KEY); // ud fifos | 246 | FIFOS_KEY.query_registry(L); // ud fifos |
247 | lua_pushvalue( L, 1); // ud fifos ud | 247 | lua_pushvalue( L, 1); // ud fifos ud |
248 | lua_pushnil( L); // ud fifos ud nil | 248 | lua_pushnil( L); // ud fifos ud nil |
249 | lua_rawset( L, -3); // ud fifos | 249 | lua_rawset( L, -3); // ud fifos |
@@ -712,9 +712,8 @@ void init_keepers( Universe* U, lua_State* L) | |||
712 | // to see VM name in Decoda debugger | 712 | // to see VM name in Decoda debugger |
713 | lua_pushfstring( K, "Keeper #%d", i + 1); // "Keeper #n" | 713 | lua_pushfstring( K, "Keeper #%d", i + 1); // "Keeper #n" |
714 | lua_setglobal( K, "decoda_name"); // | 714 | lua_setglobal( K, "decoda_name"); // |
715 | |||
716 | // create the fifos table in the keeper state | 715 | // create the fifos table in the keeper state |
717 | REGISTRY_SET( K, FIFOS_KEY, lua_newtable( K)); | 716 | FIFOS_KEY.set_registry(K, [](lua_State* L) { lua_newtable(L); } ); |
718 | STACK_END( K, 0); | 717 | STACK_END( K, 0); |
719 | } | 718 | } |
720 | STACK_END( L, 0); | 719 | STACK_END( L, 0); |