Commit Graph
100 Commits
Author SHA1 Message Date
Roberto Ierusalimschy 0a6b58c3aa weak tables that must be retraversed are kept in 'grayagain' list
until atomic phase (instead of going to their special lists) +
more comments
2014-09-03 13:54:41 -03:00
Roberto Ierusalimschy 979a663d2a detail (error message from 'coroutine.status') 2014-09-01 15:00:04 -03:00
Roberto Ierusalimschy 22952d8973 'T.gccolor' classify dead objects too 2014-09-01 14:58:55 -03:00
Roberto Ierusalimschy df608f842a 'linktable' -> 'linkgclist' (and used for all links with 'gclist') 2014-09-01 14:37:11 -03:00
Roberto Ierusalimschy 001bb46ae1 bug: Ephemeron table can wrongly collect entry with strong key 2014-09-01 13:56:01 -03:00
Roberto Ierusalimschy 9b25347a67 detail 2014-08-27 11:59:33 -03:00
Roberto Ierusalimschy e401513086 new option 'p' for 'debug.sizeof' (size of a pointer) 2014-08-22 13:22:42 -03:00
Roberto Ierusalimschy 7f1a2ad699 new functions 'lua_geti/lua_seti' (non raw) 2014-08-21 17:07:56 -03:00
Roberto Ierusalimschy a1ab5ab396 'table.copy' -> 'table.move' + optional parameter moved to the end +
several functions operate on "virtual" tables too
2014-08-21 16:13:55 -03:00
Roberto Ierusalimschy 01549fb1ed 'Csize' -> 'sizeof' + removed its 'b' option 2014-08-21 16:12:40 -03:00
Roberto Ierusalimschy 4fba117433 [un]'dumpint' -> [un]'dumpinteger' 2014-08-20 19:06:41 -03:00
Roberto Ierusalimschy 2be88d5084 'lua_Ctx' -> 'lua_Kcontext' 2014-08-01 14:33:08 -03:00
Roberto Ierusalimschy f5c690b684 details in comments 2014-08-01 14:24:02 -03:00
Roberto Ierusalimschy 61fa462535 added cast to avoid warning 2014-08-01 14:22:57 -03:00
Roberto Ierusalimschy fba9050d3d release changed to (5.3) alpha 2014-07-31 10:44:30 -03:00
Roberto Ierusalimschy d861706620 new macro 'cvt2num' to better control whether strings are convertible
to numbers
2014-07-30 11:42:44 -03:00
Roberto Ierusalimschy 34ac039fb8 new macro 'cvt2str' to better control whether numbers are convertible
to strings
2014-07-30 11:00:14 -03:00
Roberto Ierusalimschy 1aa5262634 do not assume numbers are coercible to strings 2014-07-30 10:59:24 -03:00
Roberto Ierusalimschy 07c7fdb9df simpler definition for 'setobj' (trust the compiler for the assignment) 2014-07-29 13:22:24 -03:00
Roberto Ierusalimschy 3ccbae84d2 added some casts between integral types (to avoid warnings) 2014-07-29 13:01:00 -03:00
Roberto Ierusalimschy 255d59ed5e some janitorial work (comments, small refactoring) 2014-07-28 14:47:53 -03:00
Roberto Ierusalimschy 925d1b59f9 new function 'math.ult' (unsigned less than) 2014-07-28 14:35:47 -03:00
Roberto Ierusalimschy 03bbe1baf1 first implementation for 'table.copy' 2014-07-25 15:46:00 -03:00
Roberto Ierusalimschy f9037ae8c1 'ipairs' respects metamethods 2014-07-24 16:33:29 -03:00
Roberto Ierusalimschy 57d8424146 extra space for new threads is initialized with a copy of the main
thread, not of the creator thread.
2014-07-24 13:17:56 -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 753f2c1da4 better(?) alignment for some structures (pointers first) 2014-07-23 14:15:43 -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 73ad16b5c6 no need for type 'pCallInfo' 2014-07-23 13:44:30 -03:00
Roberto Ierusalimschy 97e299c395 'lua_replace' implemented as a macro using 'lua_copy' 2014-07-22 15:07:47 -03:00
Roberto Ierusalimschy c697aa30bc more precise type for argument to 'aux_upvalue' 2014-07-21 13:02:57 -03:00
Roberto Ierusalimschy 17ee57f8e0 'iswhite' and related macros now can work directly on any object
(no need to convert to 'GCObject')
2014-07-21 13:02:10 -03:00
Roberto Ierusalimschy 3c6d0aaa7d 'iswhite' and related macros now can work directly on any object
(no need to convert to 'GCObject')
2014-07-19 12:14:46 -03:00
Roberto Ierusalimschy e43612aaf6 put the restriction that 'luaC_barrierback' works only on tables
in its prototype
2014-07-19 12:09:37 -03:00
Roberto Ierusalimschy 2898e2fd12 removed useless assertion (gcstate != GCSpause already implied by
other assertions) and wrong assertion (setmetatable uses this barrier
for tables too)
2014-07-19 11:44:19 -03:00
Roberto Ierusalimschy 8704fca0c9 in 'luaL_checkversion_' check numeric types first. (Other tests
depend on correct numeric type.)
2014-07-19 11:37:09 -03:00
Roberto Ierusalimschy 325e44d87e no more "-2" for limits. (Limits should be precise; safety is in
the code that handles these limits.)
2014-07-18 15:29:12 -03:00
Roberto Ierusalimschy 54ac253343 detail (no need to define LUAI_USER_ALIGNMENT_T when it is not
defined; simpler to define 'L_Umaxalign' directly)
2014-07-18 15:18:45 -03:00
Roberto Ierusalimschy bb12903120 type 'Udata' refers directly to structure inside the union (union
used only for aligning purposes now)
2014-07-18 11:46:47 -03:00
Roberto Ierusalimschy ca41b43f53 type 'TString' refers directly to the structure inside the union
(union used only for size purposes)
2014-07-18 10:36:14 -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 56137d58ff added check for conversion 'obj2gco' (and corrections for small
problems detected by this check)
2014-07-18 09:17:54 -03:00
Roberto Ierusalimschy 9aec500a26 no need for field 'gch' anymore 2014-07-17 14:27:49 -03:00
Roberto Ierusalimschy 5a9cc57a5e change in GCObject: instead of being a union, it is now a structure
with the common header of all collectable objects; union is used
only for conversions. (Goal is to be able to check that the cast
'obj2gco' can have a check to ensure that object being converted
is really a collectable object.). This is the first step in the
change.
2014-07-17 14:09:50 -03:00
Roberto Ierusalimschy 1aa4f69b51 new type 'lua_Ctx' for continuation-function contexts (to allow type
to be configurable)
2014-07-17 10:53:37 -03:00
Roberto Ierusalimschy 8bb272a3e3 new conversion float->integer: conversion is valid only when
float has an exact representation as an integer
2014-07-17 09:30:53 -03:00
Roberto Ierusalimschy c229ed597f 'requiref' checks 'package.loaded' before loading a module 2014-07-16 11:51:36 -03:00
Roberto Ierusalimschy 16b4110521 function 'type' keeps type names as upvalues to avoid creating strings
everytime it is called
2014-07-16 10:56:59 -03:00
Roberto Ierusalimschy f14662fca6 detail (added placeholders for non-function fields to preallocate
space for them)
2014-07-16 10:56:14 -03:00
Roberto Ierusalimschy a9af12bbe7 Table library now respects '__index'/'__newindex' metamethods 2014-07-16 09:44:52 -03:00
Roberto Ierusalimschy 5bbb4a06a6 removed unused parameter Ä'L' in macro 'api_check' and company 2014-07-15 18:26:50 -03:00
Roberto Ierusalimschy d4fb848be7 added api check in 'lua_typename' (tag is valid) 2014-07-15 18:14:49 -03:00
Roberto Ierusalimschy b9dcf9974d detail (typos in comments) 2014-06-30 16:48:08 -03:00
Roberto Ierusalimschy a77d263e86 unsigned-manipulation functions (lua_puhsunsigned, lua_tounsigned, etc.)
deprecated
2014-06-26 15:38:28 -03:00
Roberto Ierusalimschy 7cc40851e1 emergency collection can happen even when collector is stopped 2014-06-26 15:29:05 -03:00
Roberto Ierusalimschy 08a9c9faa3 detail (comment) 2014-06-26 15:28:24 -03:00
Roberto Ierusalimschy 84fe52dbeb unsigned-manipulation functions (lua_puhsunsigned, lua_tounsigned, etc.)
deprecated
2014-06-26 14:25:11 -03:00
Roberto Ierusalimschy 10200585a7 var-arguments to the script come from 'arg' table (not from original
'argv' array)
2014-06-26 14:08:52 -03:00
Roberto Ierusalimschy c94f11d783 'IntPoint' -> 'point2int' + ensure that casted value fits in
destination type
2014-06-26 13:17:35 -03:00
Roberto Ierusalimschy 54ac5960a8 LUA_MAXUNSIGNED was only used to define 2.0^intnumbits (and that
definition was not strictly portable), so it was removed and
replaced by a more correct and direct definition for 2.0^intnumbits
(only where it was needed)
2014-06-24 14:02:00 -03:00
Roberto Ierusalimschy 0e6229a953 use proper macros to convert 'GCObject' to other objects + better
type cheking in 'set*value' macros
2014-06-19 15:39:36 -03:00
Roberto Ierusalimschy d2ab1aef31 detail (avoid too large macro) 2014-06-19 15:29:30 -03:00
Roberto Ierusalimschy 89b56e7d84 more precision between closure types ('LClosure' x 'CClosure') 2014-06-19 15:27:20 -03:00
Roberto Ierusalimschy 14929f5764 use appropriate macros to convert GCObject to specific types 2014-06-18 19:59:29 -03:00
Roberto Ierusalimschy 7021cc9bc8 allows different 'source' for each prototype, but inherits it from
parent when they are equal (only possible case for chunks created
by the parser)
2014-06-18 15:35:43 -03:00
Roberto Ierusalimschy 04da0a40c0 added assertion about sources being the same for all protos in a chunk 2014-06-18 10:54:31 -03:00
Roberto Ierusalimschy eb67828236 changed macro for compatibility options + details 2014-06-18 10:24:01 -03:00
Roberto Ierusalimschy 94266dfdbd source for all prototypes must be equal in a chunk; no need to store
each one separated
2014-06-18 10:21:12 -03:00
Roberto Ierusalimschy e3871abe95 'math.ifloor' is back 2014-06-18 09:35:53 -03:00
Roberto Ierusalimschy 3fc25ff15b macro 'checkobjref' accepts NULL (as all its uses checked for NULL
before) + user value from a userdata may not be a GC object
2014-06-17 14:13:29 -03:00
Roberto Ierusalimschy fa3113ffbf cleaner way to handle bit CIST_OAH (with auxiliar macros) 2014-06-12 16:07:30 -03:00
Roberto Ierusalimschy d94bb6c273 janitor work on 'lua_resume' and related code 2014-06-11 13:01:55 -03:00
Roberto Ierusalimschy 5784331768 new items in default path for Windows 2014-06-10 16:21:20 -03:00
Roberto Ierusalimschy 88a9e51f34 bit-field CIST_YIELDED removed (it was never consulted) 2014-06-10 16:18:50 -03:00
Roberto Ierusalimschy 8b5940e7ca must also reset CIST_OAH if necessary (CallInfo is not a fresh one) 2014-06-10 16:13:26 -03:00
Roberto Ierusalimschy 1a3656e56e more relaxed rules for __eq metamethod (more similar to other
operators)
2014-06-10 15:53:18 -03:00
Roberto Ierusalimschy 542b6cfc02 no need for field 'status' in structure 'CallInfo' (after removal
of 'lua_getctx') + field 'old_allowhook' can be packed into a single
bit
2014-06-10 15:51:21 -03:00
Roberto Ierusalimschy 6f6fd96e3b new type lua_KFunction + no more 'lua_getctx' 2014-06-10 14:41:38 -03:00
Roberto Ierusalimschy 35a6aad0d7 added comments 2014-06-09 13:32:18 -03:00
Roberto Ierusalimschy 23f0ff9517 lots of janitor work (including comments) + 'arg' table created
before running any script + changes in the parameters and return
of 'collectargs'
2014-06-05 17:42:06 -03:00
Roberto Ierusalimschy 355037528c 'math.mof' works with integers, too 2014-06-02 20:09:28 -03:00
Roberto Ierusalimschy 9e68c047ae 'assert' does not assume that the error object is a string 2014-06-02 00:06:26 -03:00
Roberto Ierusalimschy e9d86eddf3 if numeral overflows the reading buffer, signal it as invalid input
(resulting in nil)
2014-06-02 00:00:51 -03:00
Roberto Ierusalimschy 11aefa4478 details (comments) 2014-06-01 21:03:16 -03:00
Roberto Ierusalimschy 5ebdd326b6 detail (to avoid warnings of unused variable) 2014-05-29 16:30:07 -03:00
Roberto Ierusalimschy 84db17b6fc more "religious" definition for 'lua_numtointeger' 2014-05-27 10:59:03 -03:00
Roberto Ierusalimschy 456806f25c no more 'math.ifloor' + new semantics for 'math.floor'/'math.ceil' 2014-05-26 14:13:52 -03:00
Roberto Ierusalimschy c98f195eb9 function 'luaV_numtointeger' changed to a global macro
'lua_numtointeger' (tricky, small, and useful in several places)
2014-05-26 14:10:22 -03:00
Roberto Ierusalimschy 4d696c45b9 simpler handling of 'GCScallfin' state + more comments 2014-05-25 16:08:32 -03:00
Roberto Ierusalimschy 36715ab7c1 detail (comment) 2014-05-23 15:32:21 -03:00
Roberto Ierusalimschy e966e53791 no more use of 'scanf' for reading numbers 2014-05-21 12:24:21 -03:00
Roberto Ierusalimschy c4eff10322 small improvements concerning 'check_next' 2014-05-21 12:22:02 -03:00
Roberto Ierusalimschy 8a0acf0898 comments 2014-05-20 11:12:59 -03:00
Roberto Ierusalimschy e2be310a85 better(?) implementation for 'pcall'/'xpcall' (regarding the insertion
of the boolean first result)
2014-05-16 15:54:01 -03:00
Roberto Ierusalimschy 17159b491c more direct implementation of 'table.pack' 2014-05-16 15:53:25 -03:00
Roberto Ierusalimschy 0aa32fa0cb small changes in field order in some structs to reduce padding 2014-05-15 17:41:27 -03:00
Roberto Ierusalimschy 8927c14317 removed macro 'luai_checknum' (as NaN trick is not doable now) 2014-05-15 17:28:39 -03:00
Roberto Ierusalimschy 3e977f02ac added a few comments 2014-05-15 17:08:32 -03:00
Roberto Ierusalimschy a73da6112d deprecated library throws an error if called (instead of silently
not loading itself)
2014-05-15 16:28:34 -03:00