aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2016-03-30 16:26:27 +0200
committerMike Pall <mike>2016-03-30 16:26:27 +0200
commit62af10152433c45e5d83e442538fabf1f57f189b (patch)
tree71a822c4143efdda40fe3d6fd34e39a746f898c1 /src
parent9531eb235bbfa8f2928b450614a3426c5197b712 (diff)
downloadluajit-62af10152433c45e5d83e442538fabf1f57f189b.tar.gz
luajit-62af10152433c45e5d83e442538fabf1f57f189b.tar.bz2
luajit-62af10152433c45e5d83e442538fabf1f57f189b.zip
MIPS: Fix use of ffgccheck delay slots in interpreter.
Diffstat (limited to 'src')
-rw-r--r--src/vm_mips.dasc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/vm_mips.dasc b/src/vm_mips.dasc
index 3a300d36..b135fbe0 100644
--- a/src/vm_mips.dasc
+++ b/src/vm_mips.dasc
@@ -1621,6 +1621,7 @@ static void build_subroutines(BuildCtx *ctx)
1621 | 1621 |
1622 |.ffunc string_char // Only handle the 1-arg case here. 1622 |.ffunc string_char // Only handle the 1-arg case here.
1623 | ffgccheck 1623 | ffgccheck
1624 |. nop
1624 | lw CARG3, HI(BASE) 1625 | lw CARG3, HI(BASE)
1625 | ldc1 FARG1, 0(BASE) 1626 | ldc1 FARG1, 0(BASE)
1626 | li AT, 8 1627 | li AT, 8
@@ -1648,6 +1649,7 @@ static void build_subroutines(BuildCtx *ctx)
1648 | 1649 |
1649 |.ffunc string_sub 1650 |.ffunc string_sub
1650 | ffgccheck 1651 | ffgccheck
1652 |. nop
1651 | addiu AT, NARGS8:RC, -16 1653 | addiu AT, NARGS8:RC, -16
1652 | lw CARG3, 16+HI(BASE) 1654 | lw CARG3, 16+HI(BASE)
1653 | ldc1 f0, 16(BASE) 1655 | ldc1 f0, 16(BASE)
@@ -1697,6 +1699,7 @@ static void build_subroutines(BuildCtx *ctx)
1697 | 1699 |
1698 |.ffunc string_rep // Only handle the 1-char case inline. 1700 |.ffunc string_rep // Only handle the 1-char case inline.
1699 | ffgccheck 1701 | ffgccheck
1702 |. nop
1700 | lw TMP0, HI(BASE) 1703 | lw TMP0, HI(BASE)
1701 | addiu AT, NARGS8:RC, -16 // Exactly 2 arguments. 1704 | addiu AT, NARGS8:RC, -16 // Exactly 2 arguments.
1702 | lw CARG4, 8+HI(BASE) 1705 | lw CARG4, 8+HI(BASE)
@@ -1731,6 +1734,7 @@ static void build_subroutines(BuildCtx *ctx)
1731 | 1734 |
1732 |.ffunc string_reverse 1735 |.ffunc string_reverse
1733 | ffgccheck 1736 | ffgccheck
1737 |. nop
1734 | lw CARG3, HI(BASE) 1738 | lw CARG3, HI(BASE)
1735 | lw STR:CARG1, LO(BASE) 1739 | lw STR:CARG1, LO(BASE)
1736 | beqz NARGS8:RC, ->fff_fallback 1740 | beqz NARGS8:RC, ->fff_fallback
@@ -1756,6 +1760,7 @@ static void build_subroutines(BuildCtx *ctx)
1756 |.macro ffstring_case, name, lo 1760 |.macro ffstring_case, name, lo
1757 | .ffunc name 1761 | .ffunc name
1758 | ffgccheck 1762 | ffgccheck
1763 |. nop
1759 | lw CARG3, HI(BASE) 1764 | lw CARG3, HI(BASE)
1760 | lw STR:CARG1, LO(BASE) 1765 | lw STR:CARG1, LO(BASE)
1761 | beqz NARGS8:RC, ->fff_fallback 1766 | beqz NARGS8:RC, ->fff_fallback