aboutsummaryrefslogtreecommitdiff
path: root/src/lj_state.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Redesign and harden string interning.Mike Pall2020-06-231-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 Pall2020-06-151-7/+31
| | | | It's not 2005 anymore.
* Improve assertions.Mike Pall2020-06-151-7/+11
|
* Merge branch 'master' into v2.1Mike Pall2020-01-201-1/+1
|\
| * Bump copyright date.Mike Pall2020-01-201-1/+1
| |
* | Refactor with LUA_OK.Mike Pall2017-04-071-4/+4
| | | | | | | | Contributed by François Perrad.
* | Merge branch 'master' into v2.1Mike Pall2017-01-171-1/+1
|\|
| * Bump copyright date to 2017.Mike Pall2017-01-171-1/+1
| |
* | LJ_GC64: Allow optional use of the system memory allocator.Mike Pall2016-06-031-1/+1
| |
* | Merge branch 'master' into v2.1Mike Pall2016-03-031-1/+1
|\|
| * Bump copyright date to 2016.Mike Pall2016-03-031-1/+1
| |
* | Merge branch 'master' into v2.1Mike Pall2015-01-061-1/+1
|\|
| * Bump copyright date to 2015.Mike Pall2015-01-051-1/+1
| |
* | Add LJ_GC64 mode: 64 bit GC object references.Mike Pall2015-01-031-0/+2
| | | | | | | | Actually NaN tagging with 47 bit pointers and 13+4 bit tags.
* | Add LJ_FR2 mode: Two-slot frame info.Mike Pall2015-01-031-3/+5
| |
* | Cleanup of memory vs. GC sizes. No functional changes.Mike Pall2014-12-201-1/+1
| |
* | Merge branch 'master' into v2.1Mike Pall2014-04-221-1/+1
|\|
| * x64: Allow building with LUAJIT_USE_SYSMALLOC and LUAJIT_USE_VALGRIND.Mike Pall2014-04-211-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.1Mike Pall2014-01-161-1/+1
|\|
| * Bump copyright date to 2014.Mike Pall2014-01-161-1/+1
| |
* | Add low-overhead profiler. Part 1: interpreter, low-level C API.Mike Pall2013-09-021-1/+5
| |
* | Save currently executing lua_State in g->cur_L.Mike Pall2013-08-301-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 Pall2013-08-261-4/+5
| |
* | String buffer refactoring, part 4.Mike Pall2013-02-281-1/+1
| | | | | | | | Add lua_State pointer to SBuf for buffer resizing.
* | String buffer refactoring, part 1.Mike Pall2013-02-271-2/+3
|/ | | | | Move string buffer handling to lj_buf.*. Use common buffer resizing function.
* Bump copyright date to 2013.Mike Pall2013-02-111-1/+1
|
* Fix userdata __gc separations at state close.Mike Pall2012-06-101-2/+2
|
* Limit number of userdata __gc separations at state close.Mike Pall2012-04-111-1/+3
|
* Ensure running __gc of userdata created in __gc at state close.Mike Pall2012-04-111-2/+7
|
* FFI: Finalize cdata before userdata when closing the state.Mike Pall2012-03-051-1/+1
|
* Bump copyright date to 2012.Mike Pall2012-01-231-1/+1
|
* No need for L argument to lj_str_initbuf().Mike Pall2011-06-121-1/+1
|
* Get rid of the remaining silly cast macros from Lua.Mike Pall2011-03-101-1/+1
|
* FFI: Add ffi.gc() function for finalization of cdata objects.Mike Pall2011-02-281-1/+2
|
* Bump copyright date to 2011.Mike Pall2011-01-091-1/+1
|
* FFI: Add C type management.Mike Pall2010-12-051-2/+5
|
* Release all memory when using the builtin allocator.Mike Pall2010-09-131-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 Pall2010-09-091-16/+18
| | | | lua_State now fits into one cache line on x64.
* Switch to fast string hash.Mike Pall2010-07-211-0/+2
|
* Move free node pos to t->node[0].freetop. Saves 4 bytes in GCtab.Mike Pall2010-03-221-0/+1
|
* Reorder various structs to reduce padding (thanks to /usr/bin/pahole).Mike Pall2010-03-151-1/+1
|
* Resize stack up to the true limit.Mike Pall2010-03-011-2/+11
|
* Conditionally compile functions that are unused with JIT disabled.Mike Pall2010-02-281-0/+2
|
* Correctly align and free allocated machine code areas.Mike Pall2010-02-271-1/+4
| | | | Bump default mcode area size to 64K for x64.
* Place dynamically generated code near static code on x64.Mike Pall2010-02-261-0/+1
|
* Move SIMD constants to jit_State to keep them in the low 4GB.Mike Pall2010-02-241-0/+1
|
* Major redesign of function call handling.Mike Pall2010-02-131-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 Pall2010-02-111-4/+6
|
* Switch to pre-initialized stacks. Drop frame clearing in interpreter.Mike Pall2010-02-111-16/+17
|
* Force error if lua_newstate() is used in 64 bit mode.Mike Pall2010-01-241-0/+4
|