Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Redesign and harden string interning. | Mike Pall | 2020-06-23 | 1 | -4/+4 |
| | | | | | Up to 40% faster on hash-intensive benchmarks. With some ideas from Sokolov Yura. | ||||
* | Use a securely seeded global PRNG for the VM. | Mike Pall | 2020-06-15 | 1 | -7/+31 |
| | | | | It's not 2005 anymore. | ||||
* | Improve assertions. | Mike Pall | 2020-06-15 | 1 | -7/+11 |
| | |||||
* | Merge branch 'master' into v2.1 | Mike Pall | 2020-01-20 | 1 | -1/+1 |
|\ | |||||
| * | Bump copyright date. | Mike Pall | 2020-01-20 | 1 | -1/+1 |
| | | |||||
* | | Refactor with LUA_OK. | Mike Pall | 2017-04-07 | 1 | -4/+4 |
| | | | | | | | | Contributed by François Perrad. | ||||
* | | Merge branch 'master' into v2.1 | Mike Pall | 2017-01-17 | 1 | -1/+1 |
|\| | |||||
| * | Bump copyright date to 2017. | Mike Pall | 2017-01-17 | 1 | -1/+1 |
| | | |||||
* | | LJ_GC64: Allow optional use of the system memory allocator. | Mike Pall | 2016-06-03 | 1 | -1/+1 |
| | | |||||
* | | Merge branch 'master' into v2.1 | Mike Pall | 2016-03-03 | 1 | -1/+1 |
|\| | |||||
| * | Bump copyright date to 2016. | Mike Pall | 2016-03-03 | 1 | -1/+1 |
| | | |||||
* | | Merge branch 'master' into v2.1 | Mike Pall | 2015-01-06 | 1 | -1/+1 |
|\| | |||||
| * | Bump copyright date to 2015. | Mike Pall | 2015-01-05 | 1 | -1/+1 |
| | | |||||
* | | Add LJ_GC64 mode: 64 bit GC object references. | Mike Pall | 2015-01-03 | 1 | -0/+2 |
| | | | | | | | | Actually NaN tagging with 47 bit pointers and 13+4 bit tags. | ||||
* | | Add LJ_FR2 mode: Two-slot frame info. | Mike Pall | 2015-01-03 | 1 | -3/+5 |
| | | |||||
* | | Cleanup of memory vs. GC sizes. No functional changes. | Mike Pall | 2014-12-20 | 1 | -1/+1 |
| | | |||||
* | | Merge branch 'master' into v2.1 | Mike Pall | 2014-04-22 | 1 | -1/+1 |
|\| | |||||
| * | x64: Allow building with LUAJIT_USE_SYSMALLOC and LUAJIT_USE_VALGRIND. | Mike Pall | 2014-04-21 | 1 | -1/+1 |
| | | | | | | | | | | | | Valgrind 3.9 killed MAP_32BIT support. Ugh. So now we have to rely on undocumented behavior where Valgrind always allocates from the bottom of memory. Alas, such a binary won't run properly without Valgrind. | ||||
* | | Merge branch 'master' into v2.1 | Mike Pall | 2014-01-16 | 1 | -1/+1 |
|\| | |||||
| * | Bump copyright date to 2014. | Mike Pall | 2014-01-16 | 1 | -1/+1 |
| | | |||||
* | | Add low-overhead profiler. Part 1: interpreter, low-level C API. | Mike Pall | 2013-09-02 | 1 | -1/+5 |
| | | |||||
* | | Save currently executing lua_State in g->cur_L. | Mike Pall | 2013-08-30 | 1 | -2/+5 |
| | | | | | | | | | | | | 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. | ||||
* | | Use g->jit_base for on/off-trace detection. | Mike Pall | 2013-08-26 | 1 | -4/+5 |
| | | |||||
* | | String buffer refactoring, part 4. | Mike Pall | 2013-02-28 | 1 | -1/+1 |
| | | | | | | | | Add lua_State pointer to SBuf for buffer resizing. | ||||
* | | String buffer refactoring, part 1. | Mike Pall | 2013-02-27 | 1 | -2/+3 |
|/ | | | | | Move string buffer handling to lj_buf.*. Use common buffer resizing function. | ||||
* | Bump copyright date to 2013. | Mike Pall | 2013-02-11 | 1 | -1/+1 |
| | |||||
* | Fix userdata __gc separations at state close. | Mike Pall | 2012-06-10 | 1 | -2/+2 |
| | |||||
* | Limit number of userdata __gc separations at state close. | Mike Pall | 2012-04-11 | 1 | -1/+3 |
| | |||||
* | Ensure running __gc of userdata created in __gc at state close. | Mike Pall | 2012-04-11 | 1 | -2/+7 |
| | |||||
* | FFI: Finalize cdata before userdata when closing the state. | Mike Pall | 2012-03-05 | 1 | -1/+1 |
| | |||||
* | Bump copyright date to 2012. | Mike Pall | 2012-01-23 | 1 | -1/+1 |
| | |||||
* | No need for L argument to lj_str_initbuf(). | Mike Pall | 2011-06-12 | 1 | -1/+1 |
| | |||||
* | Get rid of the remaining silly cast macros from Lua. | Mike Pall | 2011-03-10 | 1 | -1/+1 |
| | |||||
* | FFI: Add ffi.gc() function for finalization of cdata objects. | Mike Pall | 2011-02-28 | 1 | -1/+2 |
| | |||||
* | Bump copyright date to 2011. | Mike Pall | 2011-01-09 | 1 | -1/+1 |
| | |||||
* | FFI: Add C type management. | Mike Pall | 2010-12-05 | 1 | -2/+5 |
| | |||||
* | Release all memory when using the builtin allocator. | Mike Pall | 2010-09-13 | 1 | -16/+11 |
| | | | | Blocks >128K are not kept in the segment list and were not destroyed. | ||||
* | Turn some lua_State fields into 32 bit pointers. | Mike Pall | 2010-09-09 | 1 | -16/+18 |
| | | | | lua_State now fits into one cache line on x64. | ||||
* | Switch to fast string hash. | Mike Pall | 2010-07-21 | 1 | -0/+2 |
| | |||||
* | Move free node pos to t->node[0].freetop. Saves 4 bytes in GCtab. | Mike Pall | 2010-03-22 | 1 | -0/+1 |
| | |||||
* | Reorder various structs to reduce padding (thanks to /usr/bin/pahole). | Mike Pall | 2010-03-15 | 1 | -1/+1 |
| | |||||
* | Resize stack up to the true limit. | Mike Pall | 2010-03-01 | 1 | -2/+11 |
| | |||||
* | Conditionally compile functions that are unused with JIT disabled. | Mike Pall | 2010-02-28 | 1 | -0/+2 |
| | |||||
* | Correctly align and free allocated machine code areas. | Mike Pall | 2010-02-27 | 1 | -1/+4 |
| | | | | Bump default mcode area size to 64K for x64. | ||||
* | Place dynamically generated code near static code on x64. | Mike Pall | 2010-02-26 | 1 | -0/+1 |
| | |||||
* | Move SIMD constants to jit_State to keep them in the low 4GB. | Mike Pall | 2010-02-24 | 1 | -0/+1 |
| | |||||
* | Major redesign of function call handling. | Mike Pall | 2010-02-13 | 1 | -8/+6 |
| | | | | | | | | | | | Drop call gates. Use function headers, dispatched like bytecodes. Emit BC_FUNCF/BC_FUNCV bytecode at PC 0 for all Lua functions. C functions and ASM fast functions get extra bytecodes. Modify internal calling convention: new base in BASE (formerly in RA). Can now use better C function wrapper semantics (dynamic on/off). Prerequisite for call hooks with zero-overhead if disabled. Prerequisite for compiling recursive calls. Prerequisite for efficient 32/64 bit prototype guards. | ||||
* | Move dispatch tables out of GG_State struct. | Mike Pall | 2010-02-11 | 1 | -4/+6 |
| | |||||
* | Switch to pre-initialized stacks. Drop frame clearing in interpreter. | Mike Pall | 2010-02-11 | 1 | -16/+17 |
| | |||||
* | Force error if lua_newstate() is used in 64 bit mode. | Mike Pall | 2010-01-24 | 1 | -0/+4 |
| |