Bart van Strien
5ddc89a033
Added cycle detection to Variant
...
We accidentally enabled nested tables previously, and now it errors properly when the tables contain cycles. Before you'd get (or at least I got) a nice lua stack overflow error.
--HG--
branch : minor
2017-08-30 13:07:57 +02:00
Bart van Strien
9f6aa716fa
Pass Type to luax_register_type by pointer instead of reference
...
Since the type is passed to va_start, and apparently that's undefined behaviour if it's a reference.
<Textmode> the best kind of behavior
--HG--
branch : dynamiccore2
2016-11-14 21:51:47 +01:00
Bart van Strien
d967a755e5
Make love::Type handle type names
...
TODO: Fix undefined behaviour in luax_register_type, you can't use a va_list after a reference type
--HG--
branch : dynamiccore2
2016-11-14 21:06:53 +01:00
Bart van Strien
7dd960619d
Automatically deduce the type in luax_checktype, luax_getmodule, luax_optmodule and luax_totype
...
--HG--
branch : dynamiccore2
2016-11-13 17:13:40 +01:00
Bart van Strien
c761202486
Build type information on first use (load-time), instead of using a hardcoded list
...
--HG--
branch : dynamiccore2
2016-11-13 16:38:57 +01:00
Alex Szpakowski
d0c0240e09
Very minor channel / variant performance improvements and cleanup.
2016-03-12 19:11:03 -04:00
Alex Szpakowski
23fcaec89f
The Variant class is now meant to be used on the stack instead of allocated on the heap. As a result (and because of related changes), performance of Channels has roughly doubled when pushing and popping most types.
2016-02-14 16:39:32 -04:00
Alex Szpakowski
2c4e713114
Imported some of the dynamiccore branch from love-experiments:
...
- Type names for love's Lua objects are specified as an argument to luax_register_type, rather than being statically defined in an array.
- luax_register_type takes a variable number of method array arguments, for registering superclass methods without copying them into the subclass' method array.
Also removed most of the header declarations for wrapper functions.
2015-11-29 20:38:12 -04:00
Alex Szpakowski
2f419c1c83
Replaced most cases of type bits and type name strings in love's Lua wrapper code with type id's.
...
--HG--
branch : minor
2015-03-01 18:32:41 -04:00
Alex Szpakowski
74f26160da
Fixed a couple bugs caught by clang's static analyzer
2013-09-18 18:30:12 -03:00
Alex Szpakowski
5b28b34a0b
Fixed Thread:start(func) crashing instead of erroring
2013-08-29 20:59:25 -03:00
Alex Szpakowski
4dba3e91e2
Thread:start now clears the thread's error string before starting
2013-08-03 05:00:46 -03:00
Alex Szpakowski
8ac288876d
Added Thread:isRunning
2013-07-16 00:18:04 -03:00
Bart van Strien
7e50691b6c
Threads can now start with arguments, which will be in ... inside of the thread
2013-07-09 14:52:27 +02:00
Bart van Strien
399a6a6614
Merge in channels from love-experiments
...
Rewritten love.thread and changed communication
method from weird system before, to channels.
--HG--
branch : minor
2012-07-04 17:15:16 +02:00