Roberto Ierusalimschy
32fef60743
detail ('Protect' defined as an expression)
7 years ago
Roberto Ierusalimschy
26679ea35b
new function 'luaV_flttointeger' to convert floats to integers (without
string coercions) + string operands to bitwise operations handled
by string metamethods
7 years ago
Roberto Ierusalimschy
c3e5946fb2
new format for JUMP instructions (to allow larger offsets)
7 years ago
Roberto Ierusalimschy
ad0704e40c
back to 'CallInfo' (no gains with its removal)
7 years ago
Roberto Ierusalimschy
5a3f26f855
fitting a StackValue structure into 32 bytes (for 64-bit machines)
7 years ago
Roberto Ierusalimschy
93fd67b793
no more 'CallInfo' structure
7 years ago
Roberto Ierusalimschy
6bb3e40a8d
'lua_Debug' not using 'CallInfo'
7 years ago
Roberto Ierusalimschy
7612f7735d
removing uses of 'CallInfo'
7 years ago
Roberto Ierusalimschy
472c560705
no more useful fields in CallInfo
7 years ago
Roberto Ierusalimschy
54eb35a8aa
more fields moved out of 'CallInfo'
7 years ago
Roberto Ierusalimschy
ba36180fd7
new API for 'lua_resume' + cleaning the uses of the 'extra' field in
'CallInfo'
7 years ago
Roberto Ierusalimschy
b9e76be8a6
using 'L->func' when possible
7 years ago
Roberto Ierusalimschy
c5482468fd
baby steps to remove 'CallInfo': keeping 'L->func' correct
7 years ago
Roberto Ierusalimschy
ad5dcdcf0f
detail: in 'isinstack', check against the whole stack instead
of against the stack frame
7 years ago
Roberto Ierusalimschy
de9128d09d
do not mess up the debt when the collector is not running
7 years ago
Roberto Ierusalimschy
1d8920dd7f
some cleaning in GC parameters
7 years ago
Roberto Ierusalimschy
911f1e3e7f
raw operation should not convert strings to numbers
7 years ago
Roberto Ierusalimschy
a1ef58b3a5
eplicit 1-bit opcode operand 'k'
7 years ago
Roberto Ierusalimschy
283e7455ff
detail
7 years ago
Roberto Ierusalimschy
8fbe9e3470
new opcodes with immediate integer operand for all arithmetic operations
7 years ago
Roberto Ierusalimschy
9ed9f40f1e
avoid warning about 'const'
7 years ago
Roberto Ierusalimschy
940472c75c
opcode size increased to 7 bits
7 years ago
Roberto Ierusalimschy
f3b3d9b5c2
string constants (Kstr) must fit into 'B' register
7 years ago
Roberto Ierusalimschy
7f9a32ad85
new function 'printcode'
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
1b10033583
new function 'luaT_trybiniTM'
to handle tag methods for instructions with immediate integer arguments
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
13256a4173
detail
put explicit all cases for a switch of an enumeration
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
029d269f4d
bug: dead keys with nil values can stay in weak tables
7 years ago
Roberto Ierusalimschy
ac65bab25f
jumps in 'for' loops don't need to be signed
7 years ago
Roberto Ierusalimschy
f185c0132e
comment in code fragment
7 years ago
Roberto Ierusalimschy
b77f792b23
comment
7 years ago
Roberto Ierusalimschy
4053eae9eb
bug: Lua does not check GC when creating error messages
7 years ago
Roberto Ierusalimschy
6d998055c8
no more reference 'memerrmsg' + new reference to "n"
(both can be retrieved by 'luaS_newliteral' without creating anything,
because they are fixed, but "n" deserves fast access while 'memerrmsg'
does not)
7 years ago
Roberto Ierusalimschy
11769b203f
new version (5.4)
7 years ago
Roberto Ierusalimschy
b1daa069ba
bug: Lua does not check GC when creating error messages
7 years ago
Roberto Ierusalimschy
4dff277255
coercion string->number in arithmetic operations moved to string
library
7 years ago
Roberto Ierusalimschy
07db10813c
'OP_VARARG' has the vararg parameter as an operand
7 years ago
Roberto Ierusalimschy
f96497397a
new type 'StackValue' for stack elements
(we may want to put extra info there in the future)
7 years ago
Roberto Ierusalimschy
5a1c8d8ef3
new constant 'LUA_GNAME' for the name of the global table "_G"
7 years ago
Roberto Ierusalimschy
124bfd2081
dumping ints and size_ts compacted
7 years ago
Roberto Ierusalimschy
b42430fd3a
'lineinfo' in prototypes saved as differences instead of absolute
values, so that the array can use bytes instead of ints, reducing
its size. (A new array 'abslineinfo' is used when line differences
do not fit in a byte.)
7 years ago
Roberto Ierusalimschy
60a7492d24
new type 'ls_byte' for signed bytes
7 years ago
Roberto Ierusalimschy
73ec04fcf3
no more 'DEADKEY'. Table traversals do not need to consider dead keys;
if the key is dead, it cannot be given to 'next'. Instead, we now
use a 'table' tag without the collectable bit, which makes it
a unique tag good enough to reserve space.
8 years ago
Roberto Ierusalimschy
d13a3fb070
detail
(removed empty spaces at the end of lines)
8 years ago