Roberto Ierusalimschy
|
b7edf5d2d8
|
metamethods for 'removekey'/'keyin'
|
7 years ago |
Roberto Ierusalimschy
|
ef8263f81f
|
better names for macros for tags and types.
rttype -> rawtt; ttyperaw -> withvariant; ttype -> ttypetag;
tnov -> ttype
|
7 years ago |
Roberto Ierusalimschy
|
2952bc5fc9
|
special compact representation for userdata with no user values
(a common case)
|
7 years ago |
Roberto Ierusalimschy
|
38d3bc8909
|
using 'offsetof' to compute the size of parts of a structure
|
7 years ago |
Roberto Ierusalimschy
|
75efc6722b
|
avoid variant tags with the same value of the original type
(to expose bugs more easily)
|
7 years ago |
Roberto Ierusalimschy
|
d766e2ae17
|
first (parcial) implementation of 'keyin'/'removekey'
(still no metamethods, no raw verssions)
|
7 years ago |
Roberto Ierusalimschy
|
f055a9dffd
|
added check in 'obj2gco' to prevent its use in non Lua-object pointers
(otherwise its cast is blind, casting any value given to it)
|
7 years ago |
Roberto Ierusalimschy
|
4a7fe61806
|
in 'clearbykeys', clear keys of just-removed entries too
|
7 years ago |
Roberto Ierusalimschy
|
9243c414d9
|
first version of empty entries in tables
(so that, in the future, tables can contain regular nil entries)
|
7 years ago |
Roberto Ierusalimschy
|
477ca2fe8c
|
some reorganization in 'lobject.h'
(just moving stuff around)
|
7 years ago |
Roberto Ierusalimschy
|
c72ac048b9
|
conditional jumps "deunified"
(if a jump table is used, the unification may harm jump prediction.)
|
7 years ago |
Roberto Ierusalimschy
|
b03dddf9e4
|
removed coercion string->number in bitwise operations
(can be done with a Lua module)
|
7 years ago |
Roberto Ierusalimschy
|
c80c7a49fd
|
details (comments)
|
7 years ago |
Roberto Ierusalimschy
|
212095a601
|
new opcodes OP_GTI/OP_GEI
|
7 years ago |
Roberto Ierusalimschy
|
c67603fafb
|
using new 'lua_newuserdatauv' instead of 'lua_newuserdata'
|
7 years ago |
Roberto Ierusalimschy
|
06865aa01d
|
simpler implementation for 'LTintfloat'/'LEintfloat'
+ 'LTfloatint'/'LEfloatint'
|
7 years ago |
Roberto Ierusalimschy
|
465b474899
|
small reorganization of 'luaV_flttointeger'/'luaV_tointeger'
|
7 years ago |
Roberto Ierusalimschy
|
6353d619a5
|
detail (comment)
|
7 years ago |
Roberto Ierusalimschy
|
ca6fe7449a
|
userdata can have multiple user values
|
7 years ago |
Roberto Ierusalimschy
|
1afd5a152d
|
more generic way to handle 'gclist'
|
7 years ago |
Roberto Ierusalimschy
|
422318f677
|
two new fields 'fTransfer'/'nTransfer' in 'lua_Debug' structure
(for information about values being given and returned in function calls)
|
7 years ago |
Roberto Ierusalimschy
|
49dae52d08
|
correct way to check stack space for vararg functions
|
7 years ago |
Roberto Ierusalimschy
|
104d249ffb
|
in return hook, 'top' must be corrected only if smaller than 'ci->top'.
(It may be larger when returning multiple values, and then it must
be larger to preserve that stack slice.)
|
7 years ago |
Roberto Ierusalimschy
|
c7a8cba745
|
no more 'nfield' string
|
7 years ago |
Roberto Ierusalimschy
|
0682fe8169
|
some simplifications/optimizations in returns from Lua functions
|
7 years ago |
Roberto Ierusalimschy
|
b1379936cf
|
vararg back to '...' (but with another implementation)
new implementation should have zero overhead for non-vararg functions
|
7 years ago |
Roberto Ierusalimschy
|
4e0de3a43c
|
details
|
7 years ago |
Roberto Ierusalimschy
|
318a9a5859
|
new opcode 'PREPVARARG'
(avoids test for vararg function in all function calls)
|
7 years ago |
Roberto Ierusalimschy
|
73d797ce7e
|
detail
(order of 'OT' and 'IT' bits corresponds with macro 'opmode')
|
7 years ago |
Roberto Ierusalimschy
|
51280ef2ad
|
call hooks for Lua functions called by 'luaV_execute'
|
7 years ago |
Roberto Ierusalimschy
|
fc3eaa2559
|
GC default mode for the stand-alone interpreter is generational mode
|
7 years ago |
Roberto Ierusalimschy
|
daff7c3b4d
|
small corrections in generational mode
(cannot call finalizers in emergency collections +
should set everything before calling finalizers)
|
7 years ago |
Roberto Ierusalimschy
|
a131eae925
|
default for minor collection intervals a little larger
|
7 years ago |
Roberto Ierusalimschy
|
022abc301b
|
'gcemergency' should be zero before any memory allocation
|
7 years ago |
Roberto Ierusalimschy
|
56e50e8bc5
|
'collectgarbage' returns old mode when changing mode
|
7 years ago |
Roberto Ierusalimschy
|
90569630d6
|
detail
(uses a reserved-format name for an internal type in the registry)
|
7 years ago |
Roberto Ierusalimschy
|
dc0ab1e8ca
|
warnings in VS (implicit casts from ptrdiff_t to int)
|
7 years ago |
Roberto Ierusalimschy
|
e2b15aa21d
|
janitor work on casts
|
7 years ago |
Roberto Ierusalimschy
|
89110986d7
|
bug in tailcall of vararg functions
(when adjusting missing parameters)
|
7 years ago |
Roberto Ierusalimschy
|
53979dfe0d
|
calling a vararg function needs to check GC
(because it creates a new table)
|
7 years ago |
Roberto Ierusalimschy
|
6710a2b0ef
|
detail (comment)
|
7 years ago |
Roberto Ierusalimschy
|
5bd8d388de
|
OP_CONCAT does not move its result (to simplify its execution)
|
7 years ago |
Roberto Ierusalimschy
|
28f215ecf8
|
comments
|
7 years ago |
Roberto Ierusalimschy
|
d2fb34ac88
|
'OP_TAILCALL' calling C functions finishes the call and returns
(instead of waiting for following 'OP_RETURN')
|
7 years ago |
Roberto Ierusalimschy
|
ab0a851db4
|
'luaD_tryfuncTM' can ensure it does not change the stack
|
7 years ago |
Roberto Ierusalimschy
|
728ff94595
|
error handler in protected calls must be a function
|
7 years ago |
Roberto Ierusalimschy
|
ad960095bf
|
avoid jumping into a variable scope (C++ does not allow that)
|
7 years ago |
Roberto Ierusalimschy
|
33e3774f44
|
keep more opcode arguments byte-aligned
|
7 years ago |
Roberto Ierusalimschy
|
a9295a2b8e
|
typos in comments
|
7 years ago |
Roberto Ierusalimschy
|
c6fedc92f8
|
new command 'print' (to print literal strings) in mini-language
|
7 years ago |