Rerumu
f02070a1b3
Add support for anonymous translation
2022-05-21 19:52:25 -04:00
Rerumu
830727d8d4
Add copysign and nearest to runtimes
2022-05-21 15:51:31 -04:00
Rerumu
8d671b99e4
Expand runtimes a bit more
2022-05-21 04:18:29 -04:00
Rerumu
ce54d834a5
Add shortcuts for native operations
2022-05-21 04:11:04 -04:00
Rerumu
c3a3a09107
Adjust some runtime emits
2022-05-21 03:51:27 -04:00
Rerumu
1e8f131eff
Unify fuzzing and testing code
2022-05-21 03:31:02 -04:00
Rerumu
6c57a0dd11
Remove unsupported fast paths
2022-05-21 02:52:04 -04:00
Rerumu
8792a123f4
Fix and optimize conditionals
2022-05-21 02:52:02 -04:00
Rerumu
121774082e
Fix typo in export
2022-05-21 02:51:18 -04:00
Rerumu
bd49fd55a4
Fix unsigned literal emit
2022-05-21 02:51:15 -04:00
Rerumu
a3d43ebe16
Fix bad runtime name
2022-05-21 02:50:14 -04:00
Rerumu
3fa4fa5d83
Link integer emit and runtime
2022-05-21 02:50:11 -04:00
Rerumu
aea1df4e90
Add integer comparisons
2022-05-21 02:48:14 -04:00
Rerumu
f7978ec402
Optimize memory instance caching
2022-05-21 02:48:11 -04:00
Rerumu
642711e67d
Fix infix generation
2022-05-21 02:47:27 -04:00
Rerumu
d5c9028be4
Start adding integer support for Luau
2022-05-21 02:47:27 -04:00
Rerumu
0366a74d0a
Freeze integer types
2022-05-21 02:47:27 -04:00
Rerumu
30358c8205
Remove signedness test for unsigned constructor
2022-05-21 02:47:27 -04:00
Rerumu
2a6033c6f4
Improve numeric from_u64 and shifting
2022-05-21 02:47:27 -04:00
Rerumu
81fbbd455f
Refactor some numeric operations
2022-05-21 02:47:27 -04:00
Rerumu
c7d640b17e
Make Luau integers use free functions
2022-05-21 02:47:27 -04:00
Rerumu
d94be2d832
Remove unneeded pubs
2022-05-21 00:18:12 -04:00
Rerumu
3327d28ebd
Ignore test with too many locals
2022-05-20 23:18:59 -04:00
Rerumu
25050a0c5a
Wrap import names too
2022-05-20 23:01:42 -04:00
Rerumu
8464d70a93
Fix if statement label
2022-05-20 23:01:05 -04:00
Rerumu
280979d00f
Remove local modules in tests
2022-05-20 22:51:45 -04:00
Rerumu
29e7c972ed
Fix empty BrTable generation
2022-05-20 22:38:03 -04:00
Rerumu
935fc86607
Wrap export names to prevent weird characters
2022-05-20 20:27:19 -04:00
Rerumu
d7d3f60754
Fix test module names
2022-05-20 20:27:19 -04:00
Rerumu
50cfa0f5ef
Add basic test code
2022-05-20 20:04:50 -04:00
Rerumu
b751e4fc78
Add official tests
2022-05-20 01:55:36 -04:00
Rerumu
7321595126
Rename fuzzing for clarity
2022-05-19 17:21:55 -04:00
Rerumu
0e92163cb3
Fix constant generation
2022-05-19 17:09:44 -04:00
Rerumu
f9cf75c98a
Delete odd new line
2022-05-19 04:20:58 -04:00
Rerumu
acc21fc9a6
Simplify set creation code
2022-05-19 03:02:04 -04:00
Rerumu
f528df9b9e
Optimize memory instance caching
2022-05-19 02:47:39 -04:00
Rerumu
00d8dc4124
Remove old comment
2022-05-19 00:12:01 -04:00
Rerumu
ceed957b12
Remove unneeded truncation
2022-05-18 20:57:29 -04:00
Rerumu
0278458c15
Remove load/store offset when 0
2022-04-30 00:13:44 -04:00
Rerumu
a40335ee69
Remove unused runtime functions
2022-04-29 23:33:04 -04:00
Rerumu
7913dd507a
Factor out operator analysis and simplify output
2022-04-29 23:30:55 -04:00
Rerumu
2e5890f466
Fix naming
2022-04-29 22:54:58 -04:00
Rerumu
313d8cbbc2
Fix up Luau numeric library
2022-04-29 20:15:31 -04:00
Rerumu
aa293ed7e1
Unify tool error handling
2022-04-27 13:22:05 -04:00
Rerumu
e4dc725ec0
Fix empty function list fail
2022-04-27 05:41:55 -04:00
Rerumu
7b5cde0f08
Simplify helper argument
2022-04-27 05:27:52 -04:00
Rerumu
66e3eafad6
Add binary to release
2022-04-27 05:14:35 -04:00
Rerumu
85e0e2276a
Add automatic releasing
2022-04-27 04:49:14 -04:00
Rerumu
b356609ca4
Fix main program in stable
2022-04-27 04:41:35 -04:00
Rerumu
bfb900f044
Fix main program
2022-04-27 04:36:06 -04:00
Rerumu
c5a1afb228
Fix fuzzer code
2022-04-27 04:36:02 -04:00
Rerumu
6b0a704ebb
Refactor Luau codegen
2022-04-27 04:35:57 -04:00
Rerumu
6ffd462d99
Refactor LuaJIT codegen
2022-04-27 04:35:51 -04:00
Rerumu
d1ad9ddb7a
Start aesthetic refactoring
2022-04-27 01:33:45 -04:00
Rerumu
1fda67d6d3
Rename some AST parts to be less odd
2022-04-26 05:03:54 -04:00
Rerumu
12e2799914
Use new Rust write behavior
2022-04-26 02:05:44 -04:00
Rerumu
36e9ff3c86
Add import formatting default
2022-04-25 21:26:11 -04:00
Rerumu
b6664aacfd
Fix bad local variable generation
2022-04-25 18:29:06 -04:00
Rerumu
5e955efcbd
Refactor some messy code
2022-04-25 18:07:40 -04:00
Rerumu
e7b36a7d94
Unify integer types and simplify some code
2022-04-22 21:57:43 -04:00
Rerumu
233aee2c5e
Simplify type and local handling
2022-04-22 04:01:10 -04:00
Rerumu
a97bd899da
Simplify name extraction
2022-04-21 04:37:40 -04:00
Rerumu
891851bcb8
Add pop_many to reduce redundancy
2022-02-09 18:47:25 -05:00
Rerumu
5ad07b930c
Remove leftover
2022-02-09 06:13:26 -05:00
Rerumu
80a9230767
Rename fallible operations
2022-02-09 05:32:51 -05:00
Rerumu
bc24765ba9
Fix gen_call_indirect ordering
2022-02-09 05:27:38 -05:00
Rerumu
d6b77b287e
Simplify new_stored_body
2022-02-09 04:55:22 -05:00
Rerumu
fbd23e05b6
Simplify value instantiation
2022-02-09 04:48:51 -05:00
Rerumu
460f363c91
Refactor Builder behavior and stack emulation
2022-02-09 04:45:28 -05:00
Rerumu
22ea8910ad
Re-structure and decouple AST from generator
2022-02-08 17:39:14 -05:00
Rerumu
9d2d8aa69b
Refactor local flattening
2022-02-07 21:32:32 -05:00
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
b3a68742a9
Make clippy happy
2022-01-05 19:59:32 -05:00
Rerumu
d5b327cf64
Rename visit.rs to base.rs
2021-12-31 15:30:34 -05:00
Rerumu
822465cd70
Add runtime to Transpiler
2021-12-31 15:28:59 -05:00
Rerumu
25e2730a0c
Add typed locals
2021-12-22 00:23:02 -05:00
Rerumu
76b8810712
Reorder LuaJIT temp
2021-12-20 15:44:40 -05:00
Rerumu
4e4cffeb8f
Simplify return emit
2021-12-20 15:36:15 -05:00
Rerumu
8e474ab17c
Fix Luau jump table
2021-12-19 22:10:33 -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
d55441e5fb
Refactor front end
2021-12-14 18:49:30 -05:00
Rerumu
84e688877b
Remove unused require
2021-12-14 18:49:30 -05:00
Rerumu
3a9617fd5f
Add arcane JIT incantation
2021-12-14 04:31:53 -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
3832402b68
Clippify it all
2021-12-13 17:52:13 -05:00
Rerumu
7654de7497
Refactor LuaJIT conditional generation
2021-12-13 17:51:25 -05:00
Rerumu
dc1116c3e5
Remove implicit recursive cloning of AST
2021-12-13 16:25:33 -05:00
Rerumu
59d0abeb41
Add some separators in LuaJIT runtime
2021-12-13 14:12:54 -05:00
Rerumu
194f489209
Refactor LuaJIT table allocation
2021-12-12 22:31:20 -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