aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2016-12-07 18:34:10 +0100
committerMike Pall <mike>2016-12-07 18:34:10 +0100
commit48b00297b3b37fe77f59f2f4b6fa63358b442f15 (patch)
tree645461738ad031465ff5c43593645bd8af0936ea
parent22511fbe2b284d722f3a7ea901f1ae54992c9c5e (diff)
downloadluajit-48b00297b3b37fe77f59f2f4b6fa63358b442f15.tar.gz
luajit-48b00297b3b37fe77f59f2f4b6fa63358b442f15.tar.bz2
luajit-48b00297b3b37fe77f59f2f4b6fa63358b442f15.zip
ARM64: Add missing ldrb/strb instructions to disassembler.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
-rw-r--r--src/jit/dis_arm64.lua14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/jit/dis_arm64.lua b/src/jit/dis_arm64.lua
index 909b33bc..8cb608e6 100644
--- a/src/jit/dis_arm64.lua
+++ b/src/jit/dis_arm64.lua
@@ -411,15 +411,19 @@ local map_lsriro = {
411 shift = 26, mask = 1, 411 shift = 26, mask = 1,
412 [0] = { 412 [0] = {
413 shift = 30, mask = 3, 413 shift = 30, mask = 3,
414 [1] = { 414 [0] = {
415 shift = 22, mask = 3, 415 shift = 22, mask = 3,
416 [0] = "strhDwO", "ldrhDwO", "ldrshDwO", "ldrshDxO" 416 [0] = "strbDwO", "ldrbDwO", "ldrsbDxO", "ldrsbDwO"
417 }, 417 },
418 [2] = { 418 {
419 shift = 22, mask = 3,
420 [0] = "strhDwO", "ldrhDwO", "ldrshDxO", "ldrshDwO"
421 },
422 {
419 shift = 22, mask = 3, 423 shift = 22, mask = 3,
420 [0] = "strDwO", "ldrDwO", "ldrswDxO" 424 [0] = "strDwO", "ldrDwO", "ldrswDxO"
421 }, 425 },
422 [3] = { 426 {
423 shift = 22, mask = 3, 427 shift = 22, mask = 3,
424 [0] = "strDxO", "ldrDxO" 428 [0] = "strDxO", "ldrDxO"
425 } 429 }
@@ -982,7 +986,7 @@ local function disass_ins(ctx)
982 local sz = band(rshift(op, 30), 3) 986 local sz = band(rshift(op, 30), 3)
983 -- extension to be applied 987 -- extension to be applied
984 if opt == 3 then 988 if opt == 3 then
985 if s == 0 then x = nil 989 if s == 0 then x = x.."]"
986 else x = x..", lsl #"..sz.."]" end 990 else x = x..", lsl #"..sz.."]" end
987 elseif opt == 2 or opt == 6 or opt == 7 then 991 elseif opt == 2 or opt == 6 or opt == 7 then
988 if s == 0 then x = x..", "..map_extend[opt].."]" 992 if s == 0 then x = x..", "..map_extend[opt].."]"