Rerumu
66818a8566
Add small Luau optimizations
2022-01-20 04:44:18 -05:00
Rerumu
d3fc1fc891
Add experimental i64
2022-01-20 04:41:28 -05:00
Rerumu
02232b46ca
Disambiguate allocator and memory
2022-01-17 01:59:02 -05:00
Rerumu
5fb7899c7e
Reformat using StyLua
2022-01-17 01:49:17 -05:00
Rerumu
cea3cca7c7
Simplify more LuaJIT functions
2021-12-19 22:09:41 -05:00
Rerumu
d6461d574a
Localize some reuse
2021-12-18 22:59:23 -05:00
Rerumu
84e688877b
Remove unused require
2021-12-14 18:49:30 -05:00
Rerumu
27f503ee1f
Draft out part of Luau runtime
2021-12-14 04:08:33 -05:00
Rerumu
d7df9fb5b4
Refactored and decoupled BinOp
and CmpOp
2021-12-14 04:03:03 -05:00
Rerumu
e568baee1d
Remove dead code for LuaJIT
2021-12-13 19:24:03 -05:00
Rerumu
59d0abeb41
Add some separators in LuaJIT runtime
2021-12-13 14:12:54 -05:00
Rerumu
c5543cfc2e
Fix out of bounds initialization
2021-12-12 22:12:27 -05:00
Rerumu
d483b9a669
Simplify some code
2021-12-12 04:06:33 -05:00
Rerumu
19350d1aef
Some JIT tuning
2021-12-12 02:28:53 -05:00
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
Inversion
c19be1428b
Fix typo
2021-12-10 21:42:03 -08: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
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
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
a1894e492c
Refactor as Rust workspace
2021-11-28 03:33:00 -05:00