diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-09-10 13:20:03 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-09-10 13:20:03 -0300 |
commit | 91dad09f65984048ae43c8894d18acb785c7092b (patch) | |
tree | ea6c23c54d8659677da6259047ddd0c8e0b7e643 /lopcodes.h | |
parent | 4518e5df24600cacdb3bab75d640348d28e8b769 (diff) | |
download | lua-91dad09f65984048ae43c8894d18acb785c7092b.tar.gz lua-91dad09f65984048ae43c8894d18acb785c7092b.tar.bz2 lua-91dad09f65984048ae43c8894d18acb785c7092b.zip |
Removed arithmetic opcodes with immediate operand
The difference in performance between immediate operands and K operands
does not seem to justify all those extra opcodes. We only keep OP_ADDI,
due to its ubiquity and because the difference is a little more relevant.
(Later, OP_SUBI will be implemented by OP_ADDI, negating the constant.)
Diffstat (limited to 'lopcodes.h')
-rw-r--r-- | lopcodes.h | 6 |
1 files changed, 0 insertions, 6 deletions
@@ -219,12 +219,6 @@ OP_NEWTABLE,/* A B C R(A) := {} */ | |||
219 | OP_SELF,/* A B C R(A+1) := R(B); R(A) := R(B)[RK(C):string] */ | 219 | OP_SELF,/* A B C R(A+1) := R(B); R(A) := R(B)[RK(C):string] */ |
220 | 220 | ||
221 | OP_ADDI,/* A B sC R(A) := R(B) + C */ | 221 | OP_ADDI,/* A B sC R(A) := R(B) + C */ |
222 | OP_SUBI,/* A B sC R(A) := R(B) - C */ | ||
223 | OP_MULI,/* A B sC R(A) := R(B) * C */ | ||
224 | OP_MODI,/* A B sC R(A) := R(B) % C */ | ||
225 | OP_POWI,/* A B sC R(A) := R(B) ^ C */ | ||
226 | OP_DIVI,/* A B sC R(A) := R(B) / C */ | ||
227 | OP_IDIVI,/* A B sC R(A) := R(B) // C */ | ||
228 | 222 | ||
229 | OP_ADDK,/* A B C R(A) := R(B) + K(C) */ | 223 | OP_ADDK,/* A B C R(A) := R(B) + K(C) */ |
230 | OP_SUBK,/* A B C R(A) := R(B) - K(C) */ | 224 | OP_SUBK,/* A B C R(A) := R(B) - K(C) */ |