Commit Graph

74 Commits

Author SHA1 Message Date
Mike Pall
78f5e2ffd3 Fix unroll limit checks and frame depth adjustment for pcall. 2010-02-03 16:48:25 +01:00
Mike Pall
318e86c7eb Clean up frame depth checks and loop detection. 2010-02-03 14:55:56 +01:00
Mike Pall
305ecbbb84 Another loop formation test must check for return to lower frame. 2010-02-03 14:31:42 +01:00
Mike Pall
96e8a56260 Loop formation test must check for return to lower frame. 2010-01-29 15:07:40 +01:00
Mike Pall
8681b7330f Compile return to lower frame. Only for Lua frames right now. 2010-01-29 03:32:37 +01:00
Mike Pall
272b2f7368 Followup fix: set maxslot for continuation return. 2010-01-28 04:29:15 +01:00
Mike Pall
2ed0bb7f1e Drop obsolete frame shrinking after continuation return. 2010-01-28 04:20:20 +01:00
Mike Pall
a6565d21fa Fix recording of metamethod result adjustment. 2010-01-28 04:02:32 +01:00
Mike Pall
3aeb892262 Eliminate IR_FRAME. Replace with KGC and TRef/SnapEntry flags. 2010-01-27 03:50:29 +01:00
Mike Pall
d216cdb2b9 Add frame and continuation flags to TRef and SnapEntry. 2010-01-27 02:17:56 +01:00
Mike Pall
05d67cf566 Add missing check for return to lower frame. 2010-01-27 01:57:15 +01:00
Mike Pall
67ca399a30 Compress snapshots using a simple, extensible 1D-compression.
Typically reduces storage overhead for snapshot maps by 60%.
The extensible format is a prerequisite for the next redesign steps:
Eliminate IR_FRAME and implement return-to-lower-frame.
2010-01-26 21:49:04 +01:00
Mike Pall
34d84f8836 Fill gaps in frames (caused by metamethod calls) with nil.
Simplifies storing snapshots to stack.
2010-01-26 00:45:30 +01:00
Mike Pall
47f1bc80d8 Use dedicated type for snapshot map entry.
Preparatory work for compressed snapshots.
2010-01-25 19:51:52 +01:00
Mike Pall
a61df8efbe Decouple guard vs. INT check vs. TYPECHECK semantics for SLOAD. 2010-01-19 16:58:26 +01:00
Mike Pall
3100026b86 Error for blacklisted loop bytecodes has no info argument. 2010-01-16 02:04:12 +01:00
Mike Pall
99d153bef9 Improve alias analysis of upvalues using a disambiguation hash value.
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.
2010-01-09 23:59:43 +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
374f534715 Logical 'not' must be sign-extended for address operands. 2009-12-29 01:38:26 +01:00
Mike Pall
6adab430af Adapt primary inbound calls in x64 interpreter.
Change argument order for lj_vm_cpcall() to simplify x64 interpreter.
2009-12-17 22:08:20 +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