Commit Graph

47 Commits (c4dfb625bad8937d72074852a977738ec3eb1ab7)

Author SHA1 Message Date
Mike Pall c4dfb625ba Bump copyright date. 2022-01-15 19:30:54 +01:00
Mike Pall f47c864b01 Bump copyright date. 2021-01-02 21:49:41 +01:00
Mike Pall 38a5ed4b43 Bump copyright date. 2020-01-20 23:26:51 +01:00
Mike Pall b93a1dd0c8 Bump copyright date to 2017. 2017-01-17 12:35:03 +01:00
Mike Pall db1b399af1 Bump copyright date to 2016. 2016-03-03 12:02:22 +01:00
Mike Pall 86913b9bbf Bump copyright date to 2015. 2015-01-05 23:59:31 +01:00
Mike Pall ef59e54820 Bump copyright date to 2014. 2014-01-16 23:10:16 +01:00
Mike Pall 4a44c4ff69 Bump copyright date to 2013. 2013-02-11 12:54:48 +01:00
Mike Pall 039bf85e26 Add more assertions for stack consistency during recording. 2012-09-12 11:02:19 +02:00
Mike Pall bf2d4acf00 Correct dispatch table modifications for return hooks. 2012-07-16 22:36:38 +02:00
Mike Pall 10ef109eef Bump copyright date to 2012. 2012-01-23 22:42:42 +01:00
Mike Pall 5bed11e6b4 MIPS: Add interpreter. Enable MIPS build rules. 2012-01-23 22:24:11 +01:00
Mike Pall bed0f18466 Remove temporary mcode limit error from application stack. 2011-08-09 00:45:26 +02:00
Mike Pall 82eca898db Prefer recording loops over calls.
Hotcounts are decremented by 2 for loops and by 1 for calls.
2011-06-29 01:52:23 +02:00
Mike Pall b6a7fc5330 Cleanup prototype flags. 2011-06-09 13:54:40 +02:00
Mike Pall 585cf05dbd Move debugging/introspection functionality to lj_debug.c. 2011-06-07 21:37:24 +02:00
Mike Pall 67d3ac9b19 Fix some portability issues with the JIT compiler. 2011-05-09 20:46:58 +02:00
Mike Pall 77ba7726e2 FFI: Save errno/GetLastError() around allocations, hooks etc. 2011-05-08 22:33:04 +02:00
Mike Pall 03946ac978 DUALNUM: Add integer type to core VM. 2011-02-17 00:44:14 +01:00
Mike Pall 06f99fc3df Bump copyright date to 2011. 2011-01-09 17:12:53 +01:00
Mike Pall d0b283e596 Avoid stack resizes while recording calls to vararg functions.
FUNCV might have been recorded twice (with ill effects).
2010-12-08 19:11:58 +01:00
Mike Pall 8a87395d8d PPC: Add support for shifted MULTRES. 2010-09-13 21:50:27 +02:00
Mike Pall c2c08ba9b3 Record calls to vararg functions.
This loop is now roughly 1000x faster than the Lua interpreter:
  local function f(a,b,...) end; for i=1,2e8 do f(1,2,i) end
Yet another silly microbenchmark -- I know.
2010-09-12 01:44:13 +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 44de7eb48c Keep framesize in RA of FUNCC/FUNCCW instructions, too 2010-08-06 19:43:55 +02:00
Mike Pall 721b73fecb Turn traces into true GC objects (GCtrace). 2010-04-25 03:32:29 +02:00
Mike Pall 4f19a15bd9 Fix potential hang in UCLO redirection handling in hooks. 2010-03-10 22:13:23 +01:00
Mike Pall e7b737aa12 Implement down-recursion. 2010-03-01 06:45:30 +01:00
Mike Pall 59f54be9d3 Update trace recorder infrastructure for hot calls. 2010-02-18 06:07:31 +01:00
Mike Pall 8060f5b531 Just disable JIT compiler for non-SSE2 CPUs instead of aborting. 2010-02-16 23:39:24 +01:00
Mike Pall c225ee8db4 Split CALL/FUNC recording.
Record __call resolving and specialization for CALL* bytecodes.
Record argument adjustment and fast functions for FUNC* bytecodes.
Avoids all pending/immediate decisions for chained fast functions.
Cleaner semantics for pcall(), xpcall() and __tostring metamethod.
Prerequisite to drop the shadow frame link stack again.
2010-02-16 04:04:16 +01:00
Mike Pall e1905f498a Use a different marker for hot calls. 2010-02-15 18:04:06 +01:00
Mike Pall b838cd8dca Minor cleanup of trace event handling. 2010-02-15 16:41:52 +01:00
Mike Pall 2a2f8ed6a1 Implement return hooks for Lua functions (zero-cost if disabled). 2010-02-14 20:48:33 +01:00
Mike Pall 8e38231f9e Implement call hooks (zero-cost if disabled). 2010-02-14 17:47:03 +01:00
Mike Pall c93138b59e Major redesign of function call handling.
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.
2010-02-13 04:51:56 +01:00
Mike Pall b2067236c5 Move dispatch tables out of GG_State struct. 2010-02-11 16:21:18 +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 c4dadf1d67 Move bytecode offsets from lj_vm.* to generated header. 2010-02-05 20:15:01 +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 c8d55e8506 32/64 bit memory ref cleanup, part 1: GCproto ->bc and ->k. 2010-02-05 00:07:32 +01:00
Mike Pall 5d2690c608 Reset the hotcount table after a JIT off to on transition. 2010-02-04 20:40:00 +01:00
Mike Pall 4d9be5b8f8 Bump all copyright dates to 2010. 2010-01-09 14:28:11 +01:00
Mike Pall 9de0f53a8d Implement yield from C hooks.
Get number of multiple results from C frame.
Add lj_cont_hook: restores multres and dispatch to static ins.
Can use fastcall for lj_dispatch_ins() now.
2009-12-30 02:37:57 +01:00
Mike Pall 8a9cfa4b45 Define CFRAME structure for x64 interpreter. 2009-12-28 23:45:32 +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