diff options
author | Benoit Germain <b n t DOT g e r m a i n AT g m a i l DOT c o m> | 2013-09-26 21:11:24 +0200 |
---|---|---|
committer | Benoit Germain <b n t DOT g e r m a i n AT g m a i l DOT c o m> | 2013-09-26 21:11:24 +0200 |
commit | f823c6887e28c815234f8b4bd355887b4f554857 (patch) | |
tree | 862b37cc93d6779c3c2577e78ed6ff5389412f90 /src/tools.h | |
parent | c97ad8630ea9dcb92b4e9db16c4dbade1de18884 (diff) | |
download | lanes-f823c6887e28c815234f8b4bd355887b4f554857.tar.gz lanes-f823c6887e28c815234f8b4bd355887b4f554857.tar.bz2 lanes-f823c6887e28c815234f8b4bd355887b4f554857.zip |
Reduce memory footprint, simplify module order setup in conjuction with Lanes, and send over native functions a bit faster as well
* Lanes no longer has to internally require modules inside the keeper
states because they no longer need a lookup database. the lookup name is
stored as-is and actually converted in the destination state
*
optimisation: bypass cache when sending native functions over
* removed
all the KEEPER_MODEL_LUA code, as it can no longer work anyway
Diffstat (limited to 'src/tools.h')
-rw-r--r-- | src/tools.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/tools.h b/src/tools.h index 93ed92c..bf48f1f 100644 --- a/src/tools.h +++ b/src/tools.h | |||
@@ -90,10 +90,17 @@ typedef struct { | |||
90 | } DEEP_PRELUDE; | 90 | } DEEP_PRELUDE; |
91 | 91 | ||
92 | void luaG_push_proxy( lua_State *L, luaG_IdFunction idfunc, DEEP_PRELUDE *deep_userdata); | 92 | void luaG_push_proxy( lua_State *L, luaG_IdFunction idfunc, DEEP_PRELUDE *deep_userdata); |
93 | void luaG_inter_copy_package( lua_State* L, lua_State* L2, int _idx); | 93 | void luaG_inter_copy_package( lua_State* L, lua_State* L2, int _idx, enum eLookupMode mode_); |
94 | 94 | ||
95 | int luaG_inter_copy( lua_State *L, lua_State *L2, uint_t n); | 95 | enum eLookupMode |
96 | int luaG_inter_move( lua_State *L, lua_State *L2, uint_t n); | 96 | { |
97 | eLM_LaneBody, // send the lane body directly from the source to the destination lane | ||
98 | eLM_ToKeeper, // send a function from a lane to a keeper state | ||
99 | eLM_FromKeeper, // send a function from a keeper state to a lane | ||
100 | }; | ||
101 | |||
102 | int luaG_inter_copy( lua_State *L, lua_State *L2, uint_t n, enum eLookupMode mode_); | ||
103 | int luaG_inter_move( lua_State *L, lua_State *L2, uint_t n, enum eLookupMode mode_); | ||
97 | 104 | ||
98 | int luaG_nameof( lua_State* L); | 105 | int luaG_nameof( lua_State* L); |
99 | int luaG_new_require( lua_State* L); | 106 | int luaG_new_require( lua_State* L); |