diff options
| author | Mike Pall <mike> | 2025-10-28 04:46:10 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2025-10-28 04:46:10 +0100 |
| commit | 8651ef6df45189ad5ab734275568c9538038fcfa (patch) | |
| tree | 3609dc160911e3299a4f60b4452d8e52f43c6b17 /src/jit | |
| parent | e34a78acf6b8656874b1c25a12a7cd1813d73af9 (diff) | |
| download | luajit-8651ef6df45189ad5ab734275568c9538038fcfa.tar.gz luajit-8651ef6df45189ad5ab734275568c9538038fcfa.tar.bz2 luajit-8651ef6df45189ad5ab734275568c9538038fcfa.zip | |
ARM64: Add support for ARM BTI.
Note: this is not enabled by default, look for CET in lj_arch.h.
Thanks to Yuichiro Naito. #1398
Diffstat (limited to 'src/jit')
| -rw-r--r-- | src/jit/dis_arm64.lua | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/jit/dis_arm64.lua b/src/jit/dis_arm64.lua index 4457aac0..944f1a6c 100644 --- a/src/jit/dis_arm64.lua +++ b/src/jit/dis_arm64.lua | |||
| @@ -695,7 +695,10 @@ local map_br = { -- Branches, exception generating and system instructions. | |||
| 695 | }, | 695 | }, |
| 696 | { -- System instructions. | 696 | { -- System instructions. |
| 697 | shift = 0, mask = 0x3fffff, | 697 | shift = 0, mask = 0x3fffff, |
| 698 | [0x03201f] = "nop" | 698 | [0x03201f] = "nop", |
| 699 | [0x03245f] = "bti c", | ||
| 700 | [0x03249f] = "bti j", | ||
| 701 | [0x0324df] = "bti jc", | ||
| 699 | }, | 702 | }, |
| 700 | { -- Unconditional branch, register. | 703 | { -- Unconditional branch, register. |
| 701 | shift = 0, mask = 0xfffc1f, | 704 | shift = 0, mask = 0xfffc1f, |
| @@ -1171,6 +1174,9 @@ local function disass_ins(ctx) | |||
| 1171 | end | 1174 | end |
| 1172 | end | 1175 | end |
| 1173 | second0 = true | 1176 | second0 = true |
| 1177 | elseif p == " " then | ||
| 1178 | operands[#operands+1] = pat:match(" (.*)") | ||
| 1179 | break | ||
| 1174 | else | 1180 | else |
| 1175 | assert(false) | 1181 | assert(false) |
| 1176 | end | 1182 | end |
