From 70e485206d08913cf9709db8e6b589b3df34711e Mon Sep 17 00:00:00 2001 From: daurnimator Date: Mon, 22 May 2017 12:16:46 +1000 Subject: Add TMcache --- src/ltm.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/ltm.js') diff --git a/src/ltm.js b/src/ltm.js index 3e24c9c..ad09c26 100644 --- a/src/ltm.js +++ b/src/ltm.js @@ -166,6 +166,21 @@ const luaT_callorderTM = function(L, p1, p2, event) { return !L.stack[L.top].l_isfalse() ? 1 : 0; }; +const fasttm = function(l, et, e) { + return et === null ? null : + (et.flags & (1 << e)) ? null : luaT_gettm(et, e, l.l_G.tmname[e]); +}; + +const luaT_gettm = function(events, event, ename) { + const tm = ltable.luaH_getstr(events, ename); + assert(event <= TMS.TM_EQ); + if (tm.ttisnil()) { /* no tag method? */ + events.flags |= 1<