Rerumu
78d4f12bde
Fix #4
...
This fixes the long standing bug with strict aliasing that caused heavily JITed code to miscompile. It stemmed first from pointer reinterpretation which is simply undefined behavior. After fixing that with an `union` and `ffi.copy`, the issue manifested in a different way. Further debugging showed that it was likely that `ffi.copy` (and `ffi.C.memcpy`) would still alias pointers through coercion, more undefined behavior. Now, memory is handled with an `Any` type instead, so aliasing does not occur although unaligned reads and writes may be a problem in the future. I hope this doesn't break. It was very painful to debug.
2021-12-12 01:56:54 -05:00
Rerumu
415f61cb2a
Keep consistency
2021-12-11 14:52:42 -05:00
Rerumu
13f9377cc8
Merge pull request #5 from NeoInversion/master
...
Fix typo
2021-12-11 00:43:04 -05:00
Inversion
c19be1428b
Fix typo
2021-12-10 21:42:03 -08:00
Rerumu
babb4f0af1
Make clippy happy again
2021-12-01 22:26:47 -05:00
Rerumu
740cfd9b4c
Reduce code duplication and add function names
2021-12-01 22:26:47 -05:00
Rerumu
977c5bb6cc
Fix strict aliasing issues
2021-12-01 22:26:07 -05:00
Rerumu
7146d83cd4
Simplify LuaJIT memory grow
2021-12-01 05:37:20 -05:00
Rerumu
65374481ff
Reorder LuaJIT runtime
2021-12-01 05:36:50 -05:00
Rerumu
508fff73ef
Use C calls for LuaJIT memory allocation
2021-11-30 21:09:35 -05:00
Rerumu
e101290b11
Simplify memory size operation
2021-11-30 20:47:44 -05:00
Rerumu
b7dd849eca
Update limit max to be reasonable
2021-11-30 20:44:18 -05:00
Rerumu
b4901e72e1
Inline LuaJIT reinterpret
2021-11-30 20:43:36 -05:00
Rerumu
d2648b2e96
Add number equality to runtime
2021-11-30 17:49:32 -05:00
Rerumu
0ab0a9e921
Fix whitespace consistency
2021-11-30 17:47:10 -05:00
Rerumu
e59014bb8d
Prefer assertions in runtime
2021-11-30 17:46:20 -05:00
Rerumu
c841011328
Add LuaJIT i64 sign extension
2021-11-30 17:35:42 -05:00
Rerumu
76db2b4063
Remove excessive LuaJIT scoping
2021-11-30 15:37:15 -05:00
Rerumu
e80f1ffedd
Simplify LuaJIT label generation
2021-11-30 15:28:51 -05:00
Rerumu
03a73395be
Fix Luau table branching
2021-11-30 03:48:04 -05:00
Rerumu
92e79213fc
Rename fuzz targets
2021-11-30 03:29:22 -05:00
Rerumu
96a27c9626
Refactor the codebase and organize files
2021-11-30 03:27:17 -05:00
Rerumu
82e97ad643
Add more fuzz targets
2021-11-28 16:14:07 -05:00
Rerumu
cbf212b636
Adjust gitignore
2021-11-28 15:30:55 -05:00
Rerumu
dd55770f43
Add fuzz target
2021-11-28 15:30:11 -05:00
Rerumu
c323b35961
Fix empty expression evaluation
2021-11-28 15:26:37 -05:00
Rerumu
53bba14c00
Drop unreachable code
2021-11-28 14:47:25 -05:00
Rerumu
7f0158ef00
Improve constant expression generation
2021-11-28 06:46:15 -05:00
Rerumu
16ce3eca98
Refactor transformer interface
2021-11-28 06:40:25 -05:00
Rerumu
21b87f352c
Clean up redundant code
2021-11-28 06:39:59 -05:00
Rerumu
16ba82775b
Add sign extension support
2021-11-28 03:47:00 -05:00
Rerumu
ea639ed420
Add block multi-value support
2021-11-28 03:35:58 -05:00
Rerumu
8d7340af64
Set parity-wasm to latest version
2021-11-28 03:34:21 -05:00
Rerumu
a1894e492c
Refactor as Rust workspace
2021-11-28 03:33:00 -05:00
Rerumu
185799eecc
Satisfy clippy
2021-11-27 04:14:12 -05:00
Rerumu
820588b5e7
Add JIT optimization booster shot
2021-11-27 03:14:01 -05:00
Rerumu
504e2e0ee8
Reorganize some code
2021-11-27 03:13:48 -05:00
Rerumu
e9642ef776
Fix wrapping integer operations
2021-11-27 00:43:25 -05:00
Rerumu
fa649f26c1
Fix conversion not zeroing upper bits
2021-11-27 00:22:40 -05:00
Rerumu
9126b43b1f
Implement truncate operations
2021-11-26 22:31:44 -05:00
Rerumu
c0a5d0c7dd
Refactor limits emit and memory growing
2021-11-26 20:13:41 -05:00
Rerumu
2746c1e3d1
Fixed LuaJIT shift operations
2021-11-26 18:58:58 -05:00
Rerumu
ce59f77f22
Improve runtime localizing
2021-11-26 16:05:03 -05:00
Rerumu
55df4c39ca
Improve nomenclature for Transformer
2021-11-26 15:02:11 -05:00
Rerumu
83d3f16b42
Fix dropped memory grow
2021-11-26 14:54:28 -05:00
Rerumu
703e6b8e47
Improve element fill emit
2021-11-26 12:15:32 -05:00
Rerumu
586ebf1ac4
Improve LuaJIT runtime conversions
2021-11-26 12:09:58 -05:00
Rerumu
bf7ccdae32
Improve LuaJIT runtime locals
2021-11-24 15:55:52 -05:00
Rerumu
c7e4add0c0
Add LuaJIT conversion operations
2021-11-24 02:15:59 -05:00
Rerumu
be80da8163
Fix else emit
2021-11-24 02:08:02 -05:00