Commit Graph

104 Commits (master)

Author SHA1 Message Date
Mike Pall 1b8d8cabdc Merge branch 'master' into v2.1 2022-05-21 12:02:32 +02:00
Mike Pall bb7a30727e Prevent C compiler undefined-behavior optimization. 2022-05-21 12:00:10 +02:00
Mike Pall 20aea93915 Fix assertion for LJ_KEYINDEX.
Thanks to XmiliaH.
2022-04-03 10:35:42 +02:00
Mike Pall 7306ba78d6 Merge branch 'master' into v2.1 2022-01-15 19:42:30 +01:00
Mike Pall c4dfb625ba Bump copyright date. 2022-01-15 19:30:54 +01:00
Mike Pall c6f5ef649b Refactor table traversal.
Sponsored by OpenResty Inc.
2021-09-19 17:38:49 +02:00
Mike Pall ac02a120ef String buffers, part 2e: add serialization string dictionary.
Sponsored by fmad.io.
2021-06-07 12:03:22 +02:00
Mike Pall a119497bec String buffers, part 2d: basic string buffer methods.
Sponsored by fmad.io.
2021-06-01 05:16:32 +02:00
Mike Pall 61990cef05 String buffers, part 2b: Add extended string buffers. Use in serializer.
Sponsored by fmad.io.
2021-06-01 00:55:51 +02:00
Mike Pall 394fb6267a String buffers, part 2a: internal SBuf reorg. Use full pointers.
Sponsored by fmad.io.
2021-06-01 00:45:06 +02:00
Mike Pall 1e66d0f9e6 Merge branch 'master' into v2.1 2021-01-02 21:56:07 +01:00
Mike Pall f47c864b01 Bump copyright date. 2021-01-02 21:49:41 +01:00
Mike Pall e9af1abec5 Add support for full-range 64 bit lightuserdata. 2020-09-30 01:34:49 +02:00
Mike Pall ff34b48ddd Redesign and harden string interning.
Up to 40% faster on hash-intensive benchmarks.
With some ideas from Sokolov Yura.
2020-06-23 03:06:45 +02:00
Mike Pall a44f53acf5 Use a securely seeded global PRNG for the VM.
It's not 2005 anymore.
2020-06-15 12:21:05 +02:00
Mike Pall 8ae5170cdc Improve assertions. 2020-06-15 02:52:00 +02:00
Mike Pall 87b111f0fe Merge branch 'master' into v2.1 2020-01-20 23:34:21 +01:00
Mike Pall 38a5ed4b43 Bump copyright date. 2020-01-20 23:26:51 +01:00
Mike Pall 92fa45f9eb Fix interaction between profiler hooks and finalizers.
Thanks to Julien Desgats.
2019-12-08 19:56:56 +01:00
Mike Pall 362f034c1b Merge branch 'master' into v2.1 2018-05-20 12:28:10 +02:00
Mike Pall f5d424afe8 FFI: Make FP to U64 conversions match JIT backend behavior. 2018-05-20 12:25:36 +02:00
Mike Pall a057a07ab7 MIPS64: Add soft-float support to JIT compiler backend.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.
2017-06-07 23:56:54 +02:00
Mike Pall 71ff7ef8a7 Merge branch 'master' into v2.1 2017-01-17 12:41:05 +01:00
Mike Pall b93a1dd0c8 Bump copyright date to 2017. 2017-01-17 12:35:03 +01:00
Mike Pall ac42037db0 Constrain value range of lj_ir_kptr() to unsigned 32 bit pointers.
Thanks to Peter Cawley.
2016-04-24 17:32:12 +02:00
Mike Pall f4231949b5 Merge branch 'master' into v2.1 2016-03-03 12:11:37 +01:00
Mike Pall db1b399af1 Bump copyright date to 2016. 2016-03-03 12:02:22 +01:00
Mike Pall 0a5045c34e Merge branch 'master' into v2.1 2015-01-06 00:12:45 +01:00
Mike Pall 86913b9bbf Bump copyright date to 2015. 2015-01-05 23:59:31 +01:00
Mike Pall 71ecc051dc Fix MSVC build. 2015-01-05 00:38:18 +01:00
Mike Pall cb481ddc8f Add LJ_GC64 mode: 64 bit GC object references.
Actually NaN tagging with 47 bit pointers and 13+4 bit tags.
2015-01-03 15:23:58 +01:00
Mike Pall 054e6abe37 Add LJ_FR2 mode: Two-slot frame info. 2015-01-03 15:04:38 +01:00
Mike Pall 5cb6e2eaaf Cleanup of TValue setters. No functional changes. 2014-12-20 01:48:00 +01:00
Mike Pall 6e9145a882 Cleanup of memory vs. GC sizes. No functional changes. 2014-12-20 00:17:50 +01:00
Mike Pall a9d4543601 Merge branch 'master' into v2.1 2014-01-16 23:18:34 +01:00
Mike Pall ef59e54820 Bump copyright date to 2014. 2014-01-16 23:10:16 +01:00
Mike Pall d0b48ec996 Merge branch 'master' into v2.1 2013-10-14 19:34:06 +02:00
Mike Pall 5d25645a21 FFI: Rehash finalizer table after GC cycle, if needed. 2013-10-14 19:31:24 +02:00
Mike Pall 4dce22c40d Add low-overhead profiler. Part 1: interpreter, low-level C API. 2013-09-02 01:49:19 +02:00
Mike Pall 517500ba48 Save currently executing lua_State in g->cur_L.
This is only a good approximation due to deficiencies in the design of
the Lua/C API. It indicates _some_ valid state that is/was executing.
Also reorder L->cframe stores to achieve a synchronously consistent state.
2013-08-30 23:38:17 +02:00
Mike Pall 5120240b77 Use g->jit_base for on/off-trace detection. 2013-08-26 18:28:58 +02:00
Mike Pall 625ffca739 Refactor raw object to pointer or string conversions. 2013-05-13 01:23:33 +02:00
Mike Pall 7950894d70 ARM: Rearrange global_State to satisfy imm12 encoding constraints. 2013-03-13 17:12:23 +01:00
Mike Pall 9ec869b362 String buffer refactoring, part 4.
Add lua_State pointer to SBuf for buffer resizing.
2013-02-28 13:43:37 +01:00
Mike Pall 116cdd7e9a String buffer refactoring, part 2.
Switch to pointers for start/pos/end of buffer.
Abstract out some buffer writers.
2013-02-27 21:28:28 +01:00
Mike Pall 28cfcf7744 String buffer refactoring, part 1.
Move string buffer handling to lj_buf.*.
Use common buffer resizing function.
2013-02-27 17:29:35 +01:00
Mike Pall b359ce804b Remove obsolete non-truncating number to integer conversions. 2013-02-23 01:19:00 +01: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