Roberto Ierusalimschy
|
d388c165ef
|
new opcodes 'FORLOOP1'/'FORPREP1' for "basic for" (integer variable
with increment of 1)
|
7 years ago |
Roberto Ierusalimschy
|
f8c1c1469a
|
some cleaning on signed opcode parameters
|
7 years ago |
Roberto Ierusalimschy
|
4b6928e7f5
|
(1 << 31) with signed integer has undefined behavior in C
|
7 years ago |
Roberto Ierusalimschy
|
86431a2f1c
|
new opcodes BANDK/BORK/BXORK. (They do not use immediate operands
because, too often, masks in bitwise operations are integers larger
than one byte.)
|
7 years ago |
Roberto Ierusalimschy
|
c7ee7fe026
|
new opcodes OP_SHLI/OP_SHRI
|
7 years ago |
Roberto Ierusalimschy
|
bdc751ce23
|
details (comments)
|
7 years ago |
Roberto Ierusalimschy
|
19c6b375c3
|
detail (spacing)
|
7 years ago |
Roberto Ierusalimschy
|
745eb41993
|
new opcodes OP_RETURN0/OP_RETURN1
|
7 years ago |
Roberto Ierusalimschy
|
ff5fe51044
|
using register 'k' for conditions in tests (we only need one bit there)
|
7 years ago |
Roberto Ierusalimschy
|
093c16b67b
|
new opcodes 'OP_LTI' and 'OP_LEI'
|
7 years ago |
Roberto Ierusalimschy
|
3c230cc825
|
using 'A' for register instead of 'B' in relational opcodes
('R(A)' is already created by default for all instructions.)
|
7 years ago |
Roberto Ierusalimschy
|
41f2936d8f
|
new opcode 'OP_EQI' for equality with immediate numbers
|
7 years ago |
Roberto Ierusalimschy
|
4c0e36a46e
|
new instruction 'OP_EQK' (for equality with constants)
|
7 years ago |
Roberto Ierusalimschy
|
c3e5946fb2
|
new format for JUMP instructions (to allow larger offsets)
|
7 years ago |
Roberto Ierusalimschy
|
a1ef58b3a5
|
eplicit 1-bit opcode operand 'k'
|
7 years ago |
Roberto Ierusalimschy
|
8fbe9e3470
|
new opcodes with immediate integer operand for all arithmetic operations
|
7 years ago |
Roberto Ierusalimschy
|
940472c75c
|
opcode size increased to 7 bits
|
7 years ago |
Roberto Ierusalimschy
|
bc1b0733b8
|
avoid the use of bit 'Bk' ('B' will lose this bit soon)
|
7 years ago |
Roberto Ierusalimschy
|
722bdbe17d
|
no more 'getBMode'-'getCMode' (imprecise + we will need more space
for op mode) + better control of op modes
|
7 years ago |
Roberto Ierusalimschy
|
00e728af88
|
binary operators use R instead of RK
faster + nobody uses RK(B), so B can be smaller (freeing one bit
for more opcodes, soon)
|
7 years ago |
Roberto Ierusalimschy
|
abb17cf19b
|
new opcode OP_LOADF (load immediate float)
|
7 years ago |
Roberto Ierusalimschy
|
e0c0e2ee14
|
comments (documentation about instruction formats)
|
7 years ago |
Roberto Ierusalimschy
|
022e4427cf
|
detail (keep OP_LOADK and OP_LOADKX together)
|
7 years ago |
Roberto Ierusalimschy
|
80d9b09f35
|
jumps do not close upvalues (to be faster and simpler);
explicit instruction to close upvalues; command 'break' not
handled like a 'goto' (to optimize removal of uneeded 'close'
instructions)
|
7 years ago |
Roberto Ierusalimschy
|
ac65bab25f
|
jumps in 'for' loops don't need to be signed
|
7 years ago |
Roberto Ierusalimschy
|
07db10813c
|
'OP_VARARG' has the vararg parameter as an operand
|
7 years ago |
Roberto Ierusalimschy
|
ab5a650029
|
details (direct access to 'Ck' bit in instructions)
|
8 years ago |
Roberto Ierusalimschy
|
502a1d1108
|
new opcodes for table access with constant keys (strings and integers)
|
8 years ago |
Roberto Ierusalimschy
|
173e41b2eb
|
new opcode OP_ADDI (for immediate integer operand) (Experimental)
|
8 years ago |
Roberto Ierusalimschy
|
cb3d5dce30
|
opcodes 'OP_GETTABUP'/'OP_SETTABUP' operate only with string keys,
so they can use fast-track table access
|
8 years ago |
Roberto Ierusalimschy
|
6a98aa0bb0
|
new opcode LOADI (for loading immediate integers)
|
8 years ago |
Roberto Ierusalimschy
|
0d1c6f4188
|
MAXINDEXRK can be redefined (for debugging, to force most values to
go through registers)
|
8 years ago |
Roberto Ierusalimschy
|
bdf566a8a3
|
`name' in comments changed to 'name'
|
10 years ago |
Roberto Ierusalimschy
|
b8d412aa07
|
error in comment
|
10 years ago |
Roberto Ierusalimschy
|
1ea2d20f74
|
first implementation of '<<', '>>', and '~' (bitwise not)
|
11 years ago |
Roberto Ierusalimschy
|
c0edab0f6d
|
first implementation of bitwise operators '&' (band), '|' (bor),
and '~' (bxor)
|
11 years ago |
Roberto Ierusalimschy
|
a948054a19
|
new order for binary operations (grouping them by type of result)
|
11 years ago |
Roberto Ierusalimschy
|
a2f5c28a80
|
new operation '//' (integer division)
|
12 years ago |
Roberto Ierusalimschy
|
32a12e2f3f
|
detail (cleaned whitespaces at end of lines)
|
14 years ago |
Roberto Ierusalimschy
|
4758113043
|
change in opcode OP_LOADNIL: B is used as a counter instead of a
register. (Avoids an assignment to R(B), not present in any other
instruction.)
|
14 years ago |
Roberto Ierusalimschy
|
427ee519db
|
new instruction OP_LOADKX (to replace OP_LOADK with extra argument)
|
14 years ago |
Roberto Ierusalimschy
|
f8d677f94c
|
no more 'OP_CLOSE' instructions (use jumps to close upvalues)
|
14 years ago |
Roberto Ierusalimschy
|
dd547c55c8
|
new scheme to close upvalues in 'break'; jump instructions may
do the close, avoiding the need for a OP_CLOSE instruction
|
14 years ago |
Roberto Ierusalimschy
|
d72ec210c7
|
POS_A replaced by POS_Ax (which is more "precise")
|
14 years ago |
Roberto Ierusalimschy
|
f3026c36c2
|
details in opcode list
|
14 years ago |
Roberto Ierusalimschy
|
25c557ec63
|
first version of _ENV; no more global variables
|
15 years ago |
Roberto Ierusalimschy
|
0fe2576a39
|
new instructions to optimize indexing on upvalues
|
15 years ago |
Roberto Ierusalimschy
|
062e809e54
|
new macros 'LUAI_DDEC'/'LUAI_DDEF' to better control declarations and
definitions of non-static variables
|
15 years ago |
Roberto Ierusalimschy
|
77077b39d5
|
comment explaining OP_VARARG was wrong (and corresponding code was not
very clear)
|
15 years ago |
Roberto Ierusalimschy
|
5938212748
|
information about upvalues (where they come from) kept in Proto structure,
instead of sequence of pseudo-opcodes after OP_CLOSURE
|
15 years ago |