diff options
author | Mike Pall <mike> | 2020-05-27 19:20:44 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2020-05-27 19:20:44 +0200 |
commit | 1a4ff1311740aa6c85f7a9101b6aa9bfaafa3f8e (patch) | |
tree | c0bb622eb6a70b71c58d83d4cceed4e4b3279300 /src/lj_tab.h | |
parent | b2307c8ad817e350d65cc909a579ca2f77439682 (diff) | |
download | luajit-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.h | 3 |
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 | ||
70 | LJ_FUNCA int lj_tab_next(lua_State *L, GCtab *t, TValue *key); | 70 | LJ_FUNCA int lj_tab_next(lua_State *L, GCtab *t, TValue *key); |
71 | LJ_FUNCA MSize LJ_FASTCALL lj_tab_len(GCtab *t); | 71 | LJ_FUNCA MSize LJ_FASTCALL lj_tab_len(GCtab *t); |
72 | #if LJ_HASJIT | ||
73 | LJ_FUNC MSize LJ_FASTCALL lj_tab_len_hint(GCtab *t, size_t hint); | ||
74 | #endif | ||
72 | 75 | ||
73 | #endif | 76 | #endif |