Mike Pall
bb7a30727e
Prevent C compiler undefined-behavior optimization.
2022-05-21 12:00:10 +02:00
Mike Pall
c4dfb625ba
Bump copyright date.
2022-01-15 19:30:54 +01:00
Mike Pall
f47c864b01
Bump copyright date.
2021-01-02 21:49:41 +01:00
Mike Pall
38a5ed4b43
Bump copyright date.
2020-01-20 23:26:51 +01:00
Mike Pall
f5d424afe8
FFI: Make FP to U64 conversions match JIT backend behavior.
2018-05-20 12:25:36 +02:00
Mike Pall
b93a1dd0c8
Bump copyright date to 2017.
2017-01-17 12:35:03 +01:00
Mike Pall
db1b399af1
Bump copyright date to 2016.
2016-03-03 12:02:22 +01:00
Mike Pall
86913b9bbf
Bump copyright date to 2015.
2015-01-05 23:59:31 +01:00
Mike Pall
ef59e54820
Bump copyright date to 2014.
2014-01-16 23:10:16 +01:00
Mike Pall
5d25645a21
FFI: Rehash finalizer table after GC cycle, if needed.
2013-10-14 19:31:24 +02:00
Mike Pall
4a44c4ff69
Bump copyright date to 2013.
2013-02-11 12:54:48 +01:00
Mike Pall
23932a6c8b
Use 0/1 macro for Lua 5.2 compatibility.
2012-09-12 11:20:47 +02:00
Mike Pall
0648fd47cb
FFI: Handle __pairs/__ipairs metamethods for cdata objects.
2012-09-03 21:11:08 +02:00
Mike Pall
3636a720a5
Turn loads from immutable upvalues into constants.
2012-07-20 18:54:52 +02:00
Mike Pall
f20ff8a30d
Avoid compiler warnings about redefined C++ keywords.
2012-07-09 16:02:05 +02:00
Mike Pall
17d3fc47f3
Avoid pesky compiler warnings about C++ keywords (eh?).
2012-07-03 13:19:32 +02:00
Mike Pall
8b71ab1080
FFI: Check for __new metamethod when calling a constructor.
2012-06-20 18:28:25 +02:00
Mike Pall
10ef109eef
Bump copyright date to 2012.
2012-01-23 22:42:42 +01:00
Mike Pall
cecbe3c15f
Specialize to prototype for non-monomorphic functions.
...
Solves the trace-explosion problem with closure-heavy programming.
2011-11-20 19:16:40 +01:00
Mike Pall
31d566428f
From Lua 5.2: __len for tables. Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2011-06-20 20:45:41 +02:00
Mike Pall
4994fcc32c
Add support for bytecode loading/saving.
2011-06-13 01:04:11 +02:00
Mike Pall
b6a7fc5330
Cleanup prototype flags.
2011-06-09 13:54:40 +02:00
Mike Pall
8c32b38ca3
Flatten and compress in-memory debug info (saves ~70%).
2011-06-09 01:27:37 +02:00
Mike Pall
1ac71f1fa8
ARM: Add LJ_SOFTFP define. Add support for soft-float slot handling.
2011-05-16 02:38:07 +02:00
Mike Pall
87553d9e77
Avoid name clash with Windows MM_MAX define.
2011-05-08 22:31:03 +02:00
Mike Pall
89022b4c3e
Use lj_vm_tobit() on targets without FPU.
2011-04-10 16:58:22 +02:00
Mike Pall
bfce3c1127
DUALNUM: Handle integer type in JIT compiler.
2011-03-10 01:57:24 +01:00
Mike Pall
03946ac978
DUALNUM: Add integer type to core VM.
2011-02-17 00:44:14 +01:00
Mike Pall
0ec7f5ed92
FFI: Add 64 bit integer comparisons and pointer comparisons.
2011-01-13 02:35:29 +01:00
Mike Pall
ddf6596333
FFI: Add ffi.load() and ffi.C default namespace.
2011-01-10 03:43:18 +01:00
Mike Pall
06f99fc3df
Bump copyright date to 2011.
2011-01-09 17:12:53 +01:00
Mike Pall
0005b2c2b9
Add support for uint64_t <-> FP conversions to x64 backend.
2011-01-02 18:24:31 +01:00
Mike Pall
dc4b82c33d
Add lj_num2u64 for number to uint64_t conversion.
2010-12-31 00:46:29 +01:00
Mike Pall
44935dae0d
FFI: Add 64 bit integer arithmetic.
2010-12-25 22:54:25 +01:00
Mike Pall
100a00dd40
Undo ef8c2648
.
2010-12-03 16:58:19 +01:00
Mike Pall
ef8c264873
FFI: Add macros for consistent number to integer truncation.
2010-11-26 13:40:40 +01:00
Mike Pall
2fd1292955
FFI: Add cdata object type.
2010-11-26 13:28:46 +01:00
Mike Pall
57cd5026eb
Disable Lua 5.2 features by default. See -DLUAJIT_ENABLE_LUA52COMPAT.
2010-11-19 17:00:11 +01:00
Mike Pall
ba602c9578
Add support for __pairs and __ipairs metamethods (from Lua 5.2).
2010-11-18 00:23:24 +01:00
Mike Pall
24baf77955
Cleanup architecture, ABI and OS definitions.
2010-11-16 15:03:40 +01:00
Mike Pall
96957a4551
Turn some lua_State fields into 32 bit pointers.
...
lua_State now fits into one cache line on x64.
2010-09-09 12:28:17 +02:00
Mike Pall
e1efd0d871
Minor tweaks to integration of assembler part.
...
Remove unneeded PC restore in vm_growstack_*.
Don't declare symbols that are unused in interpreter-only builds.
Don't embed lj_vm_foldfpm in interpreter-only builds.
Add 2nd temporary TValue in lua_State.
2010-08-29 20:04:40 +02:00
Mike Pall
420124372b
Switch to fast string hash.
2010-07-21 22:53:27 +02:00
Mike Pall
28cfccf748
Turn TValue setter macros into inline functions.
2010-04-26 00:28:44 +02:00
Mike Pall
41379126a2
Treat the tag of a TValue as unsigned everywhere.
2010-04-25 23:21:15 +02:00
Mike Pall
ef0904e80b
Make metamethod names proper GC roots.
2010-04-25 18:35:47 +02:00
Mike Pall
721b73fecb
Turn traces into true GC objects (GCtrace).
2010-04-25 03:32:29 +02:00
Mike Pall
ab45481199
No longer let the GC replace dead keys with the LJ_TDEADKEY tag.
...
Important: this changes the semantics of the write barrier!
Carefully read the big comment block in lj_obj.h
This helps HREFK key slot specialization and allows safely hoisting
HREF/HREFK across GC steps, too (fix for a barely reproducible bug).
Dead keys are only removed during a table resize (as before).
2010-04-21 01:45:58 +02:00
Mike Pall
361266518c
Move free node pos to t->node[0].freetop. Saves 4 bytes in GCtab.
2010-03-22 15:05:37 +01:00
Mike Pall
37a3ca330f
Reorder various structs to reduce padding (thanks to /usr/bin/pahole).
2010-03-15 23:29:10 +01:00