aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMike Pall <mike>2010-10-11 21:13:37 +0200
committerMike Pall <mike>2010-10-11 21:13:37 +0200
commitb3cf2c70f4250c80408399c591743e7b6667b840 (patch)
treef784294c5d13064f2509ea4bf86df506a1eed8d6 /lib
parentcc62edebfdf3fa451a745ee2936c8df72c9e7243 (diff)
downloadluajit-b3cf2c70f4250c80408399c591743e7b6667b840.tar.gz
luajit-b3cf2c70f4250c80408399c591743e7b6667b840.tar.bz2
luajit-b3cf2c70f4250c80408399c591743e7b6667b840.zip
Decouple SLOAD type and optional conversion.
Diffstat (limited to 'lib')
-rw-r--r--lib/dump.lua16
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/dump.lua b/lib/dump.lua
index b0a334e6..7bee9e79 100644
--- a/lib/dump.lua
+++ b/lib/dump.lua
@@ -213,11 +213,17 @@ local colorize, irtype
213 213
214-- Lookup table to convert some literals into names. 214-- Lookup table to convert some literals into names.
215local litname = { 215local litname = {
216 ["SLOAD "] = { [0] = "", "I", "R", "RI", "P", "PI", "PR", "PRI", 216 ["SLOAD "] = setmetatable({}, { __index = function(t, mode)
217 "T", "IT", "RT", "RIT", "PT", "PIT", "PRT", "PRIT", 217 local s = ""
218 "F", "IF", "RF", "RIF", "PF", "PIF", "PRF", "PRIF", 218 if band(mode, 1) ~= 0 then s = s.."P" end
219 "TF", "ITF", "RTF", "RITF", "PTF", "PITF", "PRTF", "PRITF", 219 if band(mode, 2) ~= 0 then s = s.."F" end
220 }, 220 if band(mode, 4) ~= 0 then s = s.."T" end
221 if band(mode, 8) ~= 0 then s = s.."C" end
222 if band(mode, 16) ~= 0 then s = s.."R" end
223 if band(mode, 32) ~= 0 then s = s.."I" end
224 t[mode] = s
225 return s
226 end}),
221 ["XLOAD "] = { [0] = "", "R", "U", "RU", }, 227 ["XLOAD "] = { [0] = "", "R", "U", "RU", },
222 ["TOINT "] = { [0] = "check", "index", "", }, 228 ["TOINT "] = { [0] = "check", "index", "", },
223 ["FLOAD "] = vmdef.irfield, 229 ["FLOAD "] = vmdef.irfield,