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