Commit Graph

166 Commits

Author SHA1 Message Date
Mike Pall
2f6b2967c7 Add proper DynASM dependency. 2016-01-18 16:57:30 +01:00
Mike Pall
3ad77346df Merge branch 'master' into v2.1 2015-10-24 19:30:55 +02:00
Mike Pall
f416cf6a64 OSX: Switch to Clang as the default compiler. 2015-10-24 19:10:40 +02:00
Mike Pall
fb19df9fd7 Merge branch 'master' into v2.1 2015-06-09 22:09:11 +02:00
Mike Pall
72347895ed x64: Allow building without external unwinder.
Required for PS4 SDK 2.5. Thanks to James Park.
2015-06-09 22:08:40 +02:00
Mike Pall
69e5342eb8 RELEASE LuaJIT-2.0.4 2015-05-14 20:29:31 +02:00
Mike Pall
dec4acca9a PPC: Fix cross-endian builds. 2015-04-12 01:23:01 +02:00
Mike Pall
361827c8f9 PPC64: Add build infrastructure. 2015-03-06 03:47:45 +01:00
Mike Pall
ce1a5ee535 iOS/ARM64: The frame pointer is required. 2015-01-07 20:59:37 +01:00
Mike Pall
0a5045c34e Merge branch 'master' into v2.1 2015-01-06 00:12:45 +01:00
Mike Pall
86913b9bbf Bump copyright date to 2015. 2015-01-05 23:59:31 +01:00
Mike Pall
dfe84fd8c5 PPC/e500: Drop support for this architecture. 2015-01-04 23:01:16 +01:00
Mike Pall
f307d0adaf ARM64: Add build infrastructure and initial port of interpreter. 2015-01-03 15:28:33 +01:00
Mike Pall
9679a949ff Disable debug info for generated *.S to avoid confusing gdb. 2014-12-16 02:32:53 +01:00
Mike Pall
cca81a3fe7 Merge branch 'master' into v2.1 2014-12-08 02:10:10 +01:00
Mike Pall
6fddb9bc2e Avoid error messages when building with Clang. 2014-12-08 02:07:05 +01:00
Mike Pall
e03df1e339 x86/x64: Call external symbols directly from interpreter code.
Except for ELF/x86 PIC, where it's easier to use wrappers.
2014-12-08 01:58:05 +01:00
Mike Pall
c8d1aff0ba Merge branch 'master' into v2.1 2014-04-22 11:29:05 +02:00
Mike Pall
f3374b5266 x64: Allow building with LUAJIT_USE_SYSMALLOC and LUAJIT_USE_VALGRIND.
Valgrind 3.9 killed MAP_32BIT support. Ugh. So now we have to rely on
undocumented behavior where Valgrind always allocates from the bottom
of memory. Alas, such a binary won't run properly without Valgrind.
2014-04-21 22:26:46 +02:00
Mike Pall
880ca300e8 RELEASE LuaJIT-2.0.3 2014-03-12 13:24:07 +01:00
Mike Pall
bcd27038fc Merge branch 'master' into v2.1 2014-01-20 16:59:04 +01:00
Mike Pall
92475419e5 Fix OSX build issue. 2014-01-20 16:56:37 +01:00
Mike Pall
a9d4543601 Merge branch 'master' into v2.1 2014-01-16 23:18:34 +01:00
Mike Pall
ef59e54820 Bump copyright date to 2014. 2014-01-16 23:10:16 +01:00
Mike Pall
483f823ea4 Low-overhead profiler, part 7: console ports. 2013-09-10 01:25:33 +02:00
Mike Pall
4dce22c40d Add low-overhead profiler. Part 1: interpreter, low-level C API. 2013-09-02 01:49:19 +02:00
Mike Pall
146807b7e8 Merge branch 'master' into v2.1 2013-07-09 17:30:36 +02:00
Mike Pall
519ef0cba7 Add support for multilib distro builds. 2013-07-09 17:30:02 +02:00
Mike Pall
1fa97bef1f Merge branch 'master' into v2.1 2013-06-03 21:21:45 +02:00
Mike Pall
21af151af2 RELEASE LuaJIT-2.0.2 2013-06-03 21:16:17 +02:00
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
5bb1f0edac Refactor string.format(). 2013-05-12 23:13:27 +02:00
Mike Pall
28cfcf7744 String buffer refactoring, part 1.
Move string buffer handling to lj_buf.*.
Use common buffer resizing function.
2013-02-27 17:29:35 +01:00
Mike Pall
fdc0ce8deb Don't modify generated libbc header if unchanged. 2013-02-22 12:29:54 +01:00
Mike Pall
e20157c6e6 Add support for embedding LuaJIT bytecode for builtins. 2013-02-22 01:40:41 +01:00
Mike Pall
57768cd588 x86: Remove x87 support from interpreter.
SSE2 required from now on.
2013-02-21 16:56:59 +01:00
Mike Pall
0d62e2e1ab Clarify comments in Makefile on -DLUAJIT_ENABLE_LUA52COMPAT. 2012-10-04 13:55:34 +02:00
Mike Pall
3dceaa9a74 Move load/dump functions to lj_load.c. Add load modes. 2012-09-21 16:32:24 +02:00
Mike Pall
dad6645098 Remove old Makefile rules. 2012-08-26 11:58:58 +02:00
Mike Pall
4c882fe714 Replace strtod() with builtin string to number conversion. 2012-08-25 23:02:29 +02:00
Mike Pall
e84c2a9e9a Handle cross-compiles with FPU/no-FPU or hard-fp/soft-fp ABI mismatch. 2012-07-29 12:22:18 +02:00
Mike Pall
c00ffcb870 Change DynASM bit operations to use Lua BitOp. 2012-07-08 16:27:18 +02:00
Mike Pall
0af3f47ba0 Add allocation sinking and store sinking optimization. 2012-07-02 23:47:12 +02:00
Mike Pall
2f844fc87b Fix build issues on Cygwin and MinGW with optional MSys. 2012-06-22 11:36:58 +02:00
Mike Pall
ca6bf2d9a4 CONSOLE: Handle P64, GPR64, TOC* and PPE (PS3) in PPC interpreter.
PS3 build command: make HOST_CC="gcc -m32" CROSS=ppu-lv2-
2012-06-13 02:32:24 +02:00
Mike Pall
0528bb7d02 x64: Fix DynASM defines. 2012-06-12 03:50:22 +02:00
Mike Pall
b1c2a45464 OSX: Change dylib names to be consistent with other platforms. 2012-06-11 18:49:40 +02:00
Mike Pall
02acb39b10 ARM: Cleanup interpreter.
Use DynASM defines instead of C defines.
2012-06-11 00:49:47 +02:00
Mike Pall
58ec704f78 x86/x64: Clean up interpreter.
Use DynASM defines instead of C defines.
Remove support for ancient CPUs without CMOV (before Pentium Pro).
2012-06-10 16:50:46 +02:00
Mike Pall
e496a502b0 Pass various build, arch and OS flags to DynASM. 2012-06-10 16:41:00 +02:00
Mike Pall
b8f5727ab4 CONSOLE: Fix PS3 build. 2012-06-10 02:01:25 +02:00
Mike Pall
9a9509c66a Reorganize build process.
Drop pre-translated buildvm_*.h.
Rename buildvm_*.dasc to vm_*.dasc.
Move buildvm* to host directory.
Build minilua, unless HOST_LUA is set.
Use HOST_LUA to run DynASM.
Translate only vm_*.dasc for target architecture.
2012-06-09 15:12:44 +02:00
Mike Pall
cccf763898 Move lib/* to src/jit/*. 2012-06-08 21:14:33 +02:00
Mike Pall
9ab2ae8d46 Split-off large-file support flags to TARGET_LFSFLAGS. 2012-06-05 00:12:43 +02:00
Mike Pall
e099059afd Add more comparison variants to Valgrind suppressions file. 2012-04-26 23:47:00 +02:00
Mike Pall
67773165e8 Fix OSX build issues. Bump minimum required OSX version to 10.4
Only set MACOSX_DEPLOYMENT_TARGET to 10.4 if not set.
Always force -fno-stack-protector.
2012-03-28 10:19:23 +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
b330b468b3 MIPS: Add build rules (non-functional, yet). 2011-12-15 20:39:30 +01:00
Mike Pall
b61be299c9 Auto-detect target arch via cross-compiler. Drop TARGET=arch. 2011-12-15 19:16:06 +01:00
Mike Pall
71d00a56db FFI: Add callback support (for x86/x64). 2011-11-14 14:18:25 +01:00
Mike Pall
fa9ade356b Allow selection of single-number vs. dual-number mode in Makefile. 2011-10-24 16:35:17 +02:00
Mike Pall
89201f2e66 Fix install_name and versioning on OSX. 2011-07-03 17:58:26 +02:00
Mike Pall
0239a56d37 PPC: Add build rules for PPC interpreter (non-functional, yet). 2011-07-03 15:19:34 +02:00
Mike Pall
161f1a5eb0 PPC: Separate PPC vs. PPCSPE interpreter source files. 2011-07-03 15:01:50 +02:00
Mike Pall
29e89adfa7 RELEASE LuaJIT-2.0.0-beta8 (fixed) 2011-06-23 19:40:21 +02:00
Mike Pall
9b0c641ac1 RELEASE LuaJIT-2.0.0-beta8 2011-06-23 17:15:02 +02:00
Mike Pall
3d1563524f More fixes for the Solaris/x86 build. Thanks to Will Metcalf. 2011-06-14 16:44:20 +02:00
Mike Pall
4994fcc32c Add support for bytecode loading/saving. 2011-06-13 01:04:11 +02:00
Mike Pall
585cf05dbd Move debugging/introspection functionality to lj_debug.c. 2011-06-07 21:37:24 +02:00
Mike Pall
eec28aa9fd Move math helpers to lj_vmmath.c. Add missing log2/exp2 for Symbian. 2011-06-03 17:15:44 +02:00
Mike Pall
58f38c254b Move x86/x64 parts of JIT assembler backend to extra files. 2011-05-12 01:35:09 +02:00
Mike Pall
b4cfaa62ac Improve target OS selection for buildvm. 2011-04-29 09:23:00 +02:00
Mike Pall
0ba34ffe50 ARM: Fix ABI and build issues for iOS. Now works on iOS 3.0+. 2011-04-28 19:41:34 +02:00
Mike Pall
38a842a474 Add common TARGET_FLAGS option to Makefile. 2011-04-17 12:48:01 +02:00
Mike Pall
54994ef7be ARM: Enable ARM port. 2011-04-17 02:36:10 +02:00
Mike Pall
1a56dacbcf ARM: Add build rules (still disabled). 2011-04-07 16:08:34 +02:00
Mike Pall
b613216efc Add SPLIT pass to split 64 bit IR instructions for 32 bit CPUs.
Add generic HIOP instruction for extra backend functionality.
Add support for HIOP to x86 backend.
Use POWI for 64 bit integer x^k, too.
POWI is lowered to a call by SPLIT or the x64 backend.
2011-02-02 02:29:37 +01:00
Mike Pall
3184f17169 FFI: Move code for cdata arithmetic to lj_carith.c. 2011-01-26 21:46:02 +01:00
Mike Pall
ed6c895ae5 ARM: Add ARM target architecture selection (disabled). 2011-01-25 18:50:24 +01:00
Mike Pall
ddf6596333 FFI: Add ffi.load() and ffi.C default namespace. 2011-01-10 03:43:18 +01:00
Mike Pall
06f99fc3df Bump copyright date to 2011. 2011-01-09 17:12:53 +01:00
Mike Pall
fb0a18ca0b FFI: Add support for calling C functions. 2011-01-06 23:30:04 +01:00
Mike Pall
d778680098 FFI: Record cdata index operations (preliminary, lots of NYI cases). 2010-12-08 02:11:18 +01:00
Mike Pall
e7f8cc964e Split off fast function recording to lj_ffrecord.c. 2010-12-05 17:12:34 +01:00
Mike Pall
7cb250c4b4 FFI: Add ffi.* library. 2010-12-05 00:52:17 +01:00
Mike Pall
233076d3f9 FFI: Add C declaration parser. 2010-12-05 00:20:59 +01:00
Mike Pall
526e087e63 FFI: Add C data handling and C type conversions. 2010-12-05 00:18:07 +01:00
Mike Pall
05973ee440 FFI: Add C type management. 2010-12-05 00:11:35 +01:00
Mike Pall
0ffd06aba8 FFI: Add define to disable the FFI library. 2010-11-30 21:56:57 +01:00
Mike Pall
cd1901370d Rearrange src/Makefile. Split features and debugging support. 2010-11-30 16:19:20 +01:00
Mike Pall
57cd5026eb Disable Lua 5.2 features by default. See -DLUAJIT_ENABLE_LUA52COMPAT. 2010-11-19 17:00:11 +01:00
Mike Pall
24baf77955 Cleanup architecture, ABI and OS definitions. 2010-11-16 15:03:40 +01:00
Mike Pall
ad29c1f39f Rename character type handling from lj_ctype* to lj_char*. 2010-11-09 12:09:54 +01:00
Mike Pall
ddae887878 Update docs for PPC port. Clarify and extend install instructions. 2010-10-05 01:36:54 +02:00
Mike Pall
5beedd6ef8 Workaround for missing fseeko/ftello prototypes on ancient glibc. 2010-09-23 01:30:53 +02:00
Mike Pall
9cb5046c3f PPC: Add stack frame layout for PPCSPE target.
PPCSPE target compiles now, but will trap for any NYI parts.
Cross-compilation instructions:
  make HOST_CC="gcc -m32" CROSS=powerpc-e500v2-linux-gnuspe- TARGET=ppcspe
2010-08-27 18:32:24 +02:00
Mike Pall
b3bd9b55e0 Improve target architecture detection in src/Makefile. 2010-08-27 18:17:29 +02:00
Mike Pall
a8d23e84e6 PPC: Add build rules and preprocessed skeleton for PPCSPE target. 2010-08-27 17:28:07 +02:00