Roberto Ierusalimschy
|
3cf340f676
|
allows memory-allocation errors when shrinking blocks
|
7 years ago |
Roberto Ierusalimschy
|
7ad20af2cf
|
more freedom in handling memory-allocation errors (not all allocations
automatically raise an error), which allows fixing a bug when resizing
a table.
|
7 years ago |
Roberto Ierusalimschy
|
bfb88e99e9
|
'luaD_growstack' cannot raise any errors when 'raiseerror' is
false (+ some comments)
|
7 years ago |
Roberto Ierusalimschy
|
c5ebed7399
|
'luaM_shrinkvector' raises an error if it cannot shrink the block
(several parts of Lua use array size in protos as proxies for
number of valid elements)
|
7 years ago |
Roberto Ierusalimschy
|
e663a24ab0
|
more freedom in handling memory-allocation errors (not all allocations
automatically raise an error), which allows fixing a bug when resizing
a table.
|
7 years ago |
Roberto Ierusalimschy
|
40f823ec90
|
new C instruction "rawcheckstack" (to test failing in 'lua_checkstack')
|
7 years ago |
Roberto Ierusalimschy
|
7622373033
|
using explicit tests for allocation overflow whenever possible
|
7 years ago |
Roberto Ierusalimschy
|
46bc7f2bf7
|
detail (comment)
|
7 years ago |
Roberto Ierusalimschy
|
cc01d46247
|
new test function 'T.allocount' to restrict number of allocations
before a memory-allocation error
|
7 years ago |
Roberto Ierusalimschy
|
9fa1baf6de
|
opcodes for order and shift can use several metamethods,
so it is better to use a generic description + metamethod names
in some error messages shown without '__' prefix
|
7 years ago |
Roberto Ierusalimschy
|
49dfaf7447
|
avoid using one function for different tasks (malloc, free, etc.)
|
7 years ago |
Roberto Ierusalimschy
|
348fa1ca56
|
bug: 'lua_pushcclosure' should not call the garbage collector when
'n' is zero.
|
7 years ago |
Roberto Ierusalimschy
|
ae11e37e53
|
bug: 'lua_pushcclosure' should not call the GC when 'n' is zero
|
7 years ago |
Roberto Ierusalimschy
|
c7ee7fe026
|
new opcodes OP_SHLI/OP_SHRI
|
7 years ago |
Roberto Ierusalimschy
|
421e459684
|
'luaS_resize' can raise memory errors
|
7 years ago |
Roberto Ierusalimschy
|
9d28b40152
|
rehashes string table always allocating a new array instead of
reallocating old one. (Avoids problems if reallocation to a small
size fails.)
|
7 years ago |
Roberto Ierusalimschy
|
e0bece77d6
|
detail
|
7 years ago |
Roberto Ierusalimschy
|
d0356d5f15
|
another value for LUAI_MAXCCALLS (must think more about that)
|
7 years ago |
Roberto Ierusalimschy
|
ac78b914b6
|
warnings from Visual Studio /W3
|
7 years ago |
Roberto Ierusalimschy
|
10b8c99bbb
|
small peephole optimizations
|
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
|
c766e4103d
|
'luaV_execute' gets call info as extra argument (it is always
available on call sites)
|
7 years ago |
Roberto Ierusalimschy
|
36aecd4548
|
order opcodes cannot use 'K' operands
|
7 years ago |
Roberto Ierusalimschy
|
1a5e8c1014
|
conditional jumps unified in label "condjump' + new variable 'vra'
to avoid excessive use of macro 's2v'
|
7 years ago |
Roberto Ierusalimschy
|
ff5fe51044
|
using register 'k' for conditions in tests (we only need one bit there)
|
7 years ago |
Roberto Ierusalimschy
|
dfd188ba12
|
detail (identation of switch)
|
7 years ago |
Roberto Ierusalimschy
|
093c16b67b
|
new opcodes 'OP_LTI' and 'OP_LEI'
|
7 years ago |
Roberto Ierusalimschy
|
599f1742c6
|
detail (typo in comments)
|
7 years ago |
Roberto Ierusalimschy
|
73abfde2ef
|
small simplifications around 'luaT_callorderTM'
|
7 years ago |
Roberto Ierusalimschy
|
194a4f9710
|
small simplifications in 'luaD_poscall'
|
7 years ago |
Roberto Ierusalimschy
|
196c87c9ce
|
no more 'stackless' implementation; 'luaV_execute' calls itself
recursively to execute function calls. 'unroll' continues all
executions suspended by an yield (through a long jump)
|
7 years ago |
Roberto Ierusalimschy
|
39f26b1480
|
more information from 'T.stacklevel'
|
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
|
14c3aa12b5
|
more direct implementation for tail calls.
|
7 years ago |
Roberto Ierusalimschy
|
f3ca52bfa9
|
in order comparison opcodes, fast track for floats too
|
7 years ago |
Roberto Ierusalimschy
|
c47111bd4e
|
'io.read' accepts multiple formats in a single string argument
|
7 years ago |
Roberto Ierusalimschy
|
e4e5aa85a2
|
detail ('signal' -> 'sign' in comments)
|
7 years ago |
Roberto Ierusalimschy
|
4c0e36a46e
|
new instruction 'OP_EQK' (for equality with constants)
|
7 years ago |
Roberto Ierusalimschy
|
5440b42f43
|
using 'trap' to stop 'luaV_execute' when necessary (tracing and
to update its copy of 'base' when the stack is reallocated)
|
7 years ago |
Roberto Ierusalimschy
|
7d4828cc9f
|
avoid accessing wrong union field
|
7 years ago |
Roberto Ierusalimschy
|
62f3b7c472
|
detail
|
7 years ago |
Roberto Ierusalimschy
|
fb9be62f79
|
includes 'stdio.h' to allow prints when testing
|
7 years ago |
Roberto Ierusalimschy
|
7c0175bc83
|
removed unused variable 'islocked'
|
7 years ago |
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 |