Mike Pall
b93a1dd0c8
Bump copyright date to 2017.
2017-01-17 12:35:03 +01:00
Mike Pall
c94b921f92
LJ_GC64: Add build options and install instructions.
2017-01-17 12:21:12 +01:00
Mike Pall
c198167690
Add some more extensions from Lua 5.2/5.3.
...
Contributed by François Perrad.
2017-01-17 11:37:28 +01:00
Mike Pall
12c0df4189
Merge branch 'master' into v2.1
2017-01-17 10:47:42 +01:00
Mike Pall
a2013dd39a
Fix cross-endian jit.bcsave for MIPS target.
2017-01-17 10:46:45 +01:00
Mike Pall
8e5d7bec0d
ARM64: Remove unused variables in disassembler.
...
Thanks to François Perrad.
2016-12-30 17:54:10 +01:00
Mike Pall
ebec2530be
ARM64: Fuse BOR/BXOR and BNOT into ORN/EON.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-12-15 22:47:40 +01:00
Mike Pall
fb61f7cbe3
Add "proto" field to jit.util.funcinfo().
...
Backport.
2016-12-15 22:45:28 +01:00
Mike Pall
1973807480
Add "proto" field to jit.util.funcinfo().
2016-12-13 21:30:13 +01:00
Mike Pall
4ccd876a65
ARM64: Use the correct FUSE check.
...
Oops, my bad.
2016-12-09 18:24:48 +01:00
Mike Pall
44b99ff14d
ARM64: Fuse BOR(BSHL, BSHR) into EXTR/ROR.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-12-09 18:16:12 +01:00
Mike Pall
ec2756ba78
Add missing FOLD rule for 64 bit shift+BAND simplification.
2016-12-08 22:38:35 +01:00
Mike Pall
986854cbb2
ARM64: Fix code generation for S19 offsets.
...
Contributed by Zhongwei Yao.
2016-12-08 05:53:36 +01:00
Mike Pall
3975b6c9f4
ARM64: Fuse various BAND/BSHL/BSHR/BSAR combinations.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-12-08 04:09:29 +01:00
Mike Pall
2772cbc36e
ARM64: Fuse FP multiply-add/sub.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-12-08 01:38:09 +01:00
Mike Pall
bfeb1167cd
ARM64: Fuse XLOAD/XSTORE with STRREF/ADD/BSHL/CONV.
2016-12-07 18:40:31 +01:00
Mike Pall
2ac2cd4699
ARM64: Reorganize operand extension definitions.
2016-12-07 18:38:32 +01:00
Mike Pall
48b00297b3
ARM64: Add missing ldrb/strb instructions to disassembler.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-12-07 18:34:10 +01:00
Mike Pall
22511fbe2b
ARM64: Fix pc-relative loads of consts. Cleanup branch codegen.
...
Thanks to Zhongwei Yao.
2016-12-07 09:42:43 +01:00
Mike Pall
3ad2bbf586
ARM64: Make use of tbz/tbnz and cbz/cbnz.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-11-29 19:30:40 +01:00
Mike Pall
d7243e1de0
Eliminate use of lightuserdata derived from static data pointers.
...
Required for >47 bit VA, e.g. ARM64.
2016-11-24 19:14:17 +01:00
Mike Pall
81259898ea
ARM64: Emit more efficient trace exits.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-11-24 18:56:19 +01:00
Mike Pall
a56654460d
Generalize deferred constant handling in backend to 64 bit.
2016-11-21 15:43:17 +01:00
Mike Pall
2b77da35bc
ARM64: Reject special case in emit_isk13().
2016-11-20 23:32:17 +01:00
Mike Pall
7a0c3a1127
ARM64: Allow full VA range for mcode allocation.
2016-11-20 23:17:45 +01:00
Mike Pall
04b60707d7
ARM64: Add JIT compiler backend.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.
2016-11-20 22:18:14 +01:00
Mike Pall
13642b75ac
Whitespace.
2016-11-20 22:14:09 +01:00
Mike Pall
202713a638
Fix amalgamated build.
2016-11-19 20:53:31 +01:00
Mike Pall
e577db52c5
Increase range of GG_State loads via IR_FLOAD with REF_NIL.
...
Require 32 bit alignment and store offset/4 instead.
Otherwise this can overflow the 10 bit limit for the FOLD op2 key.
2016-11-19 19:53:46 +01:00
Mike Pall
5400c1e424
MIPS: Fix TSETR barrier.
...
Thanks to tongwell.
2016-11-16 11:18:10 +01:00
Mike Pall
7a58a8fb3d
Report parent of stitched trace.
...
Thanks to Nick Zavaritsky.
2016-11-13 20:03:01 +01:00
Mike Pall
716f2daef8
LJ_GC64: Various followup fixes.
...
Contributed by Peter Cawley.
2016-10-20 20:55:12 +02:00
Mike Pall
bdcaf4bfd9
LJ_GC64: Fix HREF for pointers.
...
Contributed by Peter Cawley.
2016-10-19 09:48:38 +02:00
Mike Pall
6a25014c1c
LJ_FR2: Fix slot 1 handling.
...
Contributed by Peter Cawley.
2016-10-16 21:04:38 +02:00
Mike Pall
3f43f09413
Merge branch 'master' into v2.1
2016-10-13 18:38:22 +02:00
Mike Pall
a68c411857
Fix GC step size calculation.
...
Thanks to Igor Ehrlich.
2016-10-13 18:37:58 +02:00
Mike Pall
54b78e7c66
LJ_GC64: Various fixes.
...
Contributed by Peter Cawley.
2016-10-12 17:36:45 +02:00
Mike Pall
63465fe71d
LJ_GC64: Fix jit.on/off.
2016-10-08 11:30:01 +02:00
Mike Pall
cf80edbbba
Fix -jp=a mode for builtins.
2016-10-02 14:33:31 +02:00
Mike Pall
f27b2509e0
Merge branch 'master' into v2.1
2016-10-02 14:25:04 +02:00
Mike Pall
fcc8244899
ARM: Fix BLX encoding for Thumb interworking calls.
...
Thanks to Charles Baylis.
2016-10-02 14:24:04 +02:00
Mike Pall
4ca3909547
Merge branch 'master' into v2.1
2016-09-19 21:23:35 +02:00
Mike Pall
8ada57eb49
Looks like COLORTERM has gone out of fashion.
2016-09-19 21:22:19 +02:00
Mike Pall
1a9a264356
Merge branch 'master' into v2.1
2016-09-19 21:19:07 +02:00
Mike Pall
9910dedae4
Initialize uv->immutable for upvalues of loaded chunks.
...
Thanks to Peter Cawley.
2016-09-19 21:17:58 +02:00
Mike Pall
03b03ef683
Windows/x86: Add MSVC flags for debug build with exception interop.
2016-09-06 19:37:30 +02:00
Gustavo Serra Scalet
078fd414e0
PPC64: Fix indentation code style
2016-09-06 13:13:15 -03:00
Gustavo Serra Scalet
8ccd23a538
PPC64: Define 13 FPs regs as arguments
...
ABI mandates 13 but only 8 was implemented.
2016-09-06 13:13:14 -03:00
Gustavo Serra Scalet
747bff95ca
PPC64: Fix tab indentation from last commit
2016-09-06 13:13:11 -03:00
Brian W. Hart
f7dcabbe36
luajit-2.1: fix fp parameter passing for ppc64
...
The POWER 64-bit LE ABI calls for floating point function
arguments beyond the 8th to be passed via floating point
registers and also to reserve a slot in the parameter save
area on the stack. The PPC CCALL_HANDLE_REGARG correctly
includes the values in FPRs, but neglects to reserve
corresponding slots when spilling into the save area.
2016-09-06 13:10:23 -03:00
Gustavo Serra Scalet
c00253828a
Merge remote-tracking branch 'upstream/v2.1' into ppc64-port
2016-09-05 10:17:50 -03:00
Mike Pall
f6f838f840
Merge branch 'master' into v2.1
2016-07-31 13:42:49 +02:00
Mike Pall
02b9b55976
Revert "OSX: Switch to Clang as the default compiler."
...
It breaks cross-compilation to Android.
And host "gcc" aliases to "clang", anyway.
2016-07-31 13:39:55 +02:00
Mike Pall
972a1a4cc6
Fix exit status for 'luajit -b'.
2016-07-22 16:42:09 +02:00
Mike Pall
c98660c8c3
Must preserve J->fold.ins (fins) around call to lj_ir_ksimd().
2016-07-22 16:35:46 +02:00
Mike Pall
22e8e07969
Merge branch 'master' into v2.1
2016-07-17 16:25:37 +02:00
Mike Pall
d41469c124
Emit bytecode in .c/.h files with unsigned char type.
2016-07-17 16:24:30 +02:00
Mike Pall
92d9ff211a
Set arg table before evaluating LUA_INIT and -e chunks.
2016-07-17 16:23:49 +02:00
Mike Pall
6be5ffdf2b
Adjust comment with defines.
2016-07-17 16:05:25 +02:00
Mike Pall
7374046299
Merge branch 'master' into v2.1
2016-07-17 16:01:25 +02:00
Mike Pall
b74ddaf174
Fix for cdata vs. non-cdata arithmetics/comparisons.
...
Thanks to Vyacheslav Egorov.
2016-07-17 16:01:10 +02:00
Mike Pall
37b377dedf
Merge branch 'master' into v2.1
2016-07-17 14:38:26 +02:00
Mike Pall
1914de71c7
Fix unused vars etc. in internal Lua files.
...
Thanks to François Perrad.
2016-07-17 14:29:03 +02:00
Mike Pall
01e4754962
Properly clean up state before restart of trace assembly.
2016-06-27 15:46:09 +02:00
Mike Pall
ce30766b67
Merge branch 'master' into v2.1
2016-06-27 14:10:39 +02:00
Mike Pall
aef4edddba
Drop leftover regs in 'for' iterator assignment, too.
2016-06-27 14:09:36 +02:00
Mike Pall
287a5347cf
MIPS: Support MIPS16 interlinking.
2016-06-08 10:24:00 +02:00
Mike Pall
f5983437a6
x64/LJ_GC64: Fix code generation for IR_KNULL call argument.
2016-06-05 13:07:43 +02:00
Mike Pall
a88dc57995
Merge branch 'master' into v2.1
2016-06-05 12:54:53 +02:00
Mike Pall
a7bec69a75
Fix PHI remarking in SINK pass.
...
Thanks to Vyacheslav Egorov.
2016-06-05 12:53:37 +02:00
Mike Pall
ce1ad870c3
LJ_GC64: Set correct nil value when clearing a cdata finalizer.
...
Thanks to Stefan Pejic.
2016-06-03 06:54:06 +02:00
Mike Pall
cc05e79181
LJ_GC64: Ensure all IR slot fields are initialized.
2016-06-03 06:53:37 +02:00
Mike Pall
58ca165737
LJ_GC64: Allow optional use of the system memory allocator.
2016-06-03 06:52:53 +02:00
Mike Pall
7d43402304
Merge branch 'master' into v2.1
2016-06-03 06:40:48 +02:00
Mike Pall
3206307563
Fix Valgrind suppressions.
2016-06-03 06:39:52 +02:00
Mike Pall
1c0454c6ce
Merge branch 'master' into v2.1
2016-06-03 04:28:17 +02:00
Mike Pall
a5f8a4819f
Don't try to record outermost pcall() return to lower frame.
2016-06-03 04:26:08 +02:00
Mike Pall
384ce2f9ef
MIPS: Fix build failures and warnings.
2016-05-29 18:12:58 +02:00
Mike Pall
56fe899a06
Proper fix for LJ_GC64 changes to asm_href().
2016-05-28 13:36:14 +02:00
Mike Pall
d9986fbadb
MIPS64, part 1: Add MIPS64 support to interpreter.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.
2016-05-28 05:10:55 +02:00
Mike Pall
5e2b609b3f
Fix compiler warning.
2016-05-28 05:02:18 +02:00
Mike Pall
e77638f922
x64/LJ_GC64: Fix __call metamethod for tailcall.
2016-05-28 05:01:12 +02:00
Mike Pall
6360f6e106
Fix collateral damage from LJ_GC64 changes to asm_href().
2016-05-28 00:35:07 +02:00
Mike Pall
3f1031c34b
Use MAP_TRYFIXED for the probing memory allocator, if available.
2016-05-23 14:28:28 +02:00
Mike Pall
bfe2a353ab
Merge branch 'master' into v2.1
2016-05-23 06:47:01 +02:00
Mike Pall
747feb6e4e
x86: Don't spill an explicit REF_BASE in the IR.
...
Thanks to Vyacheslav Egorov.
2016-05-23 06:46:30 +02:00
Mike Pall
2868715d80
x64/LJ_GC64: Add missing backend support and enable JIT compilation.
...
Contributed by Peter Cawley.
2016-05-23 06:01:54 +02:00
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