lua-hooks/ext/luajit/src/vm_x64.dasc in immunio-1.1.2 vs lua-hooks/ext/luajit/src/vm_x64.dasc in immunio-1.1.5
- old
+ new
@@ -1,8 +1,8 @@
|// Low-level VM code for x64 CPUs in LJ_GC64 mode.
|// Bytecode interpreter, fast functions and helper functions.
-|// Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
+|// Copyright (C) 2005-2016 Mike Pall. See Copyright Notice in luajit.h
|
|.arch x64
|.section code_op, code_sub
|
|.actionlist build_actionlist
@@ -529,11 +529,11 @@
|->vm_growstack_c: // Grow stack for C function.
| mov CARG2d, LUA_MINSTACK
| jmp >2
|
|->vm_growstack_v: // Grow stack for vararg Lua function.
- | sub RD, 8
+ | sub RD, 16 // LJ_FR2
| jmp >1
|
|->vm_growstack_f: // Grow stack for fixarg Lua function.
| // BASE = new base, RD = nargs+1, RB = L, PC = first PC
| lea RD, [BASE+NARGS:RD*8-8]
@@ -1802,11 +1802,15 @@
| mov PC, [BASE-8]
| fstp qword [BASE-16]
| jmp ->fff_res1
|
|.ffunc_n math_frexp
+ |.if X64WIN
+ | lea CARG2, TMP1
+ |.else
| lea CARG1, TMP1
+ |.endif
| mov RB, BASE
| call extern frexp
| mov BASE, RB
| mov RBd, TMP1d
| mov PC, [BASE-8]
@@ -1820,10 +1824,14 @@
|.endif
| mov RDd, 1+2
| jmp ->fff_res
|
|.ffunc_n math_modf
+ |.if X64WIN
+ | lea CARG2, [BASE-16]
+ |.else
| lea CARG1, [BASE-16]
+ |.endif
| mov PC, [BASE-8]
| mov RB, BASE
| call extern modf
| mov BASE, RB
| mov PC, [BASE-8]