Commit Graph

2299 Commits

Author SHA1 Message Date
fsfod
cb3c483264 Don't allow stitching to defeat our black listing of the loop in jit_tester 2019-12-08 21:36:38 +00:00
fsfod
96f1f83bc3 Wip Intrinsic documentation 2019-12-08 21:36:38 +00:00
fsfod
4eaf7f6efe Fix store opcodes with dynamic destructive out register not being correctly allocated an input register 2019-12-08 21:36:38 +00:00
fsfod
748091cfd9 CSE support for intrinsics only enabled for single value returning intrinsics that have no side effects and are not forced indirect ModRM which could be a load or store 2019-12-08 21:36:38 +00:00
fsfod
befcdc6e55 Added VEX opcode support for intrinsics 2019-12-08 21:36:38 +00:00
fsfod
239f8ad3e6 Added a JIT flag for AVX1 support 2019-12-08 21:36:38 +00:00
fsfod
a374e90531 Added a flag(s) for opcodes with non memory store side effects and enabled DCE of intrinsics
Intrinsics are now assumed to have no side effects unless flagged to with either memory side effects(S) or non memory side effects(s)
2019-12-08 21:36:38 +00:00
fsfod
275d0dcdd7 Treat IR_INTRN as potential load with respect to DSE 2019-12-08 21:36:38 +00:00
fsfod
f7331e9464 Added JIT support for intrinsics. Support for vector registers is NYI. 2019-12-08 21:36:38 +00:00
fsfod
57ff67552a Added support for 4 byte opcode intrinsics 2019-12-08 21:36:38 +00:00
fsfod
7c697b0a5c Extended emit_op to support 4 byte opcodes based on checking a new flag OP4B in rr 2019-12-08 21:36:38 +00:00
fsfod
de4c0b6ea5 Implement support for opcodes with dynamic registers 2019-12-08 21:36:38 +00:00
fsfod
e6fecee925 Added support for casting vectors to a pointer when using lj_cconv_ct_tv by using a special cast flag(CCF_INTRINS_ARG) for intrinsic vector arguments 2019-12-08 21:36:37 +00:00
fsfod
f21526df9b Added support for ymm registers in intrinsics 2019-12-08 21:36:37 +00:00
fsfod
c0797d346b Extended op_emit to support 2 byte vex opcodes and optionally expand to 3 byte form if needed 2019-12-08 21:36:37 +00:00
fsfod
e1a1721ae2 Template intrinsics user machine code 2019-12-08 21:36:37 +00:00
fsfod
c84b176062 Initial support for intrinsics on x86/x64 interpreter only 2019-12-08 21:36:37 +00:00
fsfod
235ab3bf6f Added support for separate mcode areas 2019-12-08 21:36:37 +00:00
Mike Pall
bd00094c3b x64: Enable LJ_GC64 mode by default. 2019-12-08 21:21:30 +01:00
Mike Pall
70f4b15ee4 FFI: Eliminate hardcoded string hashes. 2019-12-08 20:53:31 +01:00
Mike Pall
92fa45f9eb Fix interaction between profiler hooks and finalizers.
Thanks to Julien Desgats.
2019-12-08 19:56:56 +01:00
Mike Pall
9600e4318e Don't use STRREF for pointer diff in string.find().
Thanks to Sergey Ostanevich and Vyacheslav Egorov.
2019-12-08 19:54:21 +01:00
Mike Pall
2a7c200dc2 Merge branch 'master' into v2.1 2019-12-08 19:52:56 +01:00
Mike Pall
45a7e5073c Fix tonumber("-0").
Reported by bluecheetah001.
2019-12-08 19:51:33 +01:00
Mike Pall
1d9a337de6 Merge branch 'master' into v2.1 2019-12-08 19:50:36 +01:00
Mike Pall
de48d00094 Fix hash table chaining (again).
Thanks to Peter Cawley.
2019-12-08 19:47:00 +01:00
Mike Pall
324aef08d9 Typo. 2019-12-08 19:45:07 +01:00
Mike Pall
41a25efc80 Fix declarations of _BitScanForward/_BitScanReverse.
Reported by Mumin Guler.
2019-12-08 19:42:49 +01:00
Mike Pall
46a1b268eb Add stricter check for print() vs. tostring() shortcut. 2019-12-08 19:40:24 +01:00
Mike Pall
16e5605eec Prevent integer overflow while parsing long strings. 2019-12-08 19:35:25 +01:00
Mike Pall
e0388e6c00 Fix stack check when recording BC_VARG.
Contributed by Yichun Zhang.
2019-12-08 19:32:27 +01:00
Mike Pall
1d1bac5a65 FFI: Add missing write barrier on C library index update.
Contributed by Yichun Zhang.
2019-12-08 19:32:16 +01:00
Mike Pall
478bcfe52a FFI: Workaround for platform dlerror() returning NULL.
Contributed by mcclure.
2019-12-08 19:25:45 +01:00
Mike Pall
05898a8824 Merge branch 'master' into v2.1 2019-12-08 19:24:47 +01:00
Mike Pall
44382e833a OSX: Use __thread attribute. 2019-12-08 19:22:37 +01:00
Mike Pall
8961a92dd1 OSX: Don't set a default MACOSX_DEPLOYMENT_TARGET. 2019-12-08 19:22:00 +01:00
Mike Pall
eba586854b Build MinGW import library, too.
Thanks to Tarnyko.
2019-12-08 19:19:12 +01:00
Mike Pall
c43b6a9137 Fix MinGW make clean.
Reported by Shmuel Zeigerman.
2019-12-08 19:16:34 +01:00
Mike Pall
84ee8091f6 Merge branch 'master' into v2.1 2019-12-08 19:12:45 +01:00
Mike Pall
08272de59e Update Android and iOS build docs. 2019-12-08 19:07:22 +01:00
Mike Pall
a75d13c63a Add note about the unsuitabilty of math.random() for crypto. 2019-12-08 19:01:06 +01:00
Mike Pall
6e228a9cb6 Merge branch 'master' into v2.1 2019-12-08 18:58:50 +01:00
Mike Pall
c6c6e3b416 Update MSVC build script and docs. 2019-12-08 18:52:41 +01:00
Mike Pall
3ece3a3e3a More recent MSVC is partially C99 compliant. 2019-12-08 18:43:12 +01:00
Mike Pall
e45b04f499 Merge branch 'master' into v2.1 2019-11-10 22:39:40 +01:00
Mike Pall
c4e15b457e Fix narrowing of conversions to U32.
Reported by spacewander.
2019-11-10 22:37:42 +01:00
Mike Pall
8755e0b74b Fix unsinking of 64 bit constants.
Contributed by Thibault Charbonnier.
2019-08-30 12:16:50 +02:00
Mike Pall
88d40b00c3 Merge branch 'master' into v2.1 2019-08-30 11:24:44 +02:00
Mike Pall
20ac817a74 Fix bytecode dump unpatching.
Reported by Christopher Oliver.
2019-08-30 11:07:45 +02:00
Mike Pall
2bde5c7c62 Merge branch 'master' into v2.1 2019-08-10 00:58:37 +02:00