aboutsummaryrefslogtreecommitdiff
path: root/src/lj_tab.h
diff options
context:
space:
mode:
authorMike Pall <mike>2020-05-27 19:20:44 +0200
committerMike Pall <mike>2020-05-27 19:20:44 +0200
commit1a4ff1311740aa6c85f7a9101b6aa9bfaafa3f8e (patch)
treec0bb622eb6a70b71c58d83d4cceed4e4b3279300 /src/lj_tab.h
parentb2307c8ad817e350d65cc909a579ca2f77439682 (diff)
downloadluajit-1a4ff1311740aa6c85f7a9101b6aa9bfaafa3f8e.tar.gz
luajit-1a4ff1311740aa6c85f7a9101b6aa9bfaafa3f8e.tar.bz2
luajit-1a4ff1311740aa6c85f7a9101b6aa9bfaafa3f8e.zip
Optimize table length computation with hinting.
10x faster on loop with t[#t+1] = x idiom. Also used by table.insert.
Diffstat (limited to 'src/lj_tab.h')
-rw-r--r--src/lj_tab.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lj_tab.h b/src/lj_tab.h
index 597c94b2..f31590cd 100644
--- a/src/lj_tab.h
+++ b/src/lj_tab.h
@@ -69,5 +69,8 @@ LJ_FUNC TValue *lj_tab_set(lua_State *L, GCtab *t, cTValue *key);
69 69
70LJ_FUNCA int lj_tab_next(lua_State *L, GCtab *t, TValue *key); 70LJ_FUNCA int lj_tab_next(lua_State *L, GCtab *t, TValue *key);
71LJ_FUNCA MSize LJ_FASTCALL lj_tab_len(GCtab *t); 71LJ_FUNCA MSize LJ_FASTCALL lj_tab_len(GCtab *t);
72#if LJ_HASJIT
73LJ_FUNC MSize LJ_FASTCALL lj_tab_len_hint(GCtab *t, size_t hint);
74#endif
72 75
73#endif 76#endif