Mike Pall
6c8258d74b
LJ_FR2: Add support for trace recording and snapshots.
...
Contributed by Peter Cawley.
2016-05-23 01:49:00 +02:00
Mike Pall
8f868a9d02
LJ_GC64: Update IR type sizes.
...
Contributed by Peter Cawley.
2016-05-23 00:38:18 +02:00
Mike Pall
f26679c719
LJ_GC64: Add support for 64 bit GCobj constants in the IR.
...
Contributed by Peter Cawley.
2016-05-23 00:34:05 +02:00
Mike Pall
9e99ccc360
Strip out old infrastructure for 64 bit constants.
...
Contributed by Peter Cawley.
2016-05-23 00:27:51 +02:00
Mike Pall
7fb75ccc4c
Embed 64 bit constants directly in the IR, using two slots.
...
Contributed by Peter Cawley.
2016-05-23 00:25:29 +02:00
Mike Pall
a4067978b6
Always walk IR constants in ascending order.
...
Prerequisite for embedding 64 bit constants directly in the IR.
Contributed by Peter Cawley.
2016-05-22 23:45:40 +02:00
Mike Pall
3152ed98ea
Simplify GCtrace * reference embedding for trace stitching.
...
This is now possible due to the immovable IR.
Contributed by Peter Cawley.
2016-05-22 23:40:37 +02:00
Mike Pall
a657fa0186
Make the IR immovable after assembly.
...
This allows embedding pointers to IR constants in the machine code.
Contributed by Peter Cawley.
2016-05-22 23:25:28 +02:00
Mike Pall
513587656a
Add ra_addrename().
...
Contributed by Peter Cawley.
2016-05-21 01:45:18 +02:00
Mike Pall
ccae333844
Load SIMD constants with IR_FLOAD from GG_State.
...
Contributed by Peter Cawley.
2016-05-21 01:04:17 +02:00
Mike Pall
786dbb2ebd
Add IR_FLOAD with REF_NIL for field loads from GG_State.
...
Contributed by Peter Cawley.
2016-05-21 01:00:49 +02:00
Mike Pall
cfa188f134
Move common 32/64 bit in-memory FP constants to jit_State.
...
Prerequisite for immovable IR.
Contributed by Peter Cawley.
2016-05-21 00:02:45 +02:00
Mike Pall
1931b38da5
LJ_GC64: Introduce IRT_PGC.
...
Contributed by Peter Cawley.
2016-05-20 22:41:42 +02:00
Mike Pall
475a6ae33f
Merge branch 'master' into v2.1
2016-05-20 20:26:39 +02:00
Mike Pall
37e1e70313
Add guard for obscure aliasing between open upvalues and SSA slots.
...
Thanks to Peter Cawley.
2016-05-20 20:24:06 +02:00
Mike Pall
d4f3b1136b
Workaround for MinGW headers lacking some exception definitions.
2016-05-20 19:45:38 +02:00
Mike Pall
4fe400cfd5
Merge branch 'master' into v2.1
2016-05-20 19:44:23 +02:00
Mike Pall
5837c2a2fb
Remove assumption that lj_math_random_step() doesn't clobber FPRs.
2016-05-20 19:43:34 +02:00
Mike Pall
573daa9c97
Fix dependencies.
2016-05-19 15:09:08 +02:00
Mike Pall
35b09e692e
Windows/x86: Add full exception interoperability.
...
Contributed by Peter Cawley.
2016-05-07 12:32:15 +02:00
Mike Pall
6a9973203c
Merge branch 'master' into v2.1
2016-05-06 12:09:23 +02:00
Mike Pall
f05280e415
x86/x64: Fix instruction length decoder.
...
Thanks to Peter Cawley.
2016-05-06 12:08:00 +02:00
Mike Pall
221268b17d
Use the GDB JIT API in a thread-safe manner.
...
Thanks to Peter Cawley.
2016-05-03 18:31:29 +02:00
Mike Pall
ac42037db0
Constrain value range of lj_ir_kptr() to unsigned 32 bit pointers.
...
Thanks to Peter Cawley.
2016-04-24 17:32:12 +02:00
Mike Pall
d8ac6230ed
Merge branch 'master' into v2.1
2016-04-24 17:14:35 +02:00
Mike Pall
7b26e9c998
Fix GCC 6 -Wmisleading-indentation warnings.
...
Thanks to Roman Tsisyk.
2016-04-24 17:13:45 +02:00
Mike Pall
344fe5f01d
Merge branch 'master' into v2.1
2016-04-21 17:01:36 +02:00
Mike Pall
2f0001fad0
Fix handling of non-numeric strings in arithmetic coercions.
...
Thanks to Vyacheslav Egorov.
2016-04-21 17:00:58 +02:00
Mike Pall
4c6498d245
Merge branch 'master' into v2.1
2016-04-18 13:41:41 +02:00
Mike Pall
cc4f5d056a
Whitespace.
2016-04-18 13:40:49 +02:00
Mike Pall
d13d420980
Merge branch 'master' into v2.1
2016-04-18 11:17:15 +02:00
Mike Pall
73680a5fc7
x86/x64: Search for exit jumps with instruction length decoder.
...
Contributed by Peter Cawley.
2016-04-18 11:16:13 +02:00
Mike Pall
0c6fdc1039
Rewrite memory block allocator.
...
Use a mix of linear probing and pseudo-random probing.
Workaround for 1GB MAP_32BIT limit on Linux/x64. Now 2GB with !LJ_GC64.
Enforce 128TB LJ_GC64 limit for > 47 bit memory layouts (ARM64).
2016-04-18 10:57:49 +02:00
Mike Pall
101115ddd8
Merge branch 'master' into v2.1
2016-04-14 00:16:17 +02:00
Mike Pall
e5b5e079c3
MIPS: Fix BC_ISNEXT fallback path.
...
Thanks to RT-RK.com.
2016-04-14 00:14:42 +02:00
Mike Pall
096a7cf4e4
x64/LJ_GC64: Fix BC_UCLO check for fast-path.
...
Thanks to Vyacheslav Egorov.
2016-04-13 16:10:03 +02:00
Mike Pall
ac9193cfeb
x86: Improve disassembly of BMI2 instructions.
...
Thanks to Peter Cawley.
2016-04-05 15:10:14 +02:00
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