mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
x64/LJ_GC64: Fix ipairs().
This commit is contained in:
parent
c5d262f2d2
commit
08e100ec05
@ -1435,9 +1435,16 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
| jmp ->fff_res2
|
| jmp ->fff_res2
|
||||||
|2: // Check for empty hash part first. Otherwise call C function.
|
|2: // Check for empty hash part first. Otherwise call C function.
|
||||||
| cmp dword TAB:RB->hmask, 0; je ->fff_res0
|
| cmp dword TAB:RB->hmask, 0; je ->fff_res0
|
||||||
|
|.if X64WIN
|
||||||
|
| mov TMPR, BASE
|
||||||
|
| mov CARG2d, RAd
|
||||||
|
| mov CARG1, TAB:RB
|
||||||
|
| mov RB, TMPR
|
||||||
|
|.else
|
||||||
| mov CARG1, TAB:RB
|
| mov CARG1, TAB:RB
|
||||||
| mov RB, BASE // Save BASE.
|
| mov RB, BASE // Save BASE.
|
||||||
| mov CARG2d, RAd // Caveat: CARG2 == BASE
|
| mov CARG2d, RAd // Caveat: CARG2 == BASE
|
||||||
|
|.endif
|
||||||
| call extern lj_tab_getinth // (GCtab *t, int32_t key)
|
| call extern lj_tab_getinth // (GCtab *t, int32_t key)
|
||||||
| // cTValue * or NULL returned in eax (RD).
|
| // cTValue * or NULL returned in eax (RD).
|
||||||
| mov BASE, RB
|
| mov BASE, RB
|
||||||
|
Loading…
Reference in New Issue
Block a user