summaryrefslogtreecommitdiff
path: root/src/lj_obj.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Turn some lua_State fields into 32 bit pointers.Mike Pall2010-09-091-2/+2
| | | | lua_State now fits into one cache line on x64.
* Minor tweaks to integration of assembler part.Mike Pall2010-08-291-1/+1
| | | | | | | 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.
* Switch to fast string hash.Mike Pall2010-07-211-1/+2
|
* Turn TValue setter macros into inline functions.Mike Pall2010-04-261-110/+119
|
* Treat the tag of a TValue as unsigned everywhere.Mike Pall2010-04-251-28/+26
|
* Make metamethod names proper GC roots.Mike Pall2010-04-251-4/+6
|
* Turn traces into true GC objects (GCtrace).Mike Pall2010-04-251-1/+1
|
* No longer let the GC replace dead keys with the LJ_TDEADKEY tag.Mike Pall2010-04-211-8/+33
| | | | | | | | 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).
* Move free node pos to t->node[0].freetop. Saves 4 bytes in GCtab.Mike Pall2010-03-221-2/+1
|
* Reorder various structs to reduce padding (thanks to /usr/bin/pahole).Mike Pall2010-03-151-1/+1
|
* Major redesign of function call handling.Mike Pall2010-02-131-4/+5
| | | | | | | | | | | 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.
* Replace GCproto reference with bytecode PC in GCfuncL.Mike Pall2010-02-101-2/+3
|
* Drop bc field in GCproto since the bytecode is colocated.Mike Pall2010-02-081-6/+1
|
* Redesign of prototype generation, part 5: colocation of protoype arrays.Mike Pall2010-02-081-7/+7
|
* 32/64 bit memory ref cleanup, part 4: GCproto ->varinfo.Mike Pall2010-02-051-2/+3
|
* 32/64 bit memory ref cleanup, part 3: GCproto ->lineinfo.Mike Pall2010-02-051-1/+4
|
* 32/64 bit memory ref cleanup, part 2: GCproto ->uvname and ->chunkname.Mike Pall2010-02-051-3/+8
|
* 32/64 bit memory ref cleanup, part 1: GCproto ->bc and ->k.Mike Pall2010-02-051-8/+14
|
* Reduce non-numeric tag range by bumping up 64 bit lightud tag.Mike Pall2010-01-181-6/+6
|
* Improve alias analysis of upvalues using a disambiguation hash value.Mike Pall2010-01-091-1/+1
| | | | | | | | All upvalue objects hold a disambiguation hash value now. It's built from the parent prototype and the slot number. Different hash values imply the upvalues cannot alias. Same hash values don't imply anything (collision or different closures). Upvalue disambiguation makes use of a reduced hash due to IR contraints.
* Avoid int16_t widening for pt->uv elements.Mike Pall2010-01-091-1/+1
|
* Fix 32/64 bit portability issue with upval->v.Mike Pall2010-01-091-4/+3
|
* Bump all copyright dates to 2010.Mike Pall2010-01-091-1/+1
|
* Fix size calculation for closure structs.Mike Pall2009-12-281-2/+2
|
* Fast forward to sync public repo.Mike Pall2009-12-081-3/+20
| | | | | | | | Compile math.sinh(), math.cosh(), math.tanh() and math.random(). Compile various io.*() functions. Drive the GC forward on string allocations in the parser. Improve KNUM fuse vs. load heuristics. Add abstract C call handling to IR.
* RELEASE LuaJIT-2.0.0-beta2v2.0.0-beta2Mike Pall2009-12-081-1/+2
|
* RELEASE LuaJIT-2.0.0-beta1v2.0.0-beta1Mike Pall2009-12-081-0/+676