Commit Graph

61 Commits

Author SHA1 Message Date
Mike Pall
2b94827e1d Merge branch 'master' into v2.1 2013-05-16 14:40:22 +02:00
Mike Pall
1a5fd521b8 Add partial support for building with MingW64 GCC 4.8-SEH.
Error handling works, C++ interoperability generally works.
C++ destructors in libs compiled with G++ cause trouble (ok with MSVC).
2013-05-15 18:48:06 +02:00
Mike Pall
19a9206caf Refactor internal string formatting. 2013-05-12 23:52:09 +02:00
Mike Pall
e20157c6e6 Add support for embedding LuaJIT bytecode for builtins. 2013-02-22 01:40:41 +01:00
Mike Pall
4a44c4ff69 Bump copyright date to 2013. 2013-02-11 12:54:48 +01:00
Mike Pall
e422ae2d9d Leave hook when resume catches error thrown from hook. 2012-12-06 14:14:11 +01:00
Mike Pall
c77a9e4c65 Don't clear frame for out-of-memory error. 2012-11-14 21:54:27 +01:00
Mike Pall
e6fac91d01 Never compile DWARF unwinder on Windows. 2012-08-09 13:09:47 +02:00
Mike Pall
f20ff8a30d Avoid compiler warnings about redefined C++ keywords. 2012-07-09 16:02:05 +02:00
Mike Pall
b8f5727ab4 CONSOLE: Fix PS3 build. 2012-06-10 02:01:25 +02:00
Mike Pall
afc17b3c1a FFI: Use correct PC in FFI metamethod error message. 2012-05-05 22:58:29 +02:00
Mike Pall
018792452e Replace unwind.h definitions with our own. 2012-03-25 21:52:07 +02:00
Mike Pall
5dbb6671a3 Fix compilation on OpenBSD.
Thanks to Laurence Tratt.
2012-03-15 12:01:13 +01:00
Mike Pall
5e113d0058 Fix argument type in error message for relative arguments. 2012-02-22 16:26:50 +01:00
Mike Pall
10ef109eef Bump copyright date to 2012. 2012-01-23 22:42:42 +01:00
Mike Pall
71d00a56db FFI: Add callback support (for x86/x64). 2011-11-14 14:18:25 +01:00
Mike Pall
e80478c44b Rearrange defines for workarounds to embedded operating systems. 2011-10-19 18:14:46 +02:00
Mike Pall
4a42933b17 Replace some _Unwind_* types. Fixes build issues on OSX 10.7. 2011-08-14 11:35:53 +02:00
Mike Pall
0af502f438 Don't use thread-safe exceptions on OSX. Complain to Apple, not me. 2011-06-29 11:27:09 +02:00
Mike Pall
999d95253a Fix forced unwinding triggered by external unwinder. 2011-06-27 21:09:01 +02:00
Mike Pall
2dd52500ab Use thread-safe exceptions for external unwinding on x64/GCC. 2011-06-27 20:14:28 +02:00
Mike Pall
db22ce2ba8 Fix iOS build. 2011-06-27 01:33:50 +02:00
Mike Pall
8c32b38ca3 Flatten and compress in-memory debug info (saves ~70%). 2011-06-09 01:27:37 +02:00
Mike Pall
585cf05dbd Move debugging/introspection functionality to lj_debug.c. 2011-06-07 21:37:24 +02:00
Mike Pall
77bb8de93d ARM: Disable C++ exception catching on Symbian. 2011-06-03 12:23:43 +02:00
Mike Pall
9e153003b4 ARM: Catch C++ exceptions in interpreter frames. 2011-06-02 01:21:32 +02:00
Mike Pall
87553d9e77 Avoid name clash with Windows MM_MAX define. 2011-05-08 22:31:03 +02:00
Mike Pall
9ea679410c Workaround to compile with Clang. Fix Clang warnings. 2011-04-19 17:12:41 +02:00
Mike Pall
642ae06916 x64: Use external unwinding for lua_yield(). 2011-03-18 23:38:05 +01:00
Mike Pall
ac3b1dcfc5 x64: Workaround for libgcc unwind bug (still present in RHEL 5.5). 2011-03-17 16:06:41 +01:00
Mike Pall
30cc4d3bba Fix handling of err_loc() within cpcall frames. 2011-03-09 22:39:17 +01:00
Mike Pall
03946ac978 DUALNUM: Add integer type to core VM. 2011-02-17 00:44:14 +01:00
Mike Pall
5fe7282d4c Fix error handling within metamethods. Special-case FFI mm. 2011-02-16 00:38:23 +01:00
Mike Pall
ed6c895ae5 ARM: Add ARM target architecture selection (disabled). 2011-01-25 18:50:24 +01:00
Mike Pall
06f99fc3df Bump copyright date to 2011. 2011-01-09 17:12:53 +01:00
Mike Pall
d98cd19bb0 Allow access to raw error messages from outside lj_err.c. 2010-12-01 12:54:32 +01:00
Mike Pall
24186e05e6 Remove metamethod frame for errors from internal metamethods. 2010-11-27 20:23:39 +01:00
Mike Pall
6290d6f5d0 Display caller location in errors from metamethods. 2010-11-26 13:20:56 +01:00
Mike Pall
24baf77955 Cleanup architecture, ABI and OS definitions. 2010-11-16 15:03:40 +01:00
Mike Pall
a47136031e PPC: Add frame unwind info for assembler part.
Add define for target-specific exception handler return register.
2010-09-28 17:50:33 +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
ef0904e80b Make metamethod names proper GC roots. 2010-04-25 18:35:47 +02:00
Mike Pall
f354b46d29 Fix tracebacks for failed coroutines. 2010-03-07 18:21:14 +01:00
Mike Pall
89c90f0955 Fix error message generation for OOM error. 2010-02-28 22:22:45 +01:00
Mike Pall
c52da1f2da Rethrow errors from trace exit handling from the right C frame. 2010-02-19 03:13:48 +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
6194b1c896 Redesign of prototype generation, part 5: colocation of protoype arrays. 2010-02-08 05:30:57 +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