aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2025-12-06 08:42:18 +0100
committerMike Pall <mike>2025-12-06 08:42:18 +0100
commitc7c74ea505ab9103bd0df8e84da56a895ae60e82 (patch)
tree547001e6607e441a6b6f57d73d219252edc848ad /src
parentb1cd2f83b5d085bb71368b87c91a461be77d4364 (diff)
downloadluajit-c7c74ea505ab9103bd0df8e84da56a895ae60e82.tar.gz
luajit-c7c74ea505ab9103bd0df8e84da56a895ae60e82.tar.bz2
luajit-c7c74ea505ab9103bd0df8e84da56a895ae60e82.zip
ARM64: More fixes for ARM BTI.
Reported by Yuichiro Naito. #1415
Diffstat (limited to 'src')
-rw-r--r--src/vm_arm64.dasc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vm_arm64.dasc b/src/vm_arm64.dasc
index eb6d0c2f..08ecb72c 100644
--- a/src/vm_arm64.dasc
+++ b/src/vm_arm64.dasc
@@ -1696,6 +1696,7 @@ static void build_subroutines(BuildCtx *ctx)
1696 | adr lr, >1 1696 | adr lr, >1
1697 | checkint CARG1, ->vm_tobit_fb 1697 | checkint CARG1, ->vm_tobit_fb
1698 |1: 1698 |1:
1699 | bti_jump
1699 |.endmacro 1700 |.endmacro
1700 | 1701 |
1701 |.macro .ffunc_bit_op, name, ins 1702 |.macro .ffunc_bit_op, name, ins
@@ -1710,6 +1711,7 @@ static void build_subroutines(BuildCtx *ctx)
1710 | bge >9 1711 | bge >9
1711 | checkint CARG1, ->vm_tobit_fb 1712 | checkint CARG1, ->vm_tobit_fb
1712 |2: 1713 |2:
1714 | bti_jump
1713 | ins TMP0w, TMP0w, CARG1w 1715 | ins TMP0w, TMP0w, CARG1w
1714 | b <1 1716 | b <1
1715 |.endmacro 1717 |.endmacro
@@ -1742,6 +1744,7 @@ static void build_subroutines(BuildCtx *ctx)
1742 | adr lr, >1 1744 | adr lr, >1
1743 | checkint CARG1, ->vm_tobit_fb 1745 | checkint CARG1, ->vm_tobit_fb
1744 |1: 1746 |1:
1747 | bti_jump
1745 |.if shmod == 0 1748 |.if shmod == 0
1746 | mov TMP1, CARG1 1749 | mov TMP1, CARG1
1747 |.else 1750 |.else
@@ -1751,6 +1754,7 @@ static void build_subroutines(BuildCtx *ctx)
1751 | adr lr, >2 1754 | adr lr, >2
1752 | checkint CARG1, ->vm_tobit_fb 1755 | checkint CARG1, ->vm_tobit_fb
1753 |2: 1756 |2:
1757 | bti_jump
1754 | ins TMP0w, CARG1w, TMP1w 1758 | ins TMP0w, CARG1w, TMP1w
1755 | add_TISNUM CARG1, TMP0 1759 | add_TISNUM CARG1, TMP0
1756 | b ->fff_restv 1760 | b ->fff_restv