Mike Pall
d150fbf441
Merge branch 'master' into v2.1
2016-04-03 19:13:37 +02:00
Mike Pall
1c6fd13dbd
Fix recording of select(n, ...) with off-trace varargs
...
Thanks to Peter Cawley.
2016-04-03 19:12:28 +02:00
Mike Pall
25b377942a
Merge branch 'master' into v2.1
2016-04-03 19:08:32 +02:00
Mike Pall
4ab6367b21
Cygwin: Allow cross-builds to non-Cygwin targets.
2016-04-03 19:07:19 +02:00
Mike Pall
296f0ca8d7
Windows/x64/LJ_GC64: Fix math.frexp() and math.modf() (again).
...
Thanks to Peter Cawley.
2016-03-31 04:17:21 +02:00
Mike Pall
6e623b9914
Merge branch 'master' into v2.1
2016-03-30 16:30:44 +02:00
Mike Pall
62af101524
MIPS: Fix use of ffgccheck delay slots in interpreter.
2016-03-30 16:26:27 +02:00
Mike Pall
892887e584
x86: Generate BMI2 shifts and rotates, if available.
...
Contributed by Peter Cawley.
2016-03-28 23:05:20 +02:00
Mike Pall
6801e7165c
x86: Detect BMI2 instruction support.
2016-03-28 23:04:33 +02:00
Mike Pall
c24c8e5312
x64/LJ_GC64: Fix JIT glue code in interpreter.
...
Thanks to Peter Cawley.
2016-03-28 22:31:18 +02:00
Mike Pall
d7145616ae
Merge branch 'master' into v2.1
2016-03-28 22:24:01 +02:00
Mike Pall
9531eb235b
Windows: Remove intermediate files at end of build.
2016-03-28 22:23:37 +02:00
Mike Pall
e03e5979c4
Fix compiler warnings.
2016-03-28 22:19:45 +02:00
Mike Pall
df7bb5bb72
Merge branch 'master' into v2.1
2016-03-28 22:17:41 +02:00
Mike Pall
e23fc10883
Fix display of NULL (light)userdata in -jdump.
...
Thanks to Peter Cawley.
2016-03-28 22:15:13 +02:00
Mike Pall
c7305408d1
Fix formatting of some small denormals at low precision.
...
Contributed by Peter Cawley.
2016-03-28 21:39:31 +02:00
Mike Pall
cf3e01e136
Merge branch 'master' into v2.1
2016-03-22 20:42:00 +01:00
Mike Pall
ddadbe8099
Fix compiler warnings.
...
Thanks to Demetri Obenour.
2016-03-22 20:40:41 +01:00
Mike Pall
be2559291e
ARM: Fix build problem with external frame unwinding.
2016-03-15 11:27:06 +01:00
Mike Pall
64c6da6b21
MIPS soft-float: Fix code generation for HREF.
2016-03-10 17:08:55 +01:00
Mike Pall
3e4a196777
RELEASE LuaJIT-2.1.0-beta2
2016-03-03 12:40:02 +01:00
Mike Pall
f4231949b5
Merge branch 'master' into v2.1
2016-03-03 12:11:37 +01:00
Mike Pall
db1b399af1
Bump copyright date to 2016.
2016-03-03 12:02:22 +01:00
Mike Pall
6f3eed9fd8
Fix Android/x86 build.
2016-03-03 11:46:48 +01:00
Mike Pall
1c45c6a6a2
Fix build with JIT disabled.
...
Thanks to Peter Melnichenko.
2016-03-01 13:26:42 +01:00
Mike Pall
18f6aa97fd
Use internal implementation for converting FP numbers to strings.
...
Contributed by Peter Cawley.
2016-02-26 18:03:08 +01:00
Mike Pall
339a1fd696
Windows/x64/LJ_GC64: Fix math.frexp() and math.modf().
...
Thanks to Eddie Edwards.
2016-02-22 19:14:20 +01:00
Mike Pall
6cb38f788f
Merge branch 'master' into v2.1
2016-02-10 18:53:42 +01:00
Mike Pall
a443889677
Don't allocate unused 2nd result register in JIT compiler backend.
2016-02-10 18:51:02 +01:00
Mike Pall
f547a1425e
MIPS: Add soft-float support to JIT compiler backend.
2016-02-10 18:49:22 +01:00
Mike Pall
825dcdc4d1
Generalize LJ_SOFTFP dependencies in lj_asm.c.
2016-02-09 17:29:23 +01:00
Mike Pall
bfbcd72eb7
PS4: Switch default build to amalgamated and LJ_GC64 mode.
...
Thanks to Eddie Edwards.
2016-02-01 18:18:56 +01:00
Mike Pall
60de2f3d51
MIPS: Switch to dual-number mode. Fix soft-float interpreter.
2016-01-29 07:03:36 +01:00
Mike Pall
2f6b2967c7
Add proper DynASM dependency.
2016-01-18 16:57:30 +01:00
Mike Pall
89982b7849
FFI: Parse #line NN and #NN.
2016-01-18 12:34:48 +01:00
Mike Pall
39eddd3b96
Always merge snapshots without instructions inbetween.
...
Thanks to Vyacheslav Egorov.
2016-01-18 12:02:01 +01:00
Mike Pall
04d2806823
Rollback due to HREFK + load fwd must restore guardemit state.
...
Thanks to Vyacheslav Egorov.
2016-01-18 11:58:13 +01:00
Mike Pall
52ebe02c27
x86: Disassemble AES instructions.
...
Contributed by Peter Cawley.
2015-12-28 16:46:31 +01:00
Mike Pall
5ce6399ed9
x86: Improve disassembly of AVX shift instructions.
...
Contributed by Peter Cawley.
2015-12-28 16:42:37 +01:00
Mike Pall
f61148c486
ARM: Add external frame unwinding.
...
Thanks to Nick Zavaritsky.
2015-12-28 16:34:11 +01:00
Mike Pall
20f4141b1a
FFI: Properly unsink non-standard cdata allocations.
2015-12-28 13:02:35 +01:00
Mike Pall
0345f36153
MIPS soft-float, part 2: Add soft-float FFI support.
2015-12-18 21:38:03 +01:00
Mike Pall
3f5c72421e
MIPS soft-float, part 1: Add soft-float support to interpreter.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.
2015-12-17 22:42:20 +01:00
Mike Pall
126e55d416
Merge branch 'master' into v2.1
2015-11-26 22:26:39 +01:00
Mike Pall
3d4c9f9639
FFI: Fix SPLIT pass for CONV i64.u64.
...
Thanks to Vyacheslav Egorov.
2015-11-26 22:25:13 +01:00
Mike Pall
3a0b2a907b
x64/LJ_GC64: Fix stack growth in vararg function setup.
...
Thanks to Vyacheslav Egorov.
2015-11-18 23:24:50 +01:00
Mike Pall
0aa337a41c
Merge branch 'master' into v2.1
2015-11-04 14:09:59 +01:00
Mike Pall
7991a669dd
Extend Valgrind suppressions for non-inlined C code.
...
Thanks to Dennis Schridde.
2015-11-04 14:02:33 +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
ffb124ec77
Merge branch 'master' into v2.1
2015-10-24 19:03:14 +02:00
Mike Pall
3639ff4142
iOS: Disable os.execute() when building for iOS >= 8.0.
...
Thanks to Vyacheslav Egorov.
2015-10-24 19:02:15 +02:00
Mike Pall
6a5441114e
x86/x64: Disassemble AVX/AVX2 instructions.
...
Thanks to Peter Cawley.
2015-10-24 18:55:27 +02:00
Mike Pall
efaf24f496
Fix pairs() recording.
...
Thanks to Vyacheslav Egorov.
2015-10-24 18:04:54 +02:00
Mike Pall
b20642cec9
Merge branch 'master' into v2.1
2015-10-24 18:03:55 +02:00
Mike Pall
e5f4cb1ccb
FFI: Fix ipairs() recording.
...
Thanks to Vyacheslav Egorov.
2015-10-24 17:59:44 +02:00
Mike Pall
776c6935ed
Merge branch 'master' into v2.1
2015-10-15 02:29:37 +02:00
Mike Pall
4808e62a9a
Drop marks from replayed instructions when sinking.
...
Reported by Vyacheslav Egorov.
2015-10-15 02:28:04 +02:00
Mike Pall
22a9ed838b
Merge branch 'master' into v2.1
2015-10-01 16:34:37 +02:00
Mike Pall
2e85af8836
Flush symbol tables in jit.dump on trace flush.
2015-10-01 16:32:30 +02:00
Mike Pall
86c21bd245
Add collectgarbage("isrunning").
2015-10-01 16:26:00 +02:00
Mike Pall
0b09c971c9
Merge branch 'master' into v2.1
2015-10-01 16:16:18 +02:00
Mike Pall
ef087aa678
Fix unsinking check.
...
Reported by Elias Hogstvedt. Debugged and fixed by Vyacheslav Egorov.
2015-10-01 16:12:48 +02:00
Mike Pall
52ea1a30af
FFI: Add ssize_t declaration.
2015-09-20 19:25:39 +02:00
Mike Pall
49427dfcc2
Merge branch 'master' into v2.1
2015-09-20 19:18:31 +02:00
Mike Pall
076d625dc6
Fix Cygwin support. Note: this is not a supported target.
...
Contributed by Yaakov Selkowitz.
2015-09-20 19:17:02 +02:00
Mike Pall
55c3b29f7b
Parse Unicode string escape \u{XX...}.
...
Thanks to drbo.
2015-08-30 00:10:15 +02:00
Mike Pall
a3a6866d4c
Re-enable trace stitching.
...
Thanks to Vyacheslav Egorov.
2015-08-29 23:24:26 +02:00
Mike Pall
ad29314c2c
ARM64: Fix ELF bytecode saving.
2015-08-26 09:48:05 +02:00
Mike Pall
fb77f7dee7
RELEASE LuaJIT-2.1.0-beta1
2015-08-25 23:32:36 +02:00
Mike Pall
0a3cd94631
ARM64: Add support for saving bytecode as object files.
2015-08-25 10:16:39 +02:00
Mike Pall
ca7888944e
Merge branch 'master' into v2.1
2015-08-20 01:11:59 +02:00
Mike Pall
8715ae65c1
Properly handle OOM in trace_save().
...
Thanks to Vyacheslav Egorov.
2015-08-20 01:10:30 +02:00
Mike Pall
b86fc2b36a
Merge branch 'master' into v2.1
2015-08-20 00:51:32 +02:00
Mike Pall
424940ffc3
Fix NYICF error message.
...
Thanks to Vyacheslav Egorov.
2015-08-20 00:49:20 +02:00
Mike Pall
eb050f9e2a
Parse binary number literals (0bxxx).
2015-08-19 02:10:36 +02:00
Mike Pall
0dcd2d1292
Merge branch 'master' into v2.1
2015-07-17 23:17:34 +02:00
Mike Pall
a5b1c4d98e
FFI: Don't propagate qualifiers into subtypes of complex.
2015-07-17 23:14:21 +02:00
Mike Pall
ba6344d1ef
ARM64: Fix __call metamethod handling for tail calls.
2015-07-14 13:04:08 +02:00
Mike Pall
5874c21291
Merge branch 'master' into v2.1
2015-07-10 03:45:25 +02:00
Mike Pall
575bfe5028
Limit number of arguments given to io.lines() and fp:lines().
2015-07-10 03:42:51 +02:00
Mike Pall
28d8728869
Fix Xbox One port.
2015-06-16 04:27:44 +02:00
Mike Pall
fe565222a1
Disable table allocation bump optimization (for now).
2015-06-13 00:42:38 +02:00
Mike Pall
26b95a90f5
Add Xbox One port.
2015-06-12 22:28:38 +02:00
Mike Pall
458a40b724
Fix table allocation bump optimization (sigh).
2015-06-10 17:06:01 +02:00
Mike Pall
5081e38031
Merge branch 'master' into v2.1
2015-06-10 16:15:41 +02:00
Mike Pall
7f454aed82
Fix narrowing of TOBIT.
2015-06-10 16:14:41 +02:00
Mike Pall
08e100ec05
x64/LJ_GC64: Fix ipairs().
2015-06-10 12:15:28 +02:00
Mike Pall
c5d262f2d2
Fix table allocation bump optimization (again).
2015-06-09 23:46:38 +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
4da1bb66cd
x64/LJ_GC64: Fix upvalue write barrier.
2015-05-29 16:45:26 +02:00
Mike Pall
5de95edf4c
x64/LJ_GC64: Fix setmetatable().
2015-05-25 16:31:52 +02:00
Mike Pall
60fb3fe2b2
Fix table allocation bump optimization.
2015-05-21 16:38:31 +02:00
Mike Pall
4a146cac9a
LJ_GC64: Fix frame unwinding.
2015-05-20 16:43:41 +02:00
Mike Pall
bca5da8849
Fix for last commit.
2015-05-19 02:25:16 +02:00
Mike Pall
b82fc3ddc0
Bump table allocations retroactively if they grow later on.
2015-05-19 01:59:29 +02:00
Mike Pall
69e5342eb8
RELEASE LuaJIT-2.0.4
2015-05-14 20:29:31 +02:00
Mike Pall
a836b7e177
Cleanup.
2015-05-04 06:38:01 +02:00
Mike Pall
4cec6a5706
Merge branch 'master' into v2.1
2015-05-04 06:37:24 +02:00
Mike Pall
9622d6b8b2
x86/x64: Fix argument check for bit shifts.
2015-05-04 06:36:16 +02:00
Mike Pall
a92e730233
x64: Add LJ_GC64 mode interpreter.
...
Enable this mode with: make XCFLAGS=-DLUAJIT_ENABLE_GC64
2015-05-04 06:30:57 +02:00
Mike Pall
5caf53d502
Fix broken Windows build.
2015-04-29 10:13:01 +02:00
Mike Pall
c2924c3e1d
Disable trace stitching (for now) due to a design mistake.
...
Thanks to Elias Hogstvedt for finding a test case for a well known,
but hard to track down issue with trace stitching.
2015-04-28 20:52:24 +02:00
Mike Pall
74caac97ae
Merge branch 'master' into v2.1
2015-04-28 20:29:46 +02:00
Mike Pall
11106aa833
Fix stack check in narrowing optimization.
...
Thanks to Robert Nix.
2015-04-28 20:28:16 +02:00
Mike Pall
1e67a4cb6b
ARM64: Fix math.floor/math.ceil for string args.
2015-04-15 22:09:46 +02:00
Mike Pall
1c968d5b63
DynASM/PPC: Add sub/shift/rotate/clear instruction aliases.
2015-04-12 03:46:16 +02:00
Mike Pall
dec4acca9a
PPC: Fix cross-endian builds.
2015-04-12 01:23:01 +02:00
Mike Pall
8002871619
PPC: Fix write barrier in BC_TSETR.
...
Thanks to Gustavo Serra Scalet.
2015-04-09 18:48:54 +02:00
Mike Pall
361827c8f9
PPC64: Add build infrastructure.
2015-03-06 03:47:45 +01:00
Mike Pall
c821e0aded
Merge branch 'master' into v2.1
2015-03-05 12:21:39 +01:00
Mike Pall
8b6af89ba7
Fix Lua/C API typecheck error for special indexes.
2015-03-05 12:19:11 +01:00
Mike Pall
2c0748f691
Merge branch 'master' into v2.1
2015-03-02 17:34:33 +01:00
Mike Pall
1f578bd424
FFI: Fix FOLD rule for TOBIT + CONV num.u32.
...
Thanks to Jiale Zhi.
2015-03-02 17:34:06 +01:00
Mike Pall
e1a8f3ba0b
Merge branch 'master' into v2.1
2015-02-25 18:12:14 +01:00
Mike Pall
5c0e33c2aa
ARM: Handle more arch defines.
2015-02-25 18:10:54 +01:00
Mike Pall
7ff476804e
Properly fail unsupported cross-compile to MIPS64.
2015-02-25 18:02:31 +01:00
Mike Pall
906008d467
Merge branch 'master' into v2.1
2015-02-22 23:08:56 +01:00
Mike Pall
e6b0875a7e
Fix string to number conversion.
...
Thanks to Lesley De Cruz.
2015-02-22 23:07:49 +01:00
Mike Pall
576ddf1db5
Merge branch 'master' into v2.1
2015-02-21 21:46:22 +01:00
Mike Pall
4fa51affe8
x86/x64: Fix code generation for fused test/arith ops.
...
Thanks to Alexander Nasonov and AFL.
2015-02-21 21:44:41 +01:00
Mike Pall
063f3d5d7c
Merge branch 'master' into v2.1
2015-02-18 16:01:11 +01:00
Mike Pall
704280fb80
FFI: Prevent DSE across ffi.string().
2015-02-18 16:00:15 +01:00
Mike Pall
04dc64b558
LJ_FR2: Fix bytecode generation for method lookups.
2015-02-08 20:25:27 +01:00
Mike Pall
ca5bbdf92a
Merge branch 'master' into v2.1
2015-02-02 11:06:45 +01:00
Mike Pall
dfa173b929
Fix lexer error for chunks without tokens.
2015-02-02 11:03:39 +01:00
Mike Pall
43cb818ba8
Merge branch 'master' into v2.1
2015-01-17 14:57:24 +01:00
Mike Pall
7f013005f6
Don't compile IR_RETF after CALLT to ff with-side effects.
2015-01-17 14:50:41 +01:00
Mike Pall
b876d6dada
OpenBSD/x86: Better executable memory allocation for W^X mode.
2015-01-17 12:55:04 +01:00
Mike Pall
3f19b34242
iOS/ARM64: Fix target OS detection.
2015-01-08 02:52:31 +01:00
Mike Pall
962d2aaa9f
LJ_GC64: Return true for ffi.abi("gc64").
2015-01-07 21:14:43 +01:00
Mike Pall
33f0c24f06
ARM64: Add FFI support.
2015-01-07 21:06:40 +01:00
Mike Pall
ce1a5ee535
iOS/ARM64: The frame pointer is required.
2015-01-07 20:59:37 +01:00
Mike Pall
9647aab0dc
LJ_FR2: Fix lua_settable() and lua_setfield().
2015-01-07 13:17:57 +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
c71cdf4c36
Merge branch 'master' into v2.1
2015-01-05 23:43:57 +01:00
Mike Pall
999f57de83
Fix BC_UCLO/BC_JMP join optimization in Lua parser.
2015-01-05 23:39:37 +01:00
Mike Pall
71ecc051dc
Fix MSVC build.
2015-01-05 00:38:18 +01:00
Mike Pall
fcae87e315
Merge branch 'master' into v2.1
2015-01-05 00:07:27 +01:00
Mike Pall
4d9e8e245a
ARM: Minor interpreter optimization.
2015-01-05 00:05:38 +01:00
Mike Pall
31e66838d8
x86: Minor interpreter optimization.
2015-01-05 00:04:40 +01:00
Mike Pall
e1261a07bf
ARM64: Compatibility fixes for Clang.
2015-01-04 23:52:50 +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
cb481ddc8f
Add LJ_GC64 mode: 64 bit GC object references.
...
Actually NaN tagging with 47 bit pointers and 13+4 bit tags.
2015-01-03 15:23:58 +01:00
Mike Pall
054e6abe37
Add LJ_FR2 mode: Two-slot frame info.
2015-01-03 15:04:38 +01:00
Mike Pall
7a76d435da
Merge branch 'master' into v2.1
2014-12-27 06:11:14 +01:00
Mike Pall
f45d11e2fe
MIPS: Fix excess stack growth in interpreter.
2014-12-27 06:06:07 +01:00
Mike Pall
6319e0312d
PPC: Fix excess stack growth in interpreter.
2014-12-27 06:05:50 +01:00
Mike Pall
16f910b4a8
ARM: Fix write barrier check in BC_USETS.
2014-12-27 06:03:06 +01:00
Mike Pall
54826563b2
ARM: Fix excess stack growth in interpreter.
2014-12-27 05:59:16 +01:00
Mike Pall
1b774d9da3
Fix corner case in string to number conversion.
2014-12-27 05:46:51 +01:00
Mike Pall
ecaa4eae88
Merge branch 'master' into v2.1
2014-12-20 01:48:17 +01:00
Mike Pall
5cb6e2eaaf
Cleanup of TValue setters. No functional changes.
2014-12-20 01:48:00 +01:00
Mike Pall
10caad0261
x86: Fix argument checks for ipairs() iterator.
2014-12-20 01:05:06 +01:00
Mike Pall
6e9145a882
Cleanup of memory vs. GC sizes. No functional changes.
2014-12-20 00:17:50 +01:00
Mike Pall
82e6e5fb5f
x86: Fix stack slot reservation for FP math functions.
...
Followup fix for commit ad03eba7
.
2014-12-16 22:25:52 +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
c6130e68eb
Avoid dependency on frame layout for LJ_POST_FIXCOMP.
...
The auxiliary value in u32.lo wasn't used, anyway.
2014-12-15 02:45:40 +01:00
Mike Pall
881f48f980
Cleanup of frame handling. No functional changes.
2014-12-15 02:27:27 +01:00
Mike Pall
b93b624ad8
Merge branch 'master' into v2.1
2014-12-15 01:56:18 +01:00
Mike Pall
c6e69249dd
Gracefully handle lua_error() for a suspended coroutine.
...
Thanks to Sergei Zhirikov.
2014-12-15 01:55:45 +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
ad03eba715
x86/x64: Drop internal x87 math functions. Use libm functions.
2014-12-08 02:02:34 +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
8cc89332ff
Merge branch 'master' into v2.1
2014-11-28 20:21:35 +01:00
Mike Pall
c75c62b489
Fix snapshot #0 handling for traces with a stack check on entry.
2014-11-28 20:20:12 +01:00
Mike Pall
42ed4e53a5
Merge branch 'master' into v2.1
2014-11-03 21:35:52 +01:00
Mike Pall
a31c317fb5
FFI: No meta fallback when indexing pointer to incomplete struct.
2014-11-03 21:34:24 +01:00
Mike Pall
d6ff3afc14
FFI: Add ffi.typeinfo().
...
Thanks to Peter Colberg.
2014-10-08 22:16:53 +02:00
Mike Pall
d2809bec24
Merge branch 'master' into v2.1
2014-10-08 22:06:23 +02:00
Mike Pall
6d0654d3ec
Fix fused constant loads under high register pressure.
2014-10-08 22:04:51 +02:00
Mike Pall
be64823d95
Merge branch 'master' into v2.1
2014-10-07 16:18:46 +02:00
Mike Pall
4846a714a9
Fix DragonFly build (unsupported).
...
Thanks to Robin Hahling, Alex Hornung and Joris Giovannangeli.
2014-10-07 16:17:29 +02:00
Mike Pall
b7d29b6e67
Eliminate hmask guard for forwarded HREFK.
2014-09-17 19:45:16 +02:00
Mike Pall
72c661e2b8
Merge branch 'master' into v2.1
2014-09-08 23:39:02 +02:00
Mike Pall
41156fe1cd
FFI: Fix initialization of unions of subtypes.
...
Thanks to Peter Colberg.
2014-09-08 23:37:22 +02:00
Mike Pall
247ead6718
FFI: Fix for cdata vs. non-cdata arithmetic and comparisons.
...
Thanks to Roman Tsisyk.
2014-09-08 23:28:02 +02:00
Mike Pall
e107525f20
Merge branch 'master' into v2.1
2014-08-05 20:18:20 +02:00
Mike Pall
66515a054c
FFI: Fix __index/__newindex metamethod resolution for ctypes.
2014-08-05 20:15:52 +02:00
Mike Pall
92c32b7814
Merge branch 'master' into v2.1
2014-07-24 13:08:49 +02:00
Mike Pall
59d290656a
Invalidate backpropagation cache after DCE.
2014-07-24 13:08:02 +02:00
Mike Pall
5f370d9071
Merge branch 'master' into v2.1
2014-07-04 18:19:16 +02:00
Mike Pall
f948fe0c27
FFI: Fix compilation of reference field access.
2014-07-04 18:17:32 +02:00
Mike Pall
0ac4c43965
Merge branch 'master' into v2.1
2014-07-01 17:54:08 +02:00
Mike Pall
a6c34b85f7
Fix ABC elimination.
2014-07-01 17:53:40 +02:00
Mike Pall
1cb5929c5c
Compile debug.getmetatable().
...
Thanks to Karel Tuma.
2014-06-18 12:36:50 +02:00
Mike Pall
89f61de517
Merge branch 'master' into v2.1
2014-06-12 11:02:44 +02:00
Mike Pall
5e7b9bb8ed
FFI: Fix frame traversal for backtraces with FFI callbacks.
2014-06-12 10:58:22 +02:00
Mike Pall
9d67be8ec1
Merge branch 'master' into v2.1
2014-06-11 22:47:10 +02:00
Mike Pall
7dc9e5ade4
x86: lj_math_random_step() clobbers XMM regs on OSX Clang.
2014-06-11 22:44:08 +02:00
Mike Pall
afcc3c0b83
Merge branch 'master' into v2.1
2014-06-11 10:21:37 +02:00
Mike Pall
e7c6a1afa2
Fix debug info for main chunk of stripped bytecode.
2014-06-11 10:19:53 +02:00
Mike Pall
95977599e7
Merge branch 'master' into v2.1
2014-05-28 15:47:21 +02:00
Mike Pall
7fb503dc86
Fix compatibility issues with Illumos.
...
Thanks to Theo Schlossnagle.
2014-05-28 15:46:26 +02:00
Mike Pall
7400e2c0cc
Merge branch 'master' into v2.1
2014-05-27 15:59:20 +02:00
Mike Pall
49d3157e14
PPC: Fix red zone overflow in machine code generation.
2014-05-27 15:58:04 +02:00
Mike Pall
fc76d540a0
x86: Fix code generation for unused result of math.random().
2014-05-27 15:25:34 +02:00
Mike Pall
945af491b6
Merge branch 'master' into v2.1
2014-05-20 11:56:20 +02:00
Mike Pall
e15765186c
Fix FOLD rule for string.sub(s, ...) == k.
2014-05-20 11:41:32 +02:00
Mike Pall
52b081528a
Merge branch 'master' into v2.1
2014-05-15 17:37:38 +02:00
Mike Pall
fe288e7b83
FFI: Fix recording of indexing a struct pointer ctype object itself.
2014-05-15 17:28:08 +02:00
Mike Pall
8a38af2f99
Fix FOLD rule for STRREF of SNEW.
2014-05-15 17:03:28 +02:00
Mike Pall
159cfd63f5
Merge branch 'master' into v2.1
2014-05-12 14:36:28 +02:00
Mike Pall
624260f831
Fix frame traversal while searching for error function.
2014-05-12 14:35:30 +02:00
Mike Pall
392b6c94ae
Merge branch 'master' into v2.1
2014-05-06 14:49:54 +02:00
Mike Pall
2917288019
x64: Workaround for MSVC build issue.
2014-05-06 14:47:37 +02:00
Mike Pall
f7e209cc55
Merge branch 'master' into v2.1
2014-05-06 14:33:35 +02:00
Mike Pall
ef82bb014a
FFI: Another fix for cdata equality comparisons.
2014-05-06 14:31:31 +02:00
Mike Pall
e26dc8a215
Merge branch 'master' into v2.1
2014-04-27 00:10:34 +02:00
Mike Pall
7a39be0ac4
Add PS Vita port.
...
Thanks to Anton Stenmark.
2014-04-27 00:09:45 +02:00
Mike Pall
c8d1aff0ba
Merge branch 'master' into v2.1
2014-04-22 11:29:05 +02:00
Mike Pall
2715fe3aee
Prevent GC estimate miscalculation due to buffer growth.
2014-04-22 11:26:52 +02:00
Mike Pall
18309b0a25
Prevent adding side traces for stack checks.
2014-04-22 09:57:39 +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
39acdb8b7f
Merge branch 'master' into v2.1
2014-04-17 10:32:23 +02:00
Mike Pall
65626eac23
PPC: Don't use mcrxr on PPE.
2014-04-17 10:30:35 +02:00
Mike Pall
43dc06bac1
Fix FOLD of string concatenations.
2014-04-15 19:56:23 +02:00
Mike Pall
27c453e8e8
Merge branch 'master' into v2.1
2014-04-08 16:55:54 +02:00
Mike Pall
cc5075e845
FFI: Fix cdata equality comparison against other Lua types.
2014-04-08 16:53:41 +02:00
Mike Pall
347b49ec7d
Merge branch 'master' into v2.1
2014-04-08 12:12:27 +02:00
Mike Pall
4ed3ee1f04
FFI: Fix cdata equality comparison against strings.
2014-04-08 12:10:51 +02:00
Mike Pall
d3e3700180
Merge branch 'master' into v2.1
2014-04-03 21:48:34 +02:00
Mike Pall
111b2e8711
Fix top slot calculation for snapshots with continuations.
2014-04-03 21:45:57 +02:00
Mike Pall
a972d37ef3
Merge branch 'master' into v2.1
2014-04-01 10:33:42 +02:00
Mike Pall
b293063eb8
Correct fix for reuse of SCEV results in FORL.
2014-04-01 10:07:15 +02:00
Mike Pall
423f10fb40
Fix alias analysis for table.len vs. table.clear.
2014-04-01 01:55:12 +02:00
Mike Pall
caefd06871
Merge branch 'master' into v2.1
2014-04-01 00:34:13 +02:00
Mike Pall
19b69f21d4
FFI: Allow non-scalar cdata to be compared for equality by address.
2014-04-01 00:30:22 +02:00
Mike Pall
b65515fb48
Merge branch 'master' into v2.1
2014-03-28 19:11:35 +01:00
Mike Pall
c735293921
FFI: Fix pseudo type conversions for type punning.
2014-03-28 19:09:45 +01:00
Mike Pall
4401af88dc
Merge branch 'master' into v2.1
2014-03-27 23:32:45 +01:00
Mike Pall
095344ce7c
Fix check for reuse of SCEV results in FORL.
2014-03-27 23:29:30 +01:00
Mike Pall
3500c35e23
Merge branch 'master' into v2.1
2014-03-27 11:39:15 +01:00
Mike Pall
c03be1210c
x86/x64: Avoid use of SAHF instruction.
2014-03-27 11:38:07 +01:00
Mike Pall
ce477ffbfa
Merge branch 'master' into v2.1
2014-03-24 09:42:05 +01:00
Mike Pall
1ca794e0b0
Fix compiler warnings.
2014-03-24 09:41:33 +01:00
Mike Pall
880ca300e8
RELEASE LuaJIT-2.0.3
2014-03-12 13:24:07 +01:00
Mike Pall
0e9bf2f60d
Merge branch 'master' into v2.1
2014-03-06 00:42:38 +01:00
Mike Pall
416abff90d
Don't access dangling reference to reallocated IR.
2014-03-06 00:39:37 +01:00
Mike Pall
19d53ed2f9
Specialize to ffid for non-monomorphic builtins.
2014-03-04 16:11:29 +01:00
Mike Pall
fd3354a9dd
Merge branch 'master' into v2.1
2014-02-28 14:10:30 +01:00
Mike Pall
e94150877d
Fix frame depth display for bytecode dump in -jdump.
2014-02-28 14:09:34 +01:00
Mike Pall
ef3cc47f9f
Fix recording of BC_VARG.
2014-02-28 14:09:09 +01:00
Mike Pall
b342b7a0eb
Merge branch 'master' into v2.1
2014-02-27 12:25:59 +01:00
Mike Pall
900d0ce276
Fix for -jdump docs.
2014-02-27 12:25:13 +01:00
Mike Pall
9695c5ab46
Merge branch 'master' into v2.1
2014-02-26 15:57:13 +01:00
Mike Pall
6a47e123a4
Add PS4 port.
...
Thanks to Eddie Edwards.
2014-02-26 15:56:07 +01:00
Mike Pall
2863b10956
Merge branch 'master' into v2.1
2014-02-20 15:09:02 +01:00
Mike Pall
46ce03464b
Fix Xbox 360 build.
2014-02-20 15:08:34 +01:00
Mike Pall
998651fcda
Don't purge modified function from stack slots in BC_RET.
2014-02-20 04:24:50 +01:00
Mike Pall
1994a2453e
FFI: Disallow nested VLS.
2014-02-19 22:05:34 +01:00
Mike Pall
2bc63bb6af
Prevent BASE register coalescing if parent uses IR_RETF.
2014-02-19 17:09:22 +01:00
Mike Pall
e3d5b218d3
Fix quoting in xedkbuild.bat (again).
2014-02-12 00:44:14 +01:00
Mike Pall
ec5546d1d2
Merge branch 'master' into v2.1
2014-02-06 12:27:02 +01:00
Mike Pall
2be62dcfcd
Fix exception unwind struct declaration.
2014-02-05 12:04:08 +01:00
Mike Pall
b20ff7a8ac
Use own buffer for LOOP substitution table.
...
Conflicted with the use of lj_buf_cat2str() in lj_opt_fold.c.
2014-02-01 20:44:46 +01:00
Mike Pall
a2abf2e098
Don't start a trace on side exit to non-Lua function.
2014-01-31 20:44:27 +01:00
Mike Pall
5a5a340f6e
Don't start stitched trace with CALLMT, too.
2014-01-20 21:31:06 +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
dd910f0e01
Fix initial maxslot for down-recursive traces.
2014-01-20 16:49:13 +01:00
Mike Pall
3db3cc10ff
Fix compiler warnings.
2014-01-20 16:48:33 +01:00
Mike Pall
4e78b9bb12
Merge branch 'master' into v2.1
2014-01-19 13:12:23 +01:00
Mike Pall
926686ad3d
Fix OSX build issue.
2014-01-19 13:11:48 +01:00
Mike Pall
45c067dddd
FFI: Fix cts->L for cdata unsinking in snapshot restore.
2014-01-19 13:09:20 +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
ce9e8ed675
Fix KBASE for Lua functions below stitched fast functions.
2014-01-16 22:53:27 +01:00
Mike Pall
ba9dde2ce6
Merge branch 'master' into v2.1
2014-01-05 16:58:30 +01:00
Mike Pall
6964a7752a
Fix ABC elimination.
2014-01-05 16:57:51 +01:00
Mike Pall
87b33b98e1
Merge branch 'master' into v2.1
2013-12-29 19:21:58 +01:00
Mike Pall
b779f31ca3
Fix MinGW build.
2013-12-29 19:21:16 +01:00
Mike Pall
dce3639c1d
Fix final snapshot for trace stitching.
2013-12-28 12:34:58 +01:00
Mike Pall
c1328e9795
x86: Fix stack slot counting for IR_CALLA (affects table.new).
2013-12-26 11:03:25 +01:00
Mike Pall
c41e65499c
Show trailing NYI item for stitched trace with -jv.
2013-12-25 20:56:20 +01:00
Mike Pall
b5d741fa7e
Add trace stitching.
2013-12-25 02:55:25 +01:00
Mike Pall
6e02c210c4
Merge branch 'master' into v2.1
2013-12-25 00:27:55 +01:00
Mike Pall
ca67c89f20
MIPS: Cosmetic fix for interpreter.
2013-12-25 00:26:18 +01:00
Mike Pall
e52119bbdd
Merge branch 'master' into v2.1
2013-12-22 11:46:06 +01:00
Mike Pall
89e8d70701
Fix compilation of string.byte(s, nil, n).
2013-12-22 11:43:44 +01:00
Mike Pall
b03cebe1f6
Merge branch 'master' into v2.1
2013-12-21 16:49:53 +01:00
Mike Pall
279673ddfc
Fix MinGW build.
2013-12-21 16:49:10 +01:00
Mike Pall
585dd449b5
Merge branch 'master' into v2.1
2013-12-09 00:32:08 +01:00
Mike Pall
0ded8e82a8
Fix call unroll checks in the presence of metamethod frames.
2013-12-09 00:29:56 +01:00
Mike Pall
5c7db3c4fc
Merge branch 'master' into v2.1
2013-12-02 09:19:06 +01:00
Mike Pall
916f09d0a9
x64: Fix store to upvalue for lightuserdata values.
2013-12-02 09:18:01 +01:00
Mike Pall
4593fb5e29
Add table.clear().
2013-11-25 15:19:17 +01:00
Mike Pall
c378f7dbb8
Abstract out post-registration handling of pre-registered modules.
2013-11-25 15:17:44 +01:00
Mike Pall
a8c3862d63
Merge branch 'master' into v2.1
2013-11-22 05:45:33 +01:00
Mike Pall
f371ed6bd8
Respect jit.off(func) when returning to a function, too.
2013-11-22 05:42:56 +01:00
Mike Pall
b00a0260dd
Merge branch 'master' into v2.1
2013-11-22 05:14:37 +01:00
Mike Pall
9d90988347
Follow-up fix for GC step threshold fix.
2013-11-22 05:13:13 +01:00
Mike Pall
94bfa7cfa6
Merge branch 'master' into v2.1
2013-11-21 13:47:19 +01:00
Mike Pall
751eacec7b
Improve msvcbuild.bat static linking.
2013-11-21 13:47:07 +01:00
Mike Pall
ffabcc4445
Merge branch 'master' into v2.1
2013-11-07 13:30:20 +01:00
Mike Pall
5a25a735f5
Fix type punning alias analysis for constified pointers.
2013-11-07 13:29:20 +01:00
Mike Pall
8a2b2beac2
Merge branch 'master' into v2.1
2013-11-05 19:46:41 +01:00
Mike Pall
8941b1994e
Fix for last commit
2013-11-05 19:45:04 +01:00
Mike Pall
5c55b766bd
Merge branch 'master' into v2.1
2013-11-05 19:41:21 +01:00
Mike Pall
7b4d5306c7
Fix GC steps threshold handling when called by JIT-compiled code.
...
Thanks to Cheng, Long.
2013-11-05 19:36:59 +01:00
Mike Pall
0315b87352
Merge branch 'master' into v2.1
2013-10-26 17:32:43 +02:00
Mike Pall
8944e27762
Fix handling of redundant PHIs.
2013-10-26 17:31:23 +02:00
Mike Pall
d8f05356ca
Merge branch 'master' into v2.1
2013-10-24 15:21:44 +02:00
Mike Pall
7e538b5f0a
Check for failure to mark memory as executable (restricted kernels).
2013-10-24 15:19:03 +02:00
Mike Pall
a014d5e65d
FFI: Compile conversions from functions to function pointers.
2013-10-16 19:51:42 +02:00
Mike Pall
570615300e
Merge branch 'master' into v2.1
2013-10-15 22:47:42 +02:00
Mike Pall
4fba08a9ac
Fix line number for relocated bytecode after closure fixup.
2013-10-15 22:46:39 +02:00
Mike Pall
d0b48ec996
Merge branch 'master' into v2.1
2013-10-14 19:34:06 +02:00
Mike Pall
5d25645a21
FFI: Rehash finalizer table after GC cycle, if needed.
2013-10-14 19:31:24 +02:00
Mike Pall
4ccb2dd3bb
Merge branch 'master' into v2.1
2013-10-10 14:34:39 +02:00
Mike Pall
3cdeb54a24
Check for MAP_32BIT presence instead of checking for Linux.
2013-10-10 14:34:04 +02:00
Mike Pall
1837d07082
Compile BC_TSETM, e.g. {1,2,3,f()}.
2013-10-09 23:51:30 +02:00
Mike Pall
e6e760ca9f
Compile getfenv(0).
2013-10-09 20:34:40 +02:00
Mike Pall
88c7785b87
FFI: Compile lightuserdata to void * conversion.
2013-10-09 17:23:08 +02:00
Mike Pall
c8cfca0557
Add table.new().
2013-10-09 17:02:01 +02:00
Mike Pall
47df3ae513
Properly fix loading of embedded bytecode.
2013-09-20 11:36:33 +02:00
Mike Pall
54af4e7c76
Fix loading of embedded bytecode.
2013-09-19 18:08:04 +02:00
Mike Pall
eec06a0e3b
Fix profiler/hook interaction.
2013-09-18 15:27:28 +02:00
Mike Pall
a51b8bf6b4
Fix build with profiler but without JIT compiler.
2013-09-18 15:17:39 +02:00
Mike Pall
b30a789ab8
Protect g->hookmask with lock when using profiler thread.
2013-09-16 11:23:10 +02:00
Mike Pall
8201fda2fc
Merge branch 'master' into v2.1
2013-09-14 12:56:37 +02:00
Mike Pall
474bb21af1
Fix ABC elimination.
2013-09-14 12:52:51 +02:00
Mike Pall
da1456584b
Merge branch 'master' into v2.1
2013-09-13 00:35:27 +02:00
Mike Pall
f1e7a4477c
Fix snapshot restore for exit to function header.
2013-09-13 00:33:58 +02:00
Mike Pall
0953b9a72d
Fix profiler stack dump for string chunks.
2013-09-11 23:51:46 +02:00
Mike Pall
1f2eff728b
Fix -jp=a mode.
2013-09-10 19:21:10 +02:00
Mike Pall
483f823ea4
Low-overhead profiler, part 7: console ports.
2013-09-10 01:25:33 +02:00
Mike Pall
803d4ddf0c
Fix non-FFI build.
2013-09-10 00:47:28 +02:00
Mike Pall
7dc6750eb3
Fix PS3 build.
2013-09-10 00:42:42 +02:00
Mike Pall
29078518c1
Add -jp=fl mode and minor fixes.
2013-09-10 00:02:20 +02:00
Mike Pall
2befb8b1de
Low-overhead profiler, part 5: add annotation mode for -jp.
2013-09-09 04:32:31 +02:00
Mike Pall
1fd2048c8d
Switch from -jp=n<top_n> to -jp=m<min_pct> as a threshold.
2013-09-09 04:26:12 +02:00
Mike Pall
cb336995a8
Merge branch 'master' into v2.1
2013-09-08 13:12:33 +02:00
Mike Pall
782787f1fa
FFI/x64: Fix passing of vector arguments to calls.
2013-09-08 13:11:02 +02:00
Mike Pall
0d41601e76
Merge branch 'master' into v2.1
2013-09-08 03:10:47 +02:00
Mike Pall
93c2b939bd
FFI: Fix argument checks for ffi.string().
2013-09-08 03:09:39 +02:00
Mike Pall
a13b9206dc
Load jit.util module on demand (saves 1 KB).
2013-09-08 03:01:00 +02:00
Mike Pall
d1194a82eb
Low-overhead profiler, part 4: JIT compiler support.
2013-09-08 02:53:23 +02:00
Mike Pall
d3d30d389b
Add notice when no samples were collected by -jp.
2013-09-08 02:50:48 +02:00
Mike Pall
f8e36535f7
Fix string.format("%#X", 1).
2013-09-03 16:11:39 +02:00
Mike Pall
f8cecffbbf
Merge branch 'master' into v2.1
2013-09-03 16:02:54 +02:00
Mike Pall
b6ec7c7c86
Fix quoting in xedkbuild.bat.
2013-09-03 16:02:33 +02:00
Mike Pall
7873c8dbf7
Recent GCC versions need more memory.
2013-09-03 15:55:37 +02:00
Mike Pall
fffe75a03b
Fix frame traversal for backtraces.
2013-09-03 15:53:21 +02:00
Mike Pall
eca0914d88
Add low-overhead profiler. Part 3: command line interface.
2013-09-02 01:57:56 +02:00
Mike Pall
b186fb835e
Add low-overhead profiler. Part 2: low-level Lua API.
2013-09-02 01:55:20 +02:00
Mike Pall
8a9519a5f4
Add internal API to add sub-modules to package.preload.
2013-09-02 01:55:07 +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
19c2dd17db
Add common helper for pointer to string formatting.
2013-08-31 19:38:20 +02:00
Mike Pall
517500ba48
Save currently executing lua_State in g->cur_L.
...
This is only a good approximation due to deficiencies in the design of
the Lua/C API. It indicates _some_ valid state that is/was executing.
Also reorder L->cframe stores to achieve a synchronously consistent state.
2013-08-30 23:38:17 +02:00
Mike Pall
5120240b77
Use g->jit_base for on/off-trace detection.
2013-08-26 18:28:58 +02:00
Mike Pall
b33e96f352
Merge branch 'master' into v2.1
2013-08-22 19:29:42 +02:00
Mike Pall
a6936be814
Fix compiler warning.
2013-08-22 19:29:09 +02:00
Mike Pall
fd1a8ddb3c
Fix argument checks for math.deg()/math.rad().
2013-08-17 00:50:53 +02:00
Mike Pall
9b14426c09
Merge branch 'master' into v2.1
2013-08-11 13:52:05 +02:00
Mike Pall
362260b24a
Fix jit.flush(func|true).
2013-08-11 13:47:35 +02:00
Mike Pall
f5fba48386
Merge branch 'master' into v2.1
2013-08-03 14:24:14 +02:00
Mike Pall
99d588b06a
Compatibility fix for old GCC versions.
2013-08-03 14:15:17 +02:00
Mike Pall
92a3cf469c
Merge branch 'master' into v2.1
2013-07-31 01:49:58 +02:00
Mike Pall
6a878b0441
ARM: Fix register allocation when rematerializing FPRs.
2013-07-31 01:48:21 +02:00
Mike Pall
96d54789ee
Merge branch 'master' into v2.1
2013-07-24 23:50:58 +02:00
Mike Pall
6dc02450d3
FFI: Properly unload loaded DLLs.
2013-07-24 23:49:19 +02:00
Mike Pall
1ddf5689b5
Fix compiler warning.
2013-07-18 00:39:23 +02:00
Mike Pall
dd44018d66
Merge branch 'master' into v2.1
2013-07-17 11:06:31 +02:00
Mike Pall
9aa5d04137
Fix compilation on NetBSD/x64.
...
Thanks to Justin Cormack.
2013-07-17 11:04:15 +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
88188d52f7
Merge branch 'master' into v2.1
2013-06-20 16:33:34 +02:00
Mike Pall
053041a9f4
FFI: Add missing GC steps for callback argument conversions.
2013-06-20 16:32:45 +02:00
Mike Pall
edc7f35ab3
Merge branch 'master' into v2.1
2013-06-18 20:10:22 +02:00
Mike Pall
9211a66e0e
Improve ULOAD forwarding for open upvalues.
2013-06-18 20:08:55 +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
e92d64a841
Merge branch 'master' into v2.1
2013-06-03 17:32:09 +02:00
Mike Pall
338e9863c2
PPC: Add plt suffix for external calls from assembler code.
2013-06-03 17:30:35 +02:00
Mike Pall
45f3ee8794
Merge branch 'master' into v2.1
2013-05-29 23:12:09 +02:00
Mike Pall
3eeb7d3aa0
FFI: Preserve intermediate string for const char * conversion.
...
Otherwise the trailing NUL is lost.
2013-05-29 23:05:05 +02:00
Mike Pall
c5ebfa0c67
Refactor string buffer growth helpers.
2013-05-29 20:17:26 +02:00
Mike Pall
b6882a57da
Fix -jdump broken by 2ef2c34d
.
2013-05-29 19:59:26 +02:00
Mike Pall
6850d795b6
Minor change to lj_lib_pushcc().
2013-05-29 14:54:06 +02:00
Mike Pall
26e4287e60
Merge branch 'master' into v2.1
2013-05-25 10:20:46 +02:00
Mike Pall
5a261dd92c
Fix compatibility issues with Illumos.
...
Thanks to Theo Schlossnagle.
2013-05-25 10:18:12 +02:00
Mike Pall
992f7d4b71
FFI: Refactor ffi.gc()/__gc. Compile ffi.gc(cdata, nil), too.
2013-05-24 17:44:55 +02:00
Mike Pall
4c1f9dd0f7
Merge branch 'master' into v2.1
2013-05-24 01:32:10 +02:00
Mike Pall
d686217926
Add missing PHI barrier to string.sub(str, a, b) == kstr FOLD rule.
2013-05-24 01:28:40 +02:00
Mike Pall
f1f7e40318
FFI: Compile VLA/VLS and large cdata allocs with default initialization.
2013-05-24 00:49:02 +02:00
Mike Pall
b3369f3c95
Merge branch 'master' into v2.1
2013-05-23 22:20:07 +02:00
Mike Pall
2c3e80d4fd
FFI: Must sink XBAR together with XSTOREs.
2013-05-23 22:15:51 +02:00
Mike Pall
7ef2b55fc0
FFI: Fix unroll limit for ffi.fill().
2013-05-23 22:17:45 +02:00
Mike Pall
55772e3ad9
Merge branch 'master' into v2.1
2013-05-23 19:58:35 +02:00
Mike Pall
890754ee27
FFI: Insert no-op type conversion for pointer to integer cast.
2013-05-23 19:55:09 +02:00
Mike Pall
38cfb6a1d9
Refactor lj_cdata_newv().
2013-05-23 18:43:16 +02:00
Mike Pall
6f451c6445
Don't try to reinvent memcpy().
2013-05-22 22:57:18 +02:00
Mike Pall
82390d1f4f
Merge branch 'master' into v2.1
2013-05-18 14:14:06 +02:00
Mike Pall
1593e7750b
FFI: Improve error messages for arithmetic and comparison operators.
2013-05-18 14:11:59 +02:00
Mike Pall
e2db3f697c
Remove use of printf() in luajit.c.
2013-05-18 13:48:32 +02:00
Mike Pall
fe87736777
Get rid of module() in all internal modules.
2013-05-16 20:34:34 +02:00
Mike Pall
647cc4613f
Merge branch 'master' into v2.1
2013-05-16 20:07:53 +02:00
Mike Pall
0f79d4741f
Handle calls with max. args in backends even after SPLIT.
2013-05-16 19:59:38 +02:00
Mike Pall
a946f678d5
Merge branch 'master' into v2.1
2013-05-16 14:48:47 +02:00
Mike Pall
1c7650f782
FFI: Fix calling conventions for ARM hard-float EABI.
...
Properly classify nested (non-transparent) structs.
2013-05-16 14:47:20 +02:00
Mike Pall
2b94827e1d
Merge branch 'master' into v2.1
2013-05-16 14:40:22 +02:00
Mike Pall
5dabdb2e70
FFI: Fix calling conventions for 32 bit OSX and iOS simulator.
...
OSX uses -freg-struct-return, which returns small structs in regs.
Thanks to Adriano Bertucci.
2013-05-16 14:35:00 +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
fd616caf26
Compile bit.tohex().
2013-05-15 13:57:35 +02:00
Mike Pall
a86017784e
Another fix for bit.tohex().
2013-05-15 13:54:22 +02:00
Mike Pall
4c39e9ffc8
Compile string.format().
2013-05-13 21:18:22 +02:00
Mike Pall
09ef8d1077
FFI: Load FFI library on-demand for -jdump.
2013-05-13 21:07:14 +02:00
Mike Pall
acda75ad2c
Refactor CCallInfo representation for split arguments.
2013-05-13 19:49:46 +02:00
Mike Pall
23e47f2913
Fix bit.tohex() broken by 7d5acc29
.
2013-05-13 19:48:23 +02:00
Mike Pall
2ef2c34d84
Adapt -jdump to unified string.format("%x", -1) behavior.
2013-05-13 19:39:34 +02:00
Mike Pall
2369f5d00a
Abstract out default BUFHDR emitter.
2013-05-13 17:04:19 +02:00
Mike Pall
101780c69b
Fix compiler warnings.
2013-05-13 12:13:11 +02:00
Mike Pall
cc1e3425b9
Merge branch 'master' into v2.1
2013-05-13 10:21:25 +02:00
Mike Pall
23aa02fb51
FFI: Ignore CTF_LONG in ffi.istype().
2013-05-13 10:20:59 +02:00
Mike Pall
8f90a1279e
Big renaming of string buffer/formatting/conversion functions.
2013-05-13 10:15:07 +02:00
Mike Pall
625ffca739
Refactor raw object to pointer or string conversions.
2013-05-13 01:23:33 +02:00
Mike Pall
19a9206caf
Refactor internal string formatting.
2013-05-12 23:52:09 +02:00
Mike Pall
7d5acc2918
Refactor bit.tohex().
2013-05-12 23:14:12 +02:00
Mike Pall
5bb1f0edac
Refactor string.format().
2013-05-12 23:13:27 +02:00
Mike Pall
bb2cc1dcaf
Merge branch 'master' into v2.1
2013-05-08 11:10:46 +02:00
Mike Pall
71ce1e8706
Merge branch 'master' into v2.1
2013-05-08 11:06:45 +02:00
Mike Pall
b030788401
Fix optional argument handling in table.concat().
2013-05-08 11:05:43 +02:00
Mike Pall
c5d7666ec8
Fix optional argument handling while recording builtins.
2013-05-08 10:46:43 +02:00
Mike Pall
87b560b3e1
Compile string.find() for fixed string searches (no patterns).
2013-05-08 10:40:22 +02:00
Mike Pall
43de451d78
Partially refactor string.find().
2013-05-07 20:44:58 +02:00
Mike Pall
2be1c2658f
Merge branch 'master' into v2.1
2013-05-02 02:07:38 +02:00
Mike Pall
5d6db413ae
FFI: Fix tailcall in lowest frame to C function with bool result.
2013-05-02 02:04:41 +02:00
Mike Pall
633d91cea5
Merge branch 'master' into v2.1
2013-04-29 14:29:11 +02:00
Mike Pall
09aeca6abf
Fix builtin string to number conversion for overflow digits.
2013-04-29 14:28:10 +02:00
Mike Pall
87993a601d
Inhibit CSE for table.concat().
2013-04-28 11:31:41 +02:00
Mike Pall
4ac25a9132
Compile __concat metamethod.
2013-04-28 01:51:41 +02:00
Mike Pall
8b3a320089
Fix BC_ISTYPE for WIN64 calling conventions.
2013-04-28 01:49:28 +02:00
Mike Pall
c77680824f
Compile table.concat().
2013-04-27 15:52:32 +02:00
Mike Pall
64d2883ab4
Refactor table.concat().
2013-04-27 15:51:50 +02:00
Mike Pall
723574d08c
Optimize BUFHDR code generation.
...
Rematerialize const buffer pointer instead of spilling.
2013-04-27 00:17:59 +02:00
Mike Pall
068783bf23
Compile string.rep().
2013-04-26 22:55:24 +02:00
Mike Pall
9b8db403f2
Refactor string.rep().
2013-04-26 19:57:25 +02:00
Mike Pall
a98e6a70c1
Abstract out some common buffer operations.
2013-04-26 19:20:21 +02:00
Mike Pall
f9421f2b9f
Replace string.len with bytecode builtin.
2013-04-26 18:40:39 +02:00
Mike Pall
47fa9a8d8f
Change semantics of buffer ops to simplify CSE and DCE.
2013-04-26 13:47:41 +02:00
Mike Pall
5fd659f859
Fix MSVC build.
2013-04-26 10:38:24 +02:00
Mike Pall
bdaf14b2c1
Merge branch 'master' into v2.1
2013-04-26 00:59:35 +02:00
Mike Pall
895a8bc91f
Tighten requirements for non-default optimization flags.
...
FOLD is required for FWD/DSE optimizations.
2013-04-26 00:54:53 +02:00
Mike Pall
b6adfff8f4
Compile string.reverse(), string.lower(), string.upper().
2013-04-26 00:32:08 +02:00
Mike Pall
61cb25b0ca
Refactor string.reverse(), string.lower(), string.upper().
2013-04-26 00:31:10 +02:00
Mike Pall
eeb204cd87
Fix FOLD rules for appending to string buffers.
2013-04-26 00:26:44 +02:00
Mike Pall
7c28448730
Fix os.date() broken by d38d10a3
.
2013-04-24 11:24:34 +02:00
Mike Pall
39e53e8c4c
Compile string.char().
2013-04-23 12:40:07 +02:00
Mike Pall
255326afb6
Use explicit conversion type for IR_TOSTR. Add char conversion.
2013-04-23 02:20:03 +02:00
Mike Pall
557391c3b7
Fuse string creation into concats. Optimize single-char concats.
2013-04-23 00:56:03 +02:00
Mike Pall
2cdf90f068
Always emit TOSTR for non-string CAT operands. Fuse in backend.
2013-04-23 00:10:01 +02:00
Mike Pall
1ae3e5204b
Fix PHI barrier in BUFPUT FOLD rule.
2013-04-22 22:37:22 +02:00
Mike Pall
a2c78810ca
Combine IR instruction dispatch for all assembler backends.
2013-04-22 22:32:41 +02:00
Mike Pall
2ab5e7c5dc
Merge branch 'master' into v2.1
2013-04-22 22:30:33 +02:00
Mike Pall
611ec41bca
Fix compiler warning.
2013-04-22 22:27:23 +02:00
Mike Pall
2cd4ce6141
Use same HREF+EQ/NE optimization in all assembler backends.
2013-04-22 20:47:39 +02:00
Mike Pall
988e183965
Reorganize generic operations common to all assembler backends.
2013-04-22 17:34:36 +02:00
Mike Pall
5f1781a127
Compile string concatenations (BC_CAT).
2013-04-21 01:01:33 +02:00
Mike Pall
7b629b7bcf
Move buffer shrinking to atomic GC phase.
2013-04-21 01:00:01 +02:00
Mike Pall
9ead735159
Add generic load/store with offset to assembler backends.
2013-04-21 00:58:32 +02:00
Mike Pall
e92e29dd4e
Merge branch 'master' into v2.1
2013-04-09 16:35:02 +02:00
Mike Pall
f17b038828
Inhibit DSE for implicit loads via calls.
2013-04-09 11:50:33 +02:00
Mike Pall
48912a2dea
Merge branch 'master' into v2.1
2013-04-05 20:24:24 +02:00
Mike Pall
b5bbacdc17
Fix jump-range constrained mcode allocation.
2013-04-05 20:22:41 +02:00
Mike Pall
ac14d88030
Merge branch 'master' into v2.1
2013-04-04 18:20:58 +02:00
Mike Pall
389822d606
Fix spurious red zone overflows in machine code generation.
2013-04-04 17:19:31 +02:00
Mike Pall
6ba65cefb0
FFI/x86: Fix register allocation for 64 bit comparisons.
2013-04-04 17:05:00 +02:00
Mike Pall
df94b81b2d
Tune string concatenation.
2013-03-25 17:13:08 +01:00
Mike Pall
59329cfbbf
Optimize and refactor printing of numbers to buffers.
2013-03-25 16:41:13 +01:00
Mike Pall
3b0b3afbb1
Merge branch 'master' into v2.1
2013-03-23 14:55:35 +01:00
Mike Pall
172bd95365
FFI: Fix snapshot substitution in SPLIT pass.
2013-03-23 14:51:23 +01:00
Mike Pall
f1dbd65c0e
Use string buffer for string.format().
2013-03-21 22:17:59 +01:00
Mike Pall
fecde1b222
Use string buffer for string.dump().
2013-03-20 16:56:09 +01:00
Mike Pall
d38d10a3dd
Use string buffer for os.date().
2013-03-20 16:54:30 +01:00
Mike Pall
deb61e0be0
Use string buffer for table.concat().
2013-03-20 16:51:36 +01:00
Mike Pall
d1645c88a1
Clean up TValue to buffer conversions.
2013-03-18 17:08:37 +01:00
Mike Pall
a98aede377
FFI: Add 64 bit bitwise operations.
2013-03-14 06:03:18 +01:00
Mike Pall
3e8f5ac718
Merge branch 'master' into v2.1
2013-03-13 21:59:40 +01:00
Mike Pall
eea48c8b26
Fix rotate definitions for variable shifts.
2013-03-13 21:58:53 +01:00
Mike Pall
7950894d70
ARM: Rearrange global_State to satisfy imm12 encoding constraints.
2013-03-13 17:12:23 +01:00
Mike Pall
b2edd5cf28
Merge branch 'master' into v2.1
2013-03-04 13:34:01 +01:00
Mike Pall
dac2825e9d
Add missing GC steps for io.* functions.
2013-03-03 21:18:22 +01:00
Mike Pall
b65196b7fd
Merge branch 'master' into v2.1
2013-02-28 17:53:45 +01:00
Mike Pall
78c97bc5a1
MIPS: Fix cache flush/sync for JIT-compiled code jump area.
2013-02-28 17:52:31 +01:00
Mike Pall
3e286c1e72
ARM: Fix cache flush/sync for exit stubs of JIT-compiled code.
2013-02-28 17:51:16 +01:00
Mike Pall
9ec869b362
String buffer refactoring, part 4.
...
Add lua_State pointer to SBuf for buffer resizing.
2013-02-28 13:43:37 +01:00
Mike Pall
3c0157f426
String buffer refactoring, part 3.
...
Switch to pointers for start/end of buffer in lexer.
2013-02-28 02:31:30 +01:00
Mike Pall
87c51e7f57
Cleanup lexer source code.
2013-02-28 01:11:49 +01:00
Mike Pall
116cdd7e9a
String buffer refactoring, part 2.
...
Switch to pointers for start/pos/end of buffer.
Abstract out some buffer writers.
2013-02-27 21:28:28 +01: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
d44337a566
Merge branch 'master' into v2.1
2013-02-26 18:31:12 +01:00
Mike Pall
cea899b61a
Allow changing *.dll/*.lib name in msvcbuild.bat.
2013-02-26 18:31:01 +01:00
Mike Pall
5e601891fc
Replace table.remove with bytecode builtin.
2013-02-24 17:59:04 +01:00
Mike Pall
b8abb4b91d
Fix genlibbc.
2013-02-24 17:58:19 +01:00
Mike Pall
41f3ae26d9
Merge branch 'master' into v2.1
2013-02-24 12:43:15 +01:00
Mike Pall
9b7d2e9276
Properly fix MSVC intrinsics for older versions.
2013-02-24 12:41:53 +01:00
Mike Pall
60e380fd93
Replace table.getn/foreach/foreachi with bytecode builtins.
2013-02-23 02:17:50 +01:00
Mike Pall
73ef845fca
Add special bytecodes for builtins.
...
BC_ISTYPE, BC_ISNUM: fast type checks/coercions.
BC_TGETR, BC_TSETR: fast rawgeti/rawseti, no type checks for table/key.
2013-02-23 02:09:19 +01:00
Mike Pall
b359ce804b
Remove obsolete non-truncating number to integer conversions.
2013-02-23 01:19:00 +01:00
Mike Pall
fdc0ce8deb
Don't modify generated libbc header if unchanged.
2013-02-22 12:29:54 +01:00
Mike Pall
19d5651455
Replace math.deg/math.rad with builtin Lua function.
2013-02-22 01:44:17 +01:00
Mike Pall
e20157c6e6
Add support for embedding LuaJIT bytecode for builtins.
2013-02-22 01:40:41 +01:00
Mike Pall
c3219b7d17
x86/x64: Drop xmm register/memory move tuning for K8.
2013-02-21 17:04:00 +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
61fb587d2c
BRANCH LuaJIT-2.1
2013-02-21 16:49:04 +01:00
Mike Pall
d4bc6ab756
Fix memory access check for fast string interning.
2013-02-21 16:22:26 +01:00
Mike Pall
e7633dba1e
RELEASE LuaJIT-2.0.1 (fixed)
2013-02-19 21:14:27 +01:00
Mike Pall
92699e9ea9
RELEASE LuaJIT-2.0.1
2013-02-19 18:05:39 +01:00
Mike Pall
c7f0b6bca0
Fix capitalization of 'Xbox'.
2013-02-13 11:57:04 +01:00
Mike Pall
4e35c025dc
PPC/e500: Fix lj_vm_floor() for inf/nan.
2013-02-12 12:37:18 +01:00
Mike Pall
339b77ee05
OSX: Add support for Mach-O object files to -b option.
...
Thanks to Adam Strzelecki.
2013-02-11 17:58:06 +01:00
Mike Pall
250b24f937
Improve buffer handling for io.read().
2013-02-11 14:50:18 +01:00
Mike Pall
4a44c4ff69
Bump copyright date to 2013.
2013-02-11 12:54:48 +01:00
Mike Pall
8b46013fdd
FFI: Stricter parsing of declaration specifiers.
2013-02-03 12:47:52 +01:00
Mike Pall
fe9934feea
FFI: Fix handling of qualified transparent structs/unions.
2013-02-03 11:51:19 +01:00
Mike Pall
4eb4b8ab84
Keep line number for KPRI to KNIL optimization.
2013-01-31 12:36:23 +01:00
Mike Pall
f772bed34b
Fix XBox 360 port.
2013-01-30 20:37:39 +01:00
Mike Pall
a3db8f3562
Avoid leaking memory on kernels with recalcitrant mmap() behavior.
2013-01-28 12:29:31 +01:00
Mike Pall
1651684417
Add missing FOLD rules for U32 conversions.
2013-01-21 16:49:03 +01:00
Mike Pall
89e4650bae
Add XBox 360 port.
...
Thanks to Eddie Edwards.
2013-01-21 16:43:49 +01:00
Mike Pall
2c293a96de
FFI: Load FFI library on-demand for bytecode with cdata literals.
2013-01-15 01:16:37 +01:00
Mike Pall
2e8e587638
x86/x64: Always mark ref for shift count as non-weak.
2013-01-14 16:03:32 +01:00
Mike Pall
fec750c892
Another fix for PS3 build.
2013-01-14 14:14:12 +01:00
Mike Pall
ad36fdac50
PPC/e500: Remove assembler code for lj_vm_foldarith().
2013-01-11 13:36:01 +01:00
Mike Pall
8a3be5da74
Remove redundant code in jit/*.lua.
2013-01-11 12:30:10 +01:00
Mike Pall
f0a0a23533
Remove fictitious Solaris define.
2013-01-11 12:23:44 +01:00
Mike Pall
e434ab505e
Fix PS3 build.
2013-01-11 12:19:53 +01:00
Mike Pall
f22d5d9eef
Fix discharge order of comparisons in Lua parser.
2013-01-11 12:19:05 +01:00
Mike Pall
fb101458c5
Allow using MSVC intrinsics with older versions.
2013-01-03 21:41:27 +01:00
Mike Pall
8b97dc738f
FFI: Fix code generation for bool call result check on x86/x64.
2013-01-02 23:56:49 +01:00
Mike Pall
9827650582
ARM: Handle armv7s arch defines.
...
Thanks to Joey Liaw.
2012-12-10 09:55:14 +01:00
Mike Pall
e422ae2d9d
Leave hook when resume catches error thrown from hook.
2012-12-06 14:14:11 +01:00
Mike Pall
41738e371a
ARM: Fix code generation for integer math.min/math.max.
2012-12-02 21:22:00 +01:00
Mike Pall
ee748dd029
ARM: Fix armhf call argument handling.
2012-12-02 21:21:02 +01:00
Mike Pall
405020c405
FFI: Add debug define to check for unanchored CTypes.
2012-11-26 11:01:59 +01:00
Mike Pall
2ad9834df6
Add missing GC steps for template table creation.
2012-11-16 13:20:12 +01:00
Mike Pall
16f23458bc
FFI: Change priority of table initializer variants for structs.
2012-11-15 00:26:34 +01:00
Mike Pall
2689f32453
Prevent erroneous x64 builds with non-native exception handling.
2012-11-14 22:16:10 +01:00
Mike Pall
c77a9e4c65
Don't clear frame for out-of-memory error.
2012-11-14 21:54:27 +01:00
Mike Pall
32fa68d3e8
Fix assertion.
2012-11-14 21:54:17 +01:00
Mike Pall
1cd13f6b33
x64: Don't fuse implicitly 32-to-64 extended operands.
2012-11-13 19:20:52 +01:00
Mike Pall
0613358991
ARM: Fix ordered comparisons for number <=> non-number.
2012-11-07 18:05:23 +01:00
Mike Pall
8a11869d49
FFI: Fix stack-adjustment for __thiscall callbacks.
2012-11-07 18:04:58 +01:00
Mike Pall
4e5ef81b86
FFI: Fix recording of bool call result check on x86/x64.
2012-11-06 17:05:37 +01:00
Mike Pall
8a1a6097be
FFI: Fix signedness of bool.
2012-11-06 17:04:21 +01:00
Mike Pall
c022692ab0
Don't propagate implicitly widened number to index metamethods.
2012-11-06 16:58:52 +01:00
Mike Pall
ae1987d535
Fix CONV.num.int sinking.
2012-11-06 16:57:50 +01:00
Mike Pall
69906d15de
Don't create unneeded array part for template tables.
2012-11-06 16:56:25 +01:00
Mike Pall
eb6f890ebd
RELEASE LuaJIT-2.0.0-rc1
2012-10-31 18:24:10 +01:00
Mike Pall
b0dde5b2b1
FFI: Fix code generation for replay of sunk float fields.
2012-10-29 17:21:44 +01:00
Mike Pall
c7990063e0
Fix builtin string to number conversion for INT_MIN.
2012-10-24 23:46:21 +02:00
Mike Pall
1d5c2ce4e2
Replace error with PANIC for callbacks from JIT-compiled code.
2012-10-21 19:17:14 +02:00
Mike Pall
f6536c6696
Fix detection of immutable upvalues.
2012-10-21 13:51:12 +02:00
Mike Pall
614e78d1f6
Fix recording of equality comparisons with __eq metamethods.
2012-10-19 17:03:41 +02:00
Mike Pall
e32cc2a0dc
Fix Android/x86 build.
2012-10-17 14:22:26 +02:00
Mike Pall
4baa01be78
RELEASE LuaJIT-2.0.0-beta11
2012-10-16 20:13:01 +02:00
Mike Pall
bbe35adfcd
MIPS: Compile math.sqrt() to sqrt.d instruction.
2012-10-15 21:28:10 +02:00
Mike Pall
a58b86dad3
PPC: Compile math.sqrt() to fsqrt instruction.
2012-10-15 21:23:20 +02:00
Mike Pall
2621617a92
ARM: Drop hard-fp variants of floor/ceil/trunc.
...
Soft-fp variants are faster on a Cortex-A9. Duh.
2012-10-15 16:53:03 +02:00
Mike Pall
1447ee6520
ARM, MIPS: Fix workaround for argument GPRs vs. FPR remat.
2012-10-15 15:47:15 +02:00
Mike Pall
93e4040b60
Workaround for broken Android sprintf("%g", -0.0).
2012-10-15 01:31:56 +02:00
Mike Pall
c25d4daaa5
Add note to recalcitrant distro maintainers.
2012-10-14 21:52:35 +02:00
Mike Pall
b50375a11c
From Lua 5.2: Add package.loadlib(libname, "*").
2012-10-12 14:42:40 +02:00
Mike Pall
fff12979fe
From Lua 5.2: Add format options to io.lines().
2012-10-12 14:11:41 +02:00
Mike Pall
fd292c9f26
Fix assertion.
2012-10-11 21:40:46 +02:00
Mike Pall
0b55e05d06
FFI: Compile ffi.gc().
2012-10-10 18:56:16 +02:00
Mike Pall
1c626112a0
FFI: Compile ffi.sizeof(), ffi.alignof() and ffi.offsetof().
2012-10-10 18:16:18 +02:00
Mike Pall
4a97faef7e
FFI: Compile array/struct copies.
2012-10-09 21:51:30 +02:00
Mike Pall
a7d1dbacb1
FFI: Optimize ffi.copy() and ffi.fill().
2012-10-09 21:49:57 +02:00
Mike Pall
5ebe4990ba
Add LJ_TARGET_UNALIGNED.
2012-10-09 21:42:42 +02:00
Mike Pall
0452e97ba0
Add FOLD rules for CONV.int.i8/u8/i16/u16 of KINT.
2012-10-09 21:36:56 +02:00
Mike Pall
eabfdfe1aa
Don't use stack unwinding for lua_yield().
2012-10-09 13:19:57 +02:00
Mike Pall
da682b0e91
FFI: Add support for copy constructors.
2012-10-08 17:15:28 +02:00
Mike Pall
c681e009c0
PPC: Fix string.sub() range check.
2012-10-07 17:12:28 +02:00
Mike Pall
2f5ed5d0df
From Lua 5.2: Add string.rep(s, n, sep).
2012-10-07 17:11:39 +02:00
Mike Pall
0561a56938
From Lua 5.2: Add math.log(x, base).
2012-10-07 15:47:11 +02:00
Mike Pall
0d62e2e1ab
Clarify comments in Makefile on -DLUAJIT_ENABLE_LUA52COMPAT.
2012-10-04 13:55:34 +02:00
Mike Pall
2e9f4efd20
Fix scope for resolving break labels.
2012-10-03 11:53:18 +02:00
Mike Pall
8d8dbf27b8
Fix x64 build.
2012-10-02 18:07:31 +02:00
Mike Pall
faf05c3a13
From Lua 5.2: '%s' option to string.format() behaves like tostring().
2012-10-02 11:59:32 +02:00
Mike Pall
0d7094f36e
From Lua 5.2: Return nil for bad position in string.find().
...
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-10-02 11:56:33 +02:00
Mike Pall
b66ab96a62
Move a GC macro.
2012-10-02 09:57:49 +02:00
Mike Pall
fcddd5a3a0
From Lua 5.2: Add luaL_traceback().
2012-10-01 20:45:30 +02:00
Mike Pall
3ad61689cf
Update dependencies.
2012-09-28 19:32:39 +02:00
Mike Pall
d08e7bd518
From Lua 5.2: Allow mixed metamethods for ordered comparisons.
...
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-28 19:30:08 +02:00
Mike Pall
550ac44e41
From Lua 5.2: Remove error for ambiguous function call syntax.
...
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-28 18:12:43 +02:00
Mike Pall
7a6bb9a208
From Lua 5.2: Return file object for io.write() and file:write().
...
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-28 17:54:18 +02:00
Mike Pall
26841296ab
From Lua 5.2: Add table.pack(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-28 17:29:17 +02:00
Mike Pall
e013206dd8
FFI: ctypeid of ctype object is immutable.
2012-09-27 14:48:13 +02:00
Mike Pall
d4d9807f45
Fold KPTR + offset in SPLIT pass.
2012-09-27 14:39:16 +02:00
Mike Pall
0ecdff43e8
x86: Fix register allocation for calls returning register pair.
2012-09-27 14:16:18 +02:00
Mike Pall
cfca926cc2
From Lua 5.2: Extended results from os.execute() and pipe:close().
...
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-24 19:00:54 +02:00
Mike Pall
125cc87988
From Lua 5.2: Add debug.getuservalue() and debug.setuservalue().
...
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-24 17:52:32 +02:00
Mike Pall
ca0bb4881f
From Lua 5.2: Add rawlen(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-24 17:33:32 +02:00
Mike Pall
4c7c2c8319
Rearrange library functions to get a fixed FF_next.
2012-09-24 17:13:53 +02:00
Mike Pall
d9c5eba1bb
Remove some library functions for no-JIT/no-FFI builds.
2012-09-24 16:56:07 +02:00
Mike Pall
2ff4afeb4f
Allow conditional inclusion of builtin library functions.
2012-09-24 16:55:10 +02:00
Mike Pall
2ba16862c7
From Lua 5.2: Add mode and env arguments to load*().
2012-09-21 16:33:14 +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
98f05808fa
Fix package.searchpath().
2012-09-21 16:14:17 +02:00
Mike Pall
40afe71c3f
Fix last commit.
2012-09-20 17:41:32 +02:00
Mike Pall
8352335c74
From Lua 5.2: Add debug.upvalueid() and debug.upvaluejoin().
...
Ditto for lua_upvalueid() and lua_upvaluejoin().
2012-09-20 17:36:15 +02:00
Mike Pall
a9baead59f
From Lua 5.2: debug.getinfo(..., "u") returns nparams and isvararg.
2012-09-20 15:50:20 +02:00
Mike Pall
965694b0af
Fix 'f' and 'L' options for debug.getinfo() and lua_getinfo().
2012-09-20 15:19:48 +02:00
Mike Pall
2d3c1967c7
Disable LUA_COMPAT_GFIND and LUA_COMPAT_MOD in Lua 5.2 mode.
2012-09-19 18:14:00 +02:00
Mike Pall
16d8c83743
From Lua 5.2: debug.setmetatable() returns object.
...
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-19 16:33:50 +02:00
Mike Pall
1afcea1435
From Lua 5.2: 'break' allowed anywhere.
...
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-19 16:33:39 +02:00
Mike Pall
c687d01c46
From Lua 5.2: debug.getlocal() accepts function arg, too.
2012-09-19 12:08:35 +02:00
Mike Pall
7d49b19ad0
From Lua 5.2: debug.getlocal()/setlocal() treats slot < 0 as vararg.
2012-09-19 12:06:56 +02:00
Mike Pall
998c656dc4
From Lua 5.2: debug.getupvalue() returns "" for C function upvalues.
2012-09-19 12:03:03 +02:00
Mike Pall
ead325b0c9
From Lua 5.2: Add goto and : 🏷️ : statements.
2012-09-16 18:46:04 +02:00
Mike Pall
aed2009378
Fix despecialization of ITERN when already running.
2012-09-12 16:58:47 +02:00
Mike Pall
23932a6c8b
Use 0/1 macro for Lua 5.2 compatibility.
2012-09-12 11:20:47 +02:00
Mike Pall
039bf85e26
Add more assertions for stack consistency during recording.
2012-09-12 11:02:19 +02:00
Mike Pall
76ab3709da
FFI: Correctly propagate alignment when interning nested types.
2012-09-10 18:05:54 +02:00
Mike Pall
21cea85d92
FFI: Always resolve metamethods for pointers to structs.
2012-09-08 21:03:40 +02:00
Mike Pall
0648fd47cb
FFI: Handle __pairs/__ipairs metamethods for cdata objects.
2012-09-03 21:11:08 +02:00
Mike Pall
90ec1f90d0
Fix recording of ctype() constructors for pointers.
2012-09-03 21:08:37 +02:00
Mike Pall
a6d636c508
Preserve snapshot #0 PC for all traces (potential gcstep exit).
2012-09-01 00:58:00 +02:00
Mike Pall
d3699997fa
Add check for unsupported MIPS soft-float targets.
2012-08-30 10:31:26 +02:00
Mike Pall
ff00a78f3a
Limit recursion depth in string.match() et al.
2012-08-28 21:22:23 +02:00
Mike Pall
751cd9d821
Don't constify upvalues that may retain large amounts of memory.
2012-08-28 15:24:53 +02:00
Mike Pall
c7826af5a0
FFI: Detect type punning through unions.
2012-08-27 20:53:37 +02:00
Mike Pall
76b18b2b46
Add table of IR type sizes.
2012-08-27 20:27:01 +02:00
Mike Pall
30f458fb4d
ARM, PPC, MIPS: Improve XLOAD operand fusion and register hinting.
2012-08-27 20:25:54 +02:00
Mike Pall
1e477e6487
Fix underflow handling in builtin string to number conversion.
2012-08-27 14:26:50 +02:00
Mike Pall
774280d9c1
Replace some trivial uses of fprintf() with fputs.
2012-08-26 20:13:23 +02:00
Mike Pall
c0efa6f00e
Replace divisions with simpler code.
2012-08-26 19:41:35 +02:00
Mike Pall
cf3a263044
Fix compilation with FFI disabled.
2012-08-26 14:36:00 +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
653facd0d5
Add support for '%a' and '%A' to string.format.
2012-08-25 22:46:22 +02:00
Mike Pall
52ca2cc8ba
ARM: Fix base register coalescing.
2012-08-25 18:38:30 +02:00
Mike Pall
099635c86c
ARM: Fix commit ceaa60c0
.
2012-08-25 14:13:47 +02:00
Mike Pall
f2479a9654
Minor fixes to FOLD rules.
2012-08-20 18:45:50 +02:00
Mike Pall
af2cb02542
ARM: Fix hard-float lj_vm_trunc() (used by compiled math.modf).
2012-08-19 22:37:43 +02:00
Mike Pall
1fef2df3e8
MIPS: Don't use argument GPRs to rematerialize FPR arguments.
2012-08-19 18:44:29 +02:00
Mike Pall
ceaa60c0c7
ARM: Don't use argument GPRs to rematerialize FPR arguments.
2012-08-19 18:43:04 +02:00
Mike Pall
1481263aaa
ARM, MIPS, PPC: Rematerialize FPR invariants first.
2012-08-19 18:42:08 +02:00
Mike Pall
2ac083cb5a
MIPS: Fix calls to floor/ceil/trunc.
2012-08-19 18:41:34 +02:00
Mike Pall
f58a84d0bc
ARM: Fix calls to hard-float floor/ceil/trunc.
2012-08-19 18:39:47 +02:00
Mike Pall
d61e9e5d89
Fix shrinking of direct mapped block in builtin allocator.
2012-08-16 13:18:40 +02:00
Mike Pall
0dd175d9e7
Fix last commit.
2012-08-15 21:08:00 +02:00
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
Mike Pall
e75561b70e
FFI: Fix address calculation for refs.
...
Fixes bug introduced in commit 5032e6d8
.
2012-06-09 00:23:27 +02:00
Mike Pall
cccf763898
Move lib/* to src/jit/*.
2012-06-08 21:14:33 +02:00
Mike Pall
7266e27404
Correctly preserve snapshot #0 PC for root traces (insert NOP).
2012-06-08 19:22:59 +02:00
Mike Pall
fad5382d21
Rearrange OSX vs. iOS defines. Disable callbacks on iOS.
2012-06-08 11:59:23 +02:00
Mike Pall
0bd1a66f2f
Print version and JIT status to stdout, not stderr.
2012-06-06 14:17:15 +02:00
Mike Pall
9ab2ae8d46
Split-off large-file support flags to TARGET_LFSFLAGS.
2012-06-05 00:12:43 +02:00
Mike Pall
5032e6d87f
FFI: Use CNEWI/FLOAD to box/access ffi.new("int", x) (for varargs).
2012-06-04 15:39:16 +02:00
Mike Pall
fa2572da6c
FFI: Convert io.* file handle to FILE * pointer (but as a void *).
2012-05-29 12:09:18 +02:00
Mike Pall
97b7edb206
Fix argument checks for coroutine.create().
2012-05-28 21:38:23 +02:00
Mike Pall
10b9ed37e0
PPC/e500: Fix tailcall from fast function (esp. tostring).
2012-05-23 22:22:10 +02:00
Mike Pall
3a43ea5084
FFI: Equality comparisons never raise an error.
2012-05-23 22:20:27 +02:00
Mike Pall
f3197046b8
Preserve snapshot #0 PC for root traces.
2012-05-14 17:35:05 +02:00
Mike Pall
e6bcb545f8
FFI: Don't call FreeLibrary() on our own EXE/DLL.
2012-05-14 13:41:08 +02:00
Mike Pall
74205dc64b
ARM/PPC/MIPS: Fix tailcall from fast function (esp. tostring).
2012-05-10 16:21:14 +02:00
Mike Pall
3fc5948abf
ARM: Fix modulo operator and math.floor/ceil for inf/nan.
2012-05-10 16:19:07 +02:00
Mike Pall
48567b6043
ARM: Fix tonumber() argument check.
2012-05-10 16:17:23 +02:00
Mike Pall
51f05d64c9
RELEASE LuaJIT-2.0.0-beta10
2012-05-09 18:11:35 +02:00
Mike Pall
c8a1f274af
Remove stray comment.
2012-05-09 17:53:05 +02:00
Mike Pall
6e5c872eb7
FFI: Fix recording of test for bool result of call.
2012-05-09 16:25:51 +02:00
Mike Pall
7d3954036c
FFI: Don't record test for bool result of call, if ignored.
2012-05-08 18:59:51 +02:00
Mike Pall
886a450a3d
FFI: Allow 'typedef _Bool int BOOL;' to make Windows users happy.
2012-05-08 18:34:12 +02:00
Mike Pall
0d824b7d14
Fix PHI stack slot syncing.
2012-05-07 23:16:19 +02:00
Mike Pall
afc17b3c1a
FFI: Use correct PC in FFI metamethod error message.
2012-05-05 22:58:29 +02:00
Mike Pall
53a285c0c3
Disable loading bytecode with an extra header (BOM or #!).
2012-05-03 19:04:44 +02:00
Mike Pall
eec0d80d1b
ARM: Fix compilation of math.sinh/cosh/tanh.
2012-04-30 17:09:41 +02:00
Mike Pall
8d31b5cdde
ARM: Fix rejoin of pow in SPLIT pass.
2012-04-30 12:59:45 +02:00
Mike Pall
9a2ae72bce
ARM: Handle all CALL* ops with double results in SPLIT pass.
2012-04-29 21:25:46 +02:00
Mike Pall
e099059afd
Add more comparison variants to Valgrind suppressions file.
2012-04-26 23:47:00 +02:00
Mike Pall
d4a09431c8
ARM/FFI: Invoke SPLIT pass for double args in FFI call.
2012-04-26 23:46:23 +02:00
Mike Pall
325a1820eb
ARM: Fix conditional branch fixup for OBAR.
2012-04-26 23:34:54 +02:00
Mike Pall
0522f74f69
ARM: Fix register allocation for ldrd-optimized HREFK.
2012-04-26 23:33:56 +02:00
Mike Pall
904cc1facb
ARM: Reorder type/value tests to silence Valgrind.
2012-04-26 23:33:20 +02:00
Mike Pall
ba3cad0dd9
Add required PHIs for implicit conversions (via XREF fwd).
2012-04-19 15:05:55 +02:00
Mike Pall
ac6b678d4c
FFI: Fix result type of pointer difference.
2012-04-17 12:54:38 +02:00
Mike Pall
7aa34aa4de
Fix dependencies.
2012-04-17 12:37:34 +02:00
Mike Pall
cf5a54fedf
FFI: Fix blacklisting of C functions calling callbacks.
2012-04-12 14:21:41 +02:00
Mike Pall
68ca796d28
Make lua_concat() work from C hook with partial frame.
2012-04-12 12:02:38 +02:00
Mike Pall
3ed5172fe4
Fix DSE of USTORE. Have to remove OBAR, too.
2012-04-11 16:22:05 +02:00
Mike Pall
39112fd6fb
Fix bytecode JMP slot range after const + and/or optimization.
2012-04-11 15:17:11 +02:00
Mike Pall
44876ec99f
Limit number of userdata __gc separations at state close.
2012-04-11 15:15:50 +02:00
Mike Pall
e14b6346b4
Ensure running __gc of userdata created in __gc at state close.
2012-04-11 12:08:09 +02:00
Mike Pall
d621a6ccc2
Fix discharge order of comparisons in Lua parser.
2012-04-09 14:48:27 +02:00
Mike Pall
5a83601589
MIPS: Add support for GDB JIT API.
2012-04-01 20:01:13 +02:00
Mike Pall
407cc5e9ec
FFI: Fix symbol resolving error messages on Windows.
2012-03-31 22:23:46 +02:00
Mike Pall
03275ba7fc
FFI: Fix resolving of function name redirects on Windows/x86.
2012-03-31 22:19:47 +02:00
Mike Pall
bcd459aa0e
MIPS: Integrate and enable JIT compiler.
2012-03-30 01:36:55 +02:00
Mike Pall
2225c9aafc
MIPS: Add MIPS32R2 compile-time/runtime CPU detection.
2012-03-30 01:34:17 +02:00
Mike Pall
aaaf0e0f5f
MIPS: Interpreter/JIT integration
2012-03-30 01:33:38 +02:00
Mike Pall
1980ee95b0
PPC: Use builtin D-Cache/I-Cache sync code.
2012-03-29 01:14:24 +02:00
Mike Pall
a53a549774
PPC: Fix HREFK code generation for huge tables.
2012-03-29 01:11:23 +02:00
Mike Pall
509ca0f0db
PPC: Fix fusion of floating-point XLOAD/XSTORE.
2012-03-29 01:10:35 +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
018792452e
Replace unwind.h definitions with our own.
2012-03-25 21:52:07 +02:00
Mike Pall
339142c2aa
FFI: Change ffi.load() library name resolution for Cygwin.
2012-03-21 22:09:01 +01:00
Mike Pall
9589e11e44
Avoid recursive GC steps after GC-triggered trace exit.
2012-03-20 14:18:14 +01:00
Mike Pall
5dbb6671a3
Fix compilation on OpenBSD.
...
Thanks to Laurence Tratt.
2012-03-15 12:01:13 +01:00
Mike Pall
6670a13bbf
Add missing mcode limit check in assembler backend.
2012-03-12 00:51:25 +01:00
Mike Pall
8ae38dc519
FFI: Finalize cdata before userdata when closing the state.
2012-03-05 15:05:28 +01:00
Mike Pall
7498ee204e
Fix argument error handling on Lua stacks without a frame.
2012-02-22 16:27:44 +01:00
Mike Pall
5e113d0058
Fix argument type in error message for relative arguments.
2012-02-22 16:26:50 +01:00
Mike Pall
ff71394931
From Lua 5.2: Try __tostring metamethod on non-string error messages.
2012-02-13 20:08:29 +01:00
Mike Pall
8e524d437e
Fix bytecode dump for certain number constants.
2012-02-04 00:32:45 +01:00
Mike Pall
d72d758a11
FFI: Fix library unloading on POSIX systems.
2012-02-01 18:21:12 +01: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
7d2774e4c5
PPC: Avoid pointless arg clearing in BC_IFUNCF. Remove dead code.
2012-01-23 19:18:40 +01:00
Mike Pall
9f485115ef
PPC: Fix argument checking for rawget.
2012-01-23 19:14:19 +01:00
Mike Pall
0a8fd0af8c
PPC: Fix resume after yield from hook.
2012-01-23 19:13:26 +01:00
Mike Pall
93a71f6a52
ARM: Avoid pointless arg clearing in BC_IFUNCF. Fix comments.
2012-01-23 19:17:19 +01:00
Mike Pall
a72134e280
Fix parsing of hex literals with exponents.
2012-01-20 11:38:14 +01:00
Mike Pall
2f396c6db7
FFI: Don't touch frame in callbacks with tailcalls to fast functions.
2012-01-15 17:05:34 +01:00
Mike Pall
248cf2ffa9
FFI: Ignore number parsing errors while skipping definitions.
2011-12-17 15:02:53 +01:00
Mike Pall
d050b2fff5
FFI: Ignore empty statements in ffi.cdef().
2011-12-17 15:02:00 +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
6ace80c897
RELEASE LuaJIT-2.0.0-beta9
2011-12-14 15:12:49 +01:00
Mike Pall
a064156d5d
PPC: Avoid undefined operand dereference in BAND/shift fusion.
2011-12-13 18:05:51 +01:00
Mike Pall
03c51fc578
FFI: Add callback support for ARM.
2011-12-12 23:16:55 +01:00
Mike Pall
1b0d646004
FFI: Add callback support for PPC.
2011-12-12 23:11:49 +01:00
Mike Pall
10474987bd
Move helper for syncing data/instruction cache to lj_mcode.c.
...
Sync caches after dynamic code generation for FFI callbacks.
2011-12-12 23:10:46 +01:00
Mike Pall
2d8f3d75df
ARM: Error out for attempt to compile with hard-float ABI.
2011-12-10 17:15:38 +01:00
Mike Pall
60b8e9e2fb
ARM: Fix stack check for spilled BASE in parent.
2011-12-10 00:18:19 +01:00
Mike Pall
2591b4524a
x64: Always extend stack arguments to pointer size.
2011-12-09 16:00:04 +01:00
Mike Pall
63981436f7
Fix compiler warning.
2011-12-09 15:57:20 +01:00
Mike Pall
e162d8cef0
FFI: Fix stack adjustment for calls to stdcall/fastcall functions.
2011-12-01 16:27:24 +01:00
Mike Pall
ff7e9bc464
FFI: Need to treat strlen() as a load.
2011-11-27 18:22:48 +01:00
Mike Pall
0a31c6373c
Don't increment module reference counts due to symbol resolving.
2011-11-27 11:45:55 +01:00
Mike Pall
e3c7476533
FFI: Record ffi.errno().
2011-11-26 16:56:09 +01:00
Mike Pall
1a42c03807
Fix stack check in side exit.
2011-11-25 19:36:48 +01:00
Mike Pall
c142b6c53e
FFI: Record C function calls with bool return values.
2011-11-25 19:36:35 +01:00
Mike Pall
b3f16cb64d
FFI: Fix line info for result conversion errors in callbacks.
2011-11-25 19:35:58 +01:00
Mike Pall
90c445851f
FFI: Fix GetLastError() save/restore around ffi.load().
2011-11-25 12:25:51 +01:00
Mike Pall
c2dcf39ee3
FFI: Improve ld script detection in ffi.load().
2011-11-25 11:19:59 +01:00
Mike Pall
923738459d
Do not eliminate PHIs only referenced from other PHIs.
2011-11-24 00:42:14 +01:00
Mike Pall
bd758df76a
Replace stack slot for implicit number->string conv. in Lua/C API.
2011-11-21 20:50:27 +01:00
Mike Pall
cecbe3c15f
Specialize to prototype for non-monomorphic functions.
...
Solves the trace-explosion problem with closure-heavy programming.
2011-11-20 19:16:40 +01:00
Mike Pall
cc7a12be93
Count frames with same prototype in call unroll limit check.
2011-11-20 17:59:41 +01:00
Mike Pall
f8a4769fb2
Keep maximum frame extent in snap->topslot.
2011-11-20 17:56:47 +01:00
Mike Pall
dc2a39e46d
Get rid of snap->depth.
2011-11-20 13:23:25 +01:00
Mike Pall
726dc42c32
Fix debug option for msvcbuild.bat.
2011-11-17 17:34:23 +01:00
Mike Pall
b1efcef745
FFI: Add missing GC barrier for callback registration.
2011-11-15 16:43:43 +01:00
Mike Pall
d4df8d7825
FFI: Save GetLastError() around ffi.load() and symbol resolving, too.
2011-11-15 16:37:06 +01:00