15 Commits

Author SHA1 Message Date
Bruce
ae034cf692 fix: use same hash seed when creating VM for shared tables (#2122)
When creating a new Lua VM to load shared tables, use the same hash
seed from the parent VM instead of generating a new random seed.

Different VMs have different hash seeds, causing identical strings to
have different hash values. When looking up string keys in a shared
table from another VM, the hash-based bucket lookup fails because the
search key's hash doesn't match the stored key's hash.

Solution: Pass G(L)->seed to lua_newstate() instead of using
luaL_newstate() which generates a new random seed each time.
2025-12-24 19:27:20 +08:00
Cloud Wu
4d88f96ed6 bugfix: make proto shared 2020-12-18 19:20:15 +08:00
Cloud Wu
a87b039c6d use new lua userdata api 2020-10-10 19:19:33 +08:00
zixun
f17c17b8c7 fix match intern mt and stackvalues 2019-10-21 11:41:05 +08:00
zixun
8a1d7006eb fix match thread, table key 2019-10-21 11:41:05 +08:00
Cloud Wu
5d26fb3f18 remove ssm and add string id 2019-06-25 10:01:19 +08:00
Cloud Wu
5750b2d5ee Merge branch 'bugfix' 2019-06-17 09:57:11 +08:00
zixun
e9581adfc4 pass sharedtable match 2019-06-15 16:02:32 +08:00
Cloud Wu
6f0e88dc59 bugfix, See issue #1027 2019-06-15 00:37:42 +08:00
Cloud Wu
24b333a5e9 add api lua_sharestring 2019-06-13 20:01:10 +08:00
Cloud Wu
b45384cc9f short string in matrix should be in fixed set 2019-06-13 17:55:45 +08:00
Cloud Wu
7fed938593 mark all short string shared, see #1027 2019-06-13 16:58:57 +08:00
hong
fafc4cad34 do not makeshared to LUA_TSHRSTR 2019-06-10 15:11:51 +08:00
Cloud Wu
68e94b2792 add sharetable.loadtable 2019-06-10 15:11:51 +08:00
Cloud Wu
76b166f04a Add new sharetable 2019-06-10 15:11:51 +08:00