Mike Pall
6947493687
Turn lj_mem_newgco() into a fastcall.
2010-12-10 01:10:52 +01:00
Mike Pall
526e087e63
FFI: Add C data handling and C type conversions.
2010-12-05 00:18:07 +01:00
Mike Pall
35890f66c1
FFI: Don't propagate cdata objects.
2010-11-26 17:27:02 +01:00
Mike Pall
2fd1292955
FFI: Add cdata object type.
2010-11-26 13:28:46 +01:00
Mike Pall
44702720c5
Don't traverse inactive GCtrace objects.
2010-09-15 01:13:07 +02:00
Mike Pall
6fd315581c
Optimize BC_VARG: use RC for numparams.
2010-09-10 11:34:29 +02: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
420124372b
Switch to fast string hash.
2010-07-21 22:53:27 +02:00
Mike Pall
ef0904e80b
Make metamethod names proper GC roots.
2010-04-25 18:35:47 +02:00
Mike Pall
2e24770ed3
Simplify management of current trace. Drop lazy save.
2010-04-25 13:53:33 +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
d8cb69ed07
Simplify GC step calls from on-trace code.
2010-04-19 23:41:48 +02:00
Mike Pall
932cda0fe3
Replace on-trace GC frame syncing with interpreter exit.
...
Need to sync GC objects to stack only during atomic GC phase.
Need to setup a proper frame structure only for calling finalizers.
Force an exit to the interpreter and let it handle the uncommon cases.
Finally solves the "NYI: gcstep sync with frames" issue.
2010-04-19 00:43:35 +02:00
Mike Pall
37a3ca330f
Reorder various structs to reduce padding (thanks to /usr/bin/pahole).
2010-03-15 23:29:10 +01:00
Mike Pall
89c90f0955
Fix error message generation for OOM error.
2010-02-28 22:22:45 +01:00
Mike Pall
8cc50cf6b1
Conditionally compile functions that are unused with JIT disabled.
2010-02-28 21:58:40 +01:00
Mike Pall
ab90b8fc2b
Switch to pre-initialized stacks. Drop frame clearing in interpreter.
2010-02-11 01:21:40 +01:00
Mike Pall
6194b1c896
Redesign of prototype generation, part 5: colocation of protoype arrays.
2010-02-08 05:30:57 +01:00
Mike Pall
f275a9d7ef
Redesign of prototype generation, part 4: late creation of prototype.
2010-02-08 05:29:47 +01:00
Mike Pall
60b5af4422
Redesign of prototype generation, part 1: varinfo and uvname.
...
Use a growable, per-chunk variable stack.
Collect varinfo/uvname for prototype at the end.
2010-02-08 05:26:52 +01:00
Mike Pall
a0914c409b
32/64 bit memory ref cleanup, part 4: GCproto ->varinfo.
2010-02-05 01:35:38 +01:00
Mike Pall
8dcc4364cf
32/64 bit memory ref cleanup, part 3: GCproto ->lineinfo.
2010-02-05 01:16:22 +01:00
Mike Pall
d778982120
32/64 bit memory ref cleanup, part 2: GCproto ->uvname and ->chunkname.
2010-02-05 00:52:21 +01:00
Mike Pall
c8d55e8506
32/64 bit memory ref cleanup, part 1: GCproto ->bc and ->k.
2010-02-05 00:07:32 +01:00
Mike Pall
4e39597ba6
Add some sanity checks for allocator in 64 bit mode.
2010-01-18 01:32:33 +01:00
Mike Pall
2cc554db0c
Avoid int16_t widening for pt->uv elements.
2010-01-09 22:41:08 +01:00
Mike Pall
a33204ae5e
Fix 32/64 bit portability issue with upval->v.
2010-01-09 21:11:35 +01:00
Mike Pall
4d9be5b8f8
Bump all copyright dates to 2010.
2010-01-09 14:28:11 +01:00
Mike Pall
24429ed1f5
Fix alloc/free sizes of internal GCRef arrays.
2009-12-29 04:36:35 +01:00
Mike Pall
bc47063708
Use fastcall for remaining 1-arg/2-arg calls from interpreter.
...
Simplifies conversion to x64 calling conventions.
2009-12-27 17:42:41 +01:00
Mike Pall
3f1f9e11f4
Fast forward to sync public repo.
...
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.
2009-12-08 20:35:29 +01:00
Mike Pall
1d1fed48a0
RELEASE LuaJIT-2.0.0-beta2
2009-12-08 19:49:20 +01:00
Mike Pall
55b1695971
RELEASE LuaJIT-2.0.0-beta1
2009-12-08 19:46:35 +01:00