diff options
Diffstat (limited to '')
-rw-r--r-- | src/vm_x64.dasc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/vm_x64.dasc b/src/vm_x64.dasc index 99ebb9b9..c7a7740b 100644 --- a/src/vm_x64.dasc +++ b/src/vm_x64.dasc | |||
@@ -1804,12 +1804,12 @@ static void build_subroutines(BuildCtx *ctx) | |||
1804 | | jmp ->fff_res1 | 1804 | | jmp ->fff_res1 |
1805 | | | 1805 | | |
1806 | |.ffunc_n math_frexp | 1806 | |.ffunc_n math_frexp |
1807 | | mov RB, BASE | ||
1807 | |.if X64WIN | 1808 | |.if X64WIN |
1808 | | lea CARG2, TMP1 | 1809 | | lea CARG2, TMP1 // Caveat: CARG2 == BASE |
1809 | |.else | 1810 | |.else |
1810 | | lea CARG1, TMP1 | 1811 | | lea CARG1, TMP1 |
1811 | |.endif | 1812 | |.endif |
1812 | | mov RB, BASE | ||
1813 | | call extern frexp | 1813 | | call extern frexp |
1814 | | mov BASE, RB | 1814 | | mov BASE, RB |
1815 | | mov RBd, TMP1d | 1815 | | mov RBd, TMP1d |
@@ -1826,13 +1826,12 @@ static void build_subroutines(BuildCtx *ctx) | |||
1826 | | jmp ->fff_res | 1826 | | jmp ->fff_res |
1827 | | | 1827 | | |
1828 | |.ffunc_n math_modf | 1828 | |.ffunc_n math_modf |
1829 | | mov RB, BASE | ||
1829 | |.if X64WIN | 1830 | |.if X64WIN |
1830 | | lea CARG2, [BASE-16] | 1831 | | lea CARG2, [BASE-16] // Caveat: CARG2 == BASE |
1831 | |.else | 1832 | |.else |
1832 | | lea CARG1, [BASE-16] | 1833 | | lea CARG1, [BASE-16] |
1833 | |.endif | 1834 | |.endif |
1834 | | mov PC, [BASE-8] | ||
1835 | | mov RB, BASE | ||
1836 | | call extern modf | 1835 | | call extern modf |
1837 | | mov BASE, RB | 1836 | | mov BASE, RB |
1838 | | mov PC, [BASE-8] | 1837 | | mov PC, [BASE-8] |