Sokolov Yura aka funny_falcon
f24deca48a
strings: strong string hash for LUAJIT_SMART_STRINGS==2
2016-06-28 11:59:19 +03:00
Sokolov Yura aka funny_falcon
ff7e514cfe
escape from collisioned strings
...
- detect when a lot of collisions generated
- if two full collisions found (ie hash value and len is equal)
- if collision chain is longer than 18
("average maximum" chain with fillfactor 1.0 is near 7)
- calculate "full" hash for strings in long collision chain
- use "bloom" filter to bookkeeping existence of strings with "full" hash
- refill "bloom" on string sweeping.
2016-06-28 11:57:47 +03:00
Sokolov Yura aka funny_falcon
33af3ea00e
strings: compare hash as well
2016-06-28 11:19:50 +03: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
e3c4c9af0f
DynASM/MIPS: Add missing MIPS64 instructions.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.
2016-05-28 05:09:24 +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
9fa843aefb
Cleanup install docs.
2016-05-26 13:57:12 +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
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