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
Mike Pall
33ef1fa524
Untangle some target dependencies.
2010-08-03 22:09:12 +02:00
Mike Pall
6769397d38
Rebase dynamic library on OSX/x64.
2010-03-07 15:04:42 +01:00
Mike Pall
f76e5a311b
Allocate 32 bit memory on OSX/x64 with mmap() hinting.
...
Must set -pagezero_size, otherwise the lower 4GB are blocked.
2010-03-04 16:27:42 +01:00
Mike Pall
3d2abf3148
Build as a native 32 or 64 bit binary by default.
2010-03-04 16:23:28 +01:00
Mike Pall
2e22d33d9d
Enable JIT compiler for x64.
...
Only works on Linux/x64 and Windows/x64 right now.
Force an x64 build on Linux/x64 with: make CC="gcc -m64"
NYI: handle on-trace OOM errors.
NYI: improve register allocation for x64.
2010-02-28 21:51:01 +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
c4dadf1d67
Move bytecode offsets from lj_vm.* to generated header.
2010-02-05 20:15:01 +01:00
Mike Pall
43f1e13470
Integrate MinGW build with DWARF2 exception handling.
...
Only works with DWARF2-enabled GCC 4.x (not the default MinGW GCC).
Fix fastcall symbol names for COFF assembler output.
Add DWARF2 unwind info to COFF assembler output.
Use COFF assembler mode for MinGW builds.
Always enable the DWARF2 handler if compiled with GCC.
2010-01-22 01:56:49 +01:00
Mike Pall
82417ee889
Add build infrastructure for x64 interpreter.
...
Must be explicitly enabled with: make clean && make "CC=gcc -m64"
Only works on Linux/x64. Does not work on WIN64 or OSX/x64 (yet).
2010-01-14 12:28:16 +01:00
Mike Pall
4d9be5b8f8
Bump all copyright dates to 2010.
2010-01-09 14:28:11 +01:00