summaryrefslogtreecommitdiff
path: root/src/lib_jit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib_jit.c')
-rw-r--r--src/lib_jit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib_jit.c b/src/lib_jit.c
index 033ab4c4..4cabb2f7 100644
--- a/src/lib_jit.c
+++ b/src/lib_jit.c
@@ -114,8 +114,11 @@ LJLIB_CF(jit_attach)
114 GCstr *s = lj_lib_optstr(L, 2); 114 GCstr *s = lj_lib_optstr(L, 2);
115 luaL_findtable(L, LUA_REGISTRYINDEX, LJ_VMEVENTS_REGKEY, LJ_VMEVENTS_HSIZE); 115 luaL_findtable(L, LUA_REGISTRYINDEX, LJ_VMEVENTS_REGKEY, LJ_VMEVENTS_HSIZE);
116 if (s) { /* Attach to given event. */ 116 if (s) { /* Attach to given event. */
117 const uint8_t *p = (const uint8_t *)strdata(s);
118 uint32_t h = s->len;
119 while (*p) h = h ^ (lj_rol(h, 6) + *p++);
117 lua_pushvalue(L, 1); 120 lua_pushvalue(L, 1);
118 lua_rawseti(L, -2, VMEVENT_HASHIDX(s->hash)); 121 lua_rawseti(L, -2, VMEVENT_HASHIDX(h));
119 G(L)->vmevmask = VMEVENT_NOCACHE; /* Invalidate cache. */ 122 G(L)->vmevmask = VMEVENT_NOCACHE; /* Invalidate cache. */
120 } else { /* Detach if no event given. */ 123 } else { /* Detach if no event given. */
121 setnilV(L->top++); 124 setnilV(L->top++);