Roberto Ierusalimschy
6eb53b7526
Details
...
Several details in code (e.g., moving a variable to the most inner
scope that encloses its uses), comments, parameter names, extra tests.
2020-02-27 12:59:22 -03:00
Roberto Ierusalimschy
46c3587a6f
Clearer distinction between types and tags
...
LUA_T* represents only types; tags (types + Variants) are represented
by LUA_V* constants.
2020-01-31 11:09:53 -03:00
Roberto Ierusalimschy
8b7cfee26b
Small changes around C-stack limit
...
- Better documentation in 'testes/cstack.lua' about using
'debug.setCstacklimit' to find a good limit.
- Constant LUAI_MAXCSTACK gets added CSTACKERR (extra stack for
error handling), so that it is compatible with the argument to
'debug.setCstacklimit'.
2019-06-26 13:26:36 -03:00
Roberto Ierusalimschy
be73f72fcc
New function 'setCstacklimit'
...
Added new functions to dynamically set the C-stack limit
('lua_setCstacklimit' in the C-API, 'debug.setCstacklimit' in Lua).
2019-06-18 16:52:22 -03:00
Roberto Ierusalimschy
0443ad9e28
LUAI_MAXCCALLS renamed LUAI_MAXCSTACK
...
The limit LUAI_MAXCCALLS was renamed LUAI_MAXCSTACK, which better
represents its meaning. Moreover, its definition was moved to
'luaconf.h', given its importance now that Lua does not use
a "stackless" implementation.
2019-03-25 14:12:06 -03:00
Roberto Ierusalimschy
ba7da13ec5
Changes in the control of C-stack overflow
...
* unification of the 'nny' and 'nCcalls' counters;
* external C functions ('lua_CFunction') count more "slots" in
the C stack (to allow for their possible use of buffers)
* added a new test script specific for C-stack overflows. (Most
of those tests were already present, but concentrating them
in a single script easies the task of checking whether
'LUAI_MAXCCALLS' is adequate in a system.)
2018-12-27 14:32:29 -02:00
Roberto Ierusalimschy
84e32ad2eb
Added opcodes for arithmetic with K operands
...
Added opcodes for all seven arithmetic operators with K operands
(that is, operands that are numbers in the array of constants of
the function). They cover the cases of constant float operands
(e.g., 'x + .0.0', 'x^0.5') and large integer operands (e.g.,
'x % 10000').
2018-11-23 12:23:45 -02:00
Roberto Ierusalimschy
8c8a91f2ef
Deprecated the emulation of '__le' using '__lt'
...
As hinted in the manual for Lua 5.3, the emulation of the metamethod
for '__le' using '__le' has been deprecated. It is slow, complicates
the logic, and it is easy to avoid this emulation by defining a proper
'__le' function.
Moreover, often this emulation was used wrongly, with a programmer
assuming that an order is total when it is not (e.g., NaN in
floating-point numbers).
2018-08-24 10:17:54 -03:00
Roberto Ierusalimschy
f99509581e
Removed extra information from RCS keyword strings
...
Version numbers and dates (mostly wrong) from RCS keyword strings
removed from all source files; only the file name are kept.
2018-08-23 14:26:12 -03:00
Roberto Ierusalimschy
3e7415e846
reorganization of '#if's for sellecting a type for 'Rand64' +
...
comments
2018-05-04 17:01:45 -03:00
Roberto Ierusalimschy
26eb144541
no need to define 'luaP_opnames' in regular builds
2018-04-19 12:42:41 -03:00
Roberto Ierusalimschy
f9c3d6fdbe
use test mode to test the interpreter without jump tables
2018-04-11 13:49:36 -03:00
Roberto Ierusalimschy
34b00c16e2
removed compatibility code with older versions
2018-02-27 15:47:32 -03:00
Roberto Ierusalimschy
7024f49c42
default now is compiling without compatibility options + smaller
...
stack size in debug mode (clang uses still more stack space when
debugging).
2017-12-18 11:01:49 -02:00
Roberto Ierusalimschy
cc01d46247
new test function 'T.allocount' to restrict number of allocations
...
before a memory-allocation error
2017-12-07 16:51:39 -02:00
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)
2017-11-23 14:41:16 -02:00
Roberto Ierusalimschy
fb9be62f79
includes 'stdio.h' to allow prints when testing
2017-11-13 10:19:35 -02:00
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.)
2017-06-27 08:35:31 -03:00
Roberto Ierusalimschy
d55fd3455b
redefine MAXINDEXRK (for debugging, to force most values to
...
go through registers)
2016-07-19 14:13:00 -03:00
Roberto Ierusalimschy
9fae7b6d3f
code for string cache generalized for "associative sets" (compiler
...
will optimize away or inline the extra loops)
2015-09-22 11:18:24 -03:00
Roberto Ierusalimschy
95c3144393
redefine 'l_sprintf' to test correctness of buffer sizes given
...
to 'snprintf'
2015-06-18 11:27:44 -03:00
Roberto Ierusalimschy
a51069202a
removed macro 'luai_numinvalidop' (main motivation removed, as folding
...
does not handle any division by zero by default)
2014-12-26 12:44:44 -02:00
Roberto Ierusalimschy
3ae21a352c
detail (in test for 'luai_numinvalidop', use a round float)
2014-12-19 11:33:06 -02:00
Roberto Ierusalimschy
5fae2a5b05
redefinition of LUAI_MAXSTACK to make stack-overflow tests run faster
2014-12-09 15:17:40 -02:00
Roberto Ierusalimschy
36efa6a6b9
no more 'preloadedlibs' when opening libraries (as it is dead code now)
2014-12-09 13:00:17 -02:00
Roberto Ierusalimschy
460968353f
in test mode, debug library is not predefined (to allow testing
...
'preloadedlibs')
2014-12-06 18:42:58 -02:00
Roberto Ierusalimschy
6df197ec15
some functions from test module must be exported
2014-11-29 17:45:37 -02:00
Roberto Ierusalimschy
075661ffde
new test for macro 'luai_numinvalidop'
2014-11-24 12:56:56 -02:00
Roberto Ierusalimschy
798660c9cd
deprecated "cast macros" ('luaL_checkint', 'luaL_optint', etc.)
2014-10-01 08:54:56 -03:00
Roberto Ierusalimschy
f9037ae8c1
'ipairs' respects metamethods
2014-07-24 16:33:29 -03:00
Roberto Ierusalimschy
baa0e23456
better support for extra user space associated with a Lua state
2014-07-24 11:00:16 -03:00
Roberto Ierusalimschy
55a710545c
detail (extra byte in LUAI_EXTRASPACE to test proper alignment of
...
a lua_State)
2014-07-23 14:16:50 -03:00
Roberto Ierusalimschy
b3b8580606
comments + proper undef of compatibility macros + no need to undef
...
internal macros (this is the first definition)
2014-07-23 13:47:47 -03:00
Roberto Ierusalimschy
3511e186cd
ensure size for LUAI_USER_ALIGNMENT_T in tests is larger than the
...
structures it is aligning (in most architectures)
2014-07-18 10:27:45 -03:00
Roberto Ierusalimschy
39929384c6
new macro 'luai_userstateclose' (to test it is being called correctly)
2013-11-08 15:36:05 -02:00
Roberto Ierusalimschy
d447945685
'module'/'luaL_register' and associates are deprecated
2010-07-28 12:51:59 -03:00
Roberto Ierusalimschy
4db6f20770
ensure that 'luai_userstatethread' is always called (even if
...
'stack_init' throws a memory error)
2010-04-19 14:40:13 -03:00
Roberto Ierusalimschy
d20ff60615
new macro LUA_NUMTAGS
2010-04-12 13:07:29 -03:00
Roberto Ierusalimschy
8bfc696676
missing 'external' in variable declaration
2010-01-11 15:33:09 -02:00
Roberto Ierusalimschy
de6fc75d63
several configuration options that do not change often moved out of
...
luaconf.h and into more internal files
2009-12-17 10:26:09 -02:00
Roberto Ierusalimschy
2af0d3b459
allocator function receives the tag of object being allocated in 'osize'
...
when 'ptr' is NULL.
2009-12-16 14:42:58 -02:00
Roberto Ierusalimschy
15b823ce4f
cleaner way to add extra space in a lua state.
2009-12-14 13:27:30 -02:00
Roberto Ierusalimschy
062e809e54
new macros 'LUAI_DDEC'/'LUAI_DDEF' to better control declarations and
...
definitions of non-static variables
2009-11-19 17:06:52 -02:00
Roberto Ierusalimschy
d3037d97ec
several small improvements based on 'ci' being fixed now (including
...
erasing savedpc from lua_State)
2009-04-17 19:00:01 -03:00
Roberto Ierusalimschy
df802dc74b
larger alignment requirement helps to uncover some kinds of bugs
2008-08-05 16:24:46 -03:00
Roberto Ierusalimschy
4db2cddeee
LUA_COMPAT -> LUA_COMPAT_API (more specific)
2008-07-18 16:58:10 -03:00
Roberto Ierusalimschy
f9dec5fc84
do not use compatibility macros in Lua
2008-07-11 14:51:01 -03:00
Roberto Ierusalimschy
93869acb2c
"test trick" seems more useful with pointers instead of integers
2008-06-23 13:50:34 -03:00
Roberto Ierusalimschy
658e7caf92
use prefix in extern names, even those in test files
2007-11-12 14:28:45 -02:00
Roberto Ierusalimschy
b7fa64565a
27 is not a prime number :(
2007-09-30 10:09:43 -03:00