diff options
author | Mike Pall <mike> | 2010-12-28 22:05:40 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-12-30 00:35:32 +0100 |
commit | 2ca2de7f0ec03a388ec86728847949ed495bdbf4 (patch) | |
tree | 52a2cd686cc0547d57ab7e5e64e2948dc841b677 /lib | |
parent | 06c61d9ceaadcf91bbb1022831ebadba15e25c98 (diff) | |
download | luajit-2ca2de7f0ec03a388ec86728847949ed495bdbf4.tar.gz luajit-2ca2de7f0ec03a388ec86728847949ed495bdbf4.tar.bz2 luajit-2ca2de7f0ec03a388ec86728847949ed495bdbf4.zip |
Refactoring of conversion ops, part 1: add IR_CONV.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/dump.lua | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/dump.lua b/lib/dump.lua index 08df4e3f..34365360 100644 --- a/lib/dump.lua +++ b/lib/dump.lua | |||
@@ -236,6 +236,15 @@ local litname = { | |||
236 | return s | 236 | return s |
237 | end}), | 237 | end}), |
238 | ["XLOAD "] = { [0] = "", "R", "U", "RU", }, | 238 | ["XLOAD "] = { [0] = "", "R", "U", "RU", }, |
239 | ["CONV "] = setmetatable({}, { __index = function(t, mode) | ||
240 | local s = irtype[band(mode, 31)] | ||
241 | if band(mode, 0x100) ~= 0 then s = s.." trunc" | ||
242 | elseif band(mode, 0x200) ~= 0 then s = s.." sext" end | ||
243 | local c = shr(mode, 10) | ||
244 | if c == 2 then s = s.." index" elseif c == 3 then s = s.." check" end | ||
245 | t[mode] = s | ||
246 | return s | ||
247 | end}), | ||
239 | ["TOINT "] = tointname, | 248 | ["TOINT "] = tointname, |
240 | ["TOI64 "] = tointname, | 249 | ["TOI64 "] = tointname, |
241 | ["FLOAD "] = vmdef.irfield, | 250 | ["FLOAD "] = vmdef.irfield, |