summaryrefslogtreecommitdiff
path: root/src/lj_parse.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Bump copyright date to 2014.Mike Pall2014-01-161-1/+1
|
* Fix line number for relocated bytecode after closure fixup.Mike Pall2013-10-151-1/+3
|
* Bump copyright date to 2013.Mike Pall2013-02-111-1/+1
|
* Keep line number for KPRI to KNIL optimization.Mike Pall2013-01-311-2/+2
|
* Fix discharge order of comparisons in Lua parser.Mike Pall2013-01-111-0/+1
|
* Add missing GC steps for template table creation.Mike Pall2012-11-161-0/+1
|
* Don't create unneeded array part for template tables.Mike Pall2012-11-061-1/+1
|
* Fix detection of immutable upvalues.Mike Pall2012-10-211-59/+64
|
* Fix scope for resolving break labels.Mike Pall2012-10-031-4/+5
|
* From Lua 5.2: Remove error for ambiguous function call syntax.Mike Pall2012-09-281-0/+2
| | | | Needs -DLUAJIT_ENABLE_LUA52COMPAT.
* From Lua 5.2: 'break' allowed anywhere.Mike Pall2012-09-191-1/+1
| | | | Needs -DLUAJIT_ENABLE_LUA52COMPAT.
* From Lua 5.2: Add goto and ::label:: statements.Mike Pall2012-09-161-167/+350
|
* Use 0/1 macro for Lua 5.2 compatibility.Mike Pall2012-09-121-1/+1
|
* Turn loads from immutable upvalues into constants.Mike Pall2012-07-201-10/+29
|
* Avoid pesky compiler warnings about C++ keywords (eh?).Mike Pall2012-07-031-1/+1
|
* Expand array slots in template tables with mixed const/var initializers.Mike Pall2012-06-301-12/+16
|
* Create string hash slots in template tables even for non-const values.Mike Pall2012-06-271-4/+23
|
* Fix bytecode JMP slot range after const + and/or optimization.Mike Pall2012-04-111-12/+15
|
* Fix discharge order of comparisons in Lua parser.Mike Pall2012-04-091-2/+3
|
* Bump copyright date to 2012.Mike Pall2012-01-231-1/+1
|
* Specialize to prototype for non-monomorphic functions.Mike Pall2011-11-201-1/+1
| | | | Solves the trace-explosion problem with closure-heavy programming.
* Cleanup prototype flags.Mike Pall2011-06-091-8/+12
|
* Flatten and compress in-memory debug info (saves ~70%).Mike Pall2011-06-091-59/+167
|
* Improve bytecode optimization of and/or operators.Mike Pall2011-05-051-8/+20
|
* DUALNUM: Handle integer type in x86/x64 interpreter and libraries.Mike Pall2011-02-271-0/+1
|
* From Lua 5.2: Empty statement. Needs -DLUAJIT_ENABLE_LUA52COMPAT.Mike Pall2011-02-201-0/+5
|
* DUALNUM: Add integer type to core VM.Mike Pall2011-02-171-33/+96
|
* Fix bytecode optimization of and/or operators.Mike Pall2011-02-081-4/+0
|
* Bump copyright date to 2011.Mike Pall2011-01-091-1/+1
|
* FFI: Parse complex and 64 bit integer literals.Mike Pall2010-12-241-8/+40
|
* Fix misnamed macro in Lua parser.Mike Pall2010-12-241-8/+8
|
* Shrink slots for 'break' statement to help data-flow analysis.Mike Pall2010-11-251-0/+4
|
* Specialize bytecode for pairs()/next() iterator. Speedup: 3.5x.Mike Pall2010-09-301-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 Pall2010-09-101-1/+1
|
* Optimize BC_VARG: use RC for numparams.Mike Pall2010-09-101-8/+7
|
* Use biased integer constant for TSETM array index.Mike Pall2010-09-091-1/+2
|
* Improve coalescing of multiple KPRI instructions to KNIL.Mike Pall2010-09-011-39/+42
|
* Fix some compiler warnings.Mike Pall2010-08-031-3/+5
|
* Use FuncState typedef in favor of struct.Mike Pall2010-08-031-1/+1
|
* Turn TValue setter macros into inline functions.Mike Pall2010-04-261-1/+1
|
* Treat the tag of a TValue as unsigned everywhere.Mike Pall2010-04-251-3/+3
|
* No longer let the GC replace dead keys with the LJ_TDEADKEY tag.Mike Pall2010-04-211-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 Pall2010-04-191-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 Pall2010-02-131-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 Pall2010-02-121-1/+1
|
* Drop bc field in GCproto since the bytecode is colocated.Mike Pall2010-02-081-1/+0
|
* Fix constructor bytecode generation for conditional values.Mike Pall2010-02-081-1/+1
|
* Redesign of prototype generation, part 5: colocation of protoype arrays.Mike Pall2010-02-081-56/+61
|
* Redesign of prototype generation, part 4: late creation of prototype.Mike Pall2010-02-081-18/+19
|
* Redesign of prototype generation, part 3: bc and lineinfo.Mike Pall2010-02-081-88/+98
| | | | | Use a growable, per-chunk bytecode instruction/line stack. Collect bc/lineinfo for prototype at the end.