mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
x64/LJ_GC64: Fix setmetatable().
This commit is contained in:
parent
60fb3fe2b2
commit
5de95edf4c
@ -1247,9 +1247,9 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
| checktab TAB:RB, ->fff_fallback
|
| checktab TAB:RB, ->fff_fallback
|
||||||
| // Fast path: no mt for table yet and not clearing the mt.
|
| // Fast path: no mt for table yet and not clearing the mt.
|
||||||
| cmp aword TAB:RB->metatable, 0; jne ->fff_fallback
|
| cmp aword TAB:RB->metatable, 0; jne ->fff_fallback
|
||||||
| mov TAB:RC, [BASE+8]
|
| mov TAB:RA, [BASE+8]
|
||||||
| checktab TAB:RC, ->fff_fallback
|
| checktab TAB:RA, ->fff_fallback
|
||||||
| mov TAB:RB->metatable, TAB:RC
|
| mov TAB:RB->metatable, TAB:RA
|
||||||
| mov PC, [BASE-8]
|
| mov PC, [BASE-8]
|
||||||
| mov [BASE-16], TAB:TMPR // Return original table.
|
| mov [BASE-16], TAB:TMPR // Return original table.
|
||||||
| test byte TAB:RB->marked, LJ_GC_BLACK // isblack(table)
|
| test byte TAB:RB->marked, LJ_GC_BLACK // isblack(table)
|
||||||
|
Loading…
Reference in New Issue
Block a user