Mike Pall
ff0a1f3f4e
FOLD x / 2^k ==> x * 2^-k.
2012-08-15 16:17:34 +02:00
Mike Pall
5e18c91b89
x86: Simplify error message for CPUs lacking CMOV.
2012-08-14 13:19:45 +02:00
Mike Pall
1a3e5e1521
FFI: Don't keep CType * across call. Callback may reallocate table.
2012-08-12 01:16:49 +02:00
Mike Pall
ece23a4788
Do not use DWARF unwinder on Windows.
2012-08-11 05:41:09 +02:00
Mike Pall
85a02f9ae8
ARM: Enable VFP and hard-float ABI support.
2012-08-09 13:13:39 +02:00
Mike Pall
4dc9e22def
ARM: Add VFP and hard-float ABI variants to JIT compiler.
2012-08-09 13:13:11 +02:00
Mike Pall
e6fac91d01
Never compile DWARF unwinder on Windows.
2012-08-09 13:09:47 +02:00
Mike Pall
2717623e3a
FFI: Compile ffi.typeof(cdata).
...
Thanks to Robert G. Jakabosky.
2012-08-08 21:01:36 +02:00
Mike Pall
e2373c1538
FFI: Compile assignments from enums.
...
Thanks to Robert G. Jakabosky.
2012-08-08 20:36:31 +02:00
Mike Pall
5e227865bc
Add missing change for last commit.
2012-08-05 19:13:35 +02:00
Mike Pall
806822b70b
FFI: Improve error message for bad indexing attempts.
2012-08-05 17:26:01 +02:00
Mike Pall
0a750fe715
FFI: Initialize all fields of standard types.
2012-08-05 09:33:15 +02:00
Mike Pall
77183e75f2
FFI: Fix alignment of C call structure.
2012-08-02 15:13:28 +02:00
Mike Pall
4b0af611d0
ARM: Add hard-float ABI support to the FFI (interpreter).
2012-07-30 19:00:52 +02:00
Mike Pall
a373fddbd3
ARM: Add VFP and hard-float ABI variants to interpreter.
2012-07-30 18:59:13 +02:00
Mike Pall
23abbd9ef3
Only replay sunk stores up to the snapshot reference.
2012-07-29 21:37:45 +02:00
Mike Pall
85f29ffd40
Need to handle TBAR in SINK pass.
...
Can only happen with -O-dse.
2012-07-29 21:37:31 +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
b98c1582c9
ARM: Add VFP instructions to ARM disassembler.
2012-07-29 12:17:13 +02:00
Mike Pall
e8af6e9da4
Don't treat all constified cdata content as constant.
2012-07-24 14:56:29 +02:00
Mike Pall
3636a720a5
Turn loads from immutable upvalues into constants.
2012-07-20 18:54:52 +02:00
Mike Pall
834ff6d36d
Fix slot flags in snapshot replay.
2012-07-20 18:52:29 +02:00
Mike Pall
f1b4fa844b
Fix restore of sunk CNEWI with implicit P32 to P64 conversion.
2012-07-18 18:02:32 +02:00
Mike Pall
4d9c29a78c
FFI: Box all accessed or returned enums.
2012-07-17 22:22:07 +02:00
Mike Pall
2139c6791f
Fix FOLD rule (i-j)-i => 0-j.
...
Thanks to Thomas Schilling.
2012-07-17 21:47:45 +02:00
Mike Pall
c172e7aa30
Workaround for MSVC conversion bug (double -> uint32_t -> int32_t).
2012-07-17 21:45:49 +02:00
Mike Pall
08d8ec0648
x86/x64: Fix fusion of unsigned byte comparisons with swapped ops.
2012-07-16 23:43:03 +02:00
Mike Pall
e44cb53874
ARM: Invoke SPLIT pass for leftover IR_TOBIT.
...
Can only happen with -O-fold for TOBIT(constant).
2012-07-16 23:39:49 +02:00
Mike Pall
63bb052bbe
From Lua 5.2: Add -E command line option (ignore env vars).
2012-07-16 22:47:01 +02:00
Mike Pall
bf2d4acf00
Correct dispatch table modifications for return hooks.
2012-07-16 22:36:38 +02:00
Mike Pall
0e2f5be140
FFI: Show address pointed to for tostring(ref), too.
2012-07-12 14:19:27 +02:00
Mike Pall
53e28d7678
Limit number of parent links handled by backend.
2012-07-11 16:48:52 +02:00
Mike Pall
24fa85760c
Use an explicit flag to signal SINK tags for a trace.
2012-07-11 16:45:15 +02:00
Mike Pall
79ecb231ce
Don't allocate constants for sunk stores.
2012-07-09 16:22:08 +02:00
Mike Pall
f20ff8a30d
Avoid compiler warnings about redefined C++ keywords.
2012-07-09 16:02:05 +02:00
Mike Pall
6e4d0fdc8e
Add missing declarations for MSVC intrinsics.
2012-07-09 15:54:25 +02:00
Mike Pall
b23a7830d2
Clean up ARM capability flags. Only set highest arch version.
2012-07-08 22:20:11 +02:00
Mike Pall
c00ffcb870
Change DynASM bit operations to use Lua BitOp.
2012-07-08 16:27:18 +02:00
Mike Pall
e3dec0438d
Add Lua BitOp to minilua.
2012-07-08 16:24:53 +02:00
Mike Pall
6a67fa8a4b
Finally fix target detection for msvcbuild.bat.
...
Famous last words.
2012-07-07 20:36:35 +02:00
Mike Pall
7c056488d9
Drop range limit for sunk stores relative to sunk allocation.
2012-07-04 21:16:06 +02:00
Mike Pall
bd782cedd5
Bump some limits to accomodate SINK pass.
2012-07-04 21:15:15 +02:00
Mike Pall
c22d698e17
Add stricter check for sinking PHIs.
2012-07-04 11:41:58 +02:00
Mike Pall
4da7ffc34b
Remove unneeded snapshot preps for sunk stores.
2012-07-03 23:19:45 +02:00
Mike Pall
d5b9d84538
Fix NEWREF marking in SINK pass.
2012-07-03 16:45:13 +02:00
Mike Pall
80d0acc7c1
Fix compiler warnings.
2012-07-03 13:22:30 +02:00
Mike Pall
17d3fc47f3
Avoid pesky compiler warnings about C++ keywords (eh?).
2012-07-03 13:19:32 +02:00
Mike Pall
c740a30223
Invoke SPLIT pass in side trace for rejoined sunk stores.
2012-07-03 12:41:21 +02:00
Mike Pall
2df19049ef
Avoid strict aliasing issues.
2012-07-03 00:03:01 +02:00
Mike Pall
0af3f47ba0
Add allocation sinking and store sinking optimization.
2012-07-02 23:47:12 +02:00
Mike Pall
79e1eaa73b
ARM: Simplify two-step constant rematerialization.
2012-07-02 22:57:51 +02:00
Mike Pall
afeb4e2c51
Handle initial snapshot for side traces in lj_snap.c only.
2012-07-02 22:52:15 +02:00
Mike Pall
f093a34a2f
Handle joining IR_HIOP in SPLIT pass.
2012-07-02 22:50:03 +02:00
Mike Pall
0688de5483
Add IR_PVAL instruction for non-slot parent links.
2012-07-02 22:47:20 +02:00
Mike Pall
5d0115ef8d
Add explicit IR_GCSTEP instruction.
2012-07-02 22:42:40 +02:00
Mike Pall
264177b0d0
Use HIOP for XSTORE in SPLIT pass.
2012-07-02 22:37:00 +02:00
Mike Pall
7ae3832f20
Move snapshot replay for side traces to lj_snap.c.
2012-07-02 13:37:55 +02:00
Mike Pall
cda3630565
Clean up RegSP handling for parent link instructions.
2012-07-01 22:44:54 +02:00
Mike Pall
89f8c920c6
Expand array slots in template tables with mixed const/var initializers.
2012-06-30 20:58:19 +02:00
Mike Pall
eacecc90e1
Clean up snapshot restore.
2012-06-30 20:45:59 +02:00
Mike Pall
dd9e7a4608
Fix cdecl string parsing during recording.
2012-06-28 20:17:08 +02:00
Mike Pall
a6458ce4de
Make os.date() thread-safe.
2012-06-28 15:47:16 +02:00
Mike Pall
a751c8a5b5
Fix buffer check in bytecode writer.
2012-06-28 15:13:26 +02:00
Mike Pall
a9bf455b96
Add HREFK forwarding. Eliminate HREFK guard for TDUP refs.
2012-06-28 15:10:52 +02:00
Mike Pall
0d1056eeed
Create string hash slots in template tables even for non-const values.
2012-06-27 22:45:54 +02:00
Mike Pall
ceb76d26b5
Another attempt at proper target detection for msvcbuild.bat.
2012-06-27 20:53:08 +02:00
Mike Pall
9a98ba64b4
Fix TDUP to HLOAD forwarding for DUALNUM builds.
2012-06-27 19:54:52 +02:00
Mike Pall
3dc7baf6af
PPC: Fix PPC32 build.
2012-06-27 19:41:56 +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
8b71ab1080
FFI: Check for __new metamethod when calling a constructor.
2012-06-20 18:28:25 +02:00
Mike Pall
e9e45313e7
FFI: Do not resolve strings passed to parameterized types.
2012-06-20 15:45:23 +02:00
Mike Pall
6cee1333ef
FFI: Resolve metamethods for constructors, too.
2012-06-20 15:16:40 +02:00
Mike Pall
126f9906fe
FFI: Improve error messages for ctype arguments.
2012-06-20 15:06:28 +02:00
Mike Pall
946c7418d5
FFI: Add support for parameterized C types.
2012-06-14 19:54:07 +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
4f9db0fbc3
Clean up buildvm error message.
2012-06-13 01:54:15 +02:00
Mike Pall
80ff9d69a3
Allow parsing bcsave.lua (-b option) without FFI.
2012-06-12 21:25:19 +02:00
Mike Pall
0b3d8375f7
PPC: Remove lj_vm_floor/ceil/trunc assembler wrappers.
2012-06-12 17:26:55 +02:00
Mike Pall
c2159f8624
ARM/PPC: Remove assembler code for lj_vm_foldarith().
2012-06-12 17:25:52 +02:00
Mike Pall
46dc6d347c
PPC: Fix disassembly of rldcl/rldcr.
2012-06-12 16:48:24 +02:00
Mike Pall
0528bb7d02
x64: Fix DynASM defines.
2012-06-12 03:50:22 +02:00
Mike Pall
e08914988c
Improved target detection for msvcbuild.bat.
2012-06-12 01:47:16 +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
b51d7fb310
MIPS: Cleanup interpreter.
...
Use DynASM defines instead of C defines.
2012-06-11 00:51:21 +02:00
Mike Pall
3f1035a170
PPC/e500: Cleanup interpreter.
...
Use DynASM defines instead of C defines.
2012-06-11 00:51:59 +02:00
Mike Pall
7da4d16faa
PPC: Cleanup interpreter.
...
Use DynASM defines instead of C defines.
2012-06-11 00:50:22 +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
c99439b3be
x86/x64: More interpreter cleanups.
2012-06-11 00:49:24 +02:00
Mike Pall
c0aaf271c8
PPC: Fix interpreter state setup in callbacks.
2012-06-11 00:44:54 +02:00
Mike Pall
58622937c0
Fix userdata __gc separations at state close.
2012-06-10 23:40:53 +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
d5a915ccf5
CONSOLE: Minor PS3 build fixes.
2012-06-10 16:34:18 +02:00
Mike Pall
b8f5727ab4
CONSOLE: Fix PS3 build.
2012-06-10 02:01:25 +02:00
Mike Pall
37be8a5478
CONSOLE: Handle unimplemented features for console toolchains.
2012-06-09 20:54:34 +02:00
Mike Pall
9f443e8b89
ARM/PPC: Detect more target arch variants. Detect console OS.
2012-06-09 20:53:22 +02:00
Mike Pall
9d7bd04fae
Avoid potential store-forwarding stalls in GC marking.
2012-06-09 20:30:27 +02:00
Mike Pall
1c8ed534b3
Fix check for minimum GCC version.
2012-06-09 17:29:54 +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
0a6c8338d2
Add minified Lua interpreter (minilua). Used by the build process.
2012-06-09 15:03:40 +02:00