Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Bump copyright date to 2014. | Mike Pall | 2014-01-16 | 1 | -1/+1 |
| | |||||
* | Fix line number for relocated bytecode after closure fixup. | Mike Pall | 2013-10-15 | 1 | -1/+3 |
| | |||||
* | Bump copyright date to 2013. | Mike Pall | 2013-02-11 | 1 | -1/+1 |
| | |||||
* | Keep line number for KPRI to KNIL optimization. | Mike Pall | 2013-01-31 | 1 | -2/+2 |
| | |||||
* | Fix discharge order of comparisons in Lua parser. | Mike Pall | 2013-01-11 | 1 | -0/+1 |
| | |||||
* | Add missing GC steps for template table creation. | Mike Pall | 2012-11-16 | 1 | -0/+1 |
| | |||||
* | Don't create unneeded array part for template tables. | Mike Pall | 2012-11-06 | 1 | -1/+1 |
| | |||||
* | Fix detection of immutable upvalues. | Mike Pall | 2012-10-21 | 1 | -59/+64 |
| | |||||
* | Fix scope for resolving break labels. | Mike Pall | 2012-10-03 | 1 | -4/+5 |
| | |||||
* | From Lua 5.2: Remove error for ambiguous function call syntax. | Mike Pall | 2012-09-28 | 1 | -0/+2 |
| | | | | Needs -DLUAJIT_ENABLE_LUA52COMPAT. | ||||
* | From Lua 5.2: 'break' allowed anywhere. | Mike Pall | 2012-09-19 | 1 | -1/+1 |
| | | | | Needs -DLUAJIT_ENABLE_LUA52COMPAT. | ||||
* | From Lua 5.2: Add goto and ::label:: statements. | Mike Pall | 2012-09-16 | 1 | -167/+350 |
| | |||||
* | Use 0/1 macro for Lua 5.2 compatibility. | Mike Pall | 2012-09-12 | 1 | -1/+1 |
| | |||||
* | Turn loads from immutable upvalues into constants. | Mike Pall | 2012-07-20 | 1 | -10/+29 |
| | |||||
* | Avoid pesky compiler warnings about C++ keywords (eh?). | Mike Pall | 2012-07-03 | 1 | -1/+1 |
| | |||||
* | Expand array slots in template tables with mixed const/var initializers. | Mike Pall | 2012-06-30 | 1 | -12/+16 |
| | |||||
* | Create string hash slots in template tables even for non-const values. | Mike Pall | 2012-06-27 | 1 | -4/+23 |
| | |||||
* | Fix bytecode JMP slot range after const + and/or optimization. | Mike Pall | 2012-04-11 | 1 | -12/+15 |
| | |||||
* | Fix discharge order of comparisons in Lua parser. | Mike Pall | 2012-04-09 | 1 | -2/+3 |
| | |||||
* | Bump copyright date to 2012. | Mike Pall | 2012-01-23 | 1 | -1/+1 |
| | |||||
* | Specialize to prototype for non-monomorphic functions. | Mike Pall | 2011-11-20 | 1 | -1/+1 |
| | | | | Solves the trace-explosion problem with closure-heavy programming. | ||||
* | Cleanup prototype flags. | Mike Pall | 2011-06-09 | 1 | -8/+12 |
| | |||||
* | Flatten and compress in-memory debug info (saves ~70%). | Mike Pall | 2011-06-09 | 1 | -59/+167 |
| | |||||
* | Improve bytecode optimization of and/or operators. | Mike Pall | 2011-05-05 | 1 | -8/+20 |
| | |||||
* | DUALNUM: Handle integer type in x86/x64 interpreter and libraries. | Mike Pall | 2011-02-27 | 1 | -0/+1 |
| | |||||
* | From Lua 5.2: Empty statement. Needs -DLUAJIT_ENABLE_LUA52COMPAT. | Mike Pall | 2011-02-20 | 1 | -0/+5 |
| | |||||
* | DUALNUM: Add integer type to core VM. | Mike Pall | 2011-02-17 | 1 | -33/+96 |
| | |||||
* | Fix bytecode optimization of and/or operators. | Mike Pall | 2011-02-08 | 1 | -4/+0 |
| | |||||
* | Bump copyright date to 2011. | Mike Pall | 2011-01-09 | 1 | -1/+1 |
| | |||||
* | FFI: Parse complex and 64 bit integer literals. | Mike Pall | 2010-12-24 | 1 | -8/+40 |
| | |||||
* | Fix misnamed macro in Lua parser. | Mike Pall | 2010-12-24 | 1 | -8/+8 |
| | |||||
* | Shrink slots for 'break' statement to help data-flow analysis. | Mike Pall | 2010-11-25 | 1 | -0/+4 |
| | |||||
* | Specialize bytecode for pairs()/next() iterator. Speedup: 3.5x. | Mike Pall | 2010-09-30 | 1 | -33/+67 |
| | | | | | | Parser predict pairs/next and emits specialized bytecode. Bytecode is descpecialized at runtime if the prediction was wrong. Store slot index in hidden control var to avoid key lookups. | ||||
* | Reduce minimum Lua frame size to 1. | Mike Pall | 2010-09-10 | 1 | -1/+1 |
| | |||||
* | Optimize BC_VARG: use RC for numparams. | Mike Pall | 2010-09-10 | 1 | -8/+7 |
| | |||||
* | Use biased integer constant for TSETM array index. | Mike Pall | 2010-09-09 | 1 | -1/+2 |
| | |||||
* | Improve coalescing of multiple KPRI instructions to KNIL. | Mike Pall | 2010-09-01 | 1 | -39/+42 |
| | |||||
* | Fix some compiler warnings. | Mike Pall | 2010-08-03 | 1 | -3/+5 |
| | |||||
* | Use FuncState typedef in favor of struct. | Mike Pall | 2010-08-03 | 1 | -1/+1 |
| | |||||
* | Turn TValue setter macros into inline functions. | Mike Pall | 2010-04-26 | 1 | -1/+1 |
| | |||||
* | Treat the tag of a TValue as unsigned everywhere. | Mike Pall | 2010-04-25 | 1 | -3/+3 |
| | |||||
* | No longer let the GC replace dead keys with the LJ_TDEADKEY tag. | Mike Pall | 2010-04-21 | 1 | -2/+4 |
| | | | | | | | | 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). | ||||
* | Replace on-trace GC frame syncing with interpreter exit. | Mike Pall | 2010-04-19 | 1 | -1/+1 |
| | | | | | | | 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. | ||||
* | Major redesign of function call handling. | Mike Pall | 2010-02-13 | 1 | -17/+21 |
| | | | | | | | | | | | 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. | ||||
* | Extend scope of local vars in debug info beyond final return. | Mike Pall | 2010-02-12 | 1 | -1/+1 |
| | |||||
* | Drop bc field in GCproto since the bytecode is colocated. | Mike Pall | 2010-02-08 | 1 | -1/+0 |
| | |||||
* | Fix constructor bytecode generation for conditional values. | Mike Pall | 2010-02-08 | 1 | -1/+1 |
| | |||||
* | Redesign of prototype generation, part 5: colocation of protoype arrays. | Mike Pall | 2010-02-08 | 1 | -56/+61 |
| | |||||
* | Redesign of prototype generation, part 4: late creation of prototype. | Mike Pall | 2010-02-08 | 1 | -18/+19 |
| | |||||
* | Redesign of prototype generation, part 3: bc and lineinfo. | Mike Pall | 2010-02-08 | 1 | -88/+98 |
| | | | | | Use a growable, per-chunk bytecode instruction/line stack. Collect bc/lineinfo for prototype at the end. |