Commit graph

243 commits

Author SHA1 Message Date
Brian Carroll
036503c750 copy returned structs to caller stack 2021-09-17 19:42:29 +01:00
Brian Carroll
3d18d34135 Insert extra argument when returning on stack 2021-09-15 18:45:20 +02:00
Brian Carroll
2be2e09ffd Merge branch 'trunk' of github.com:rtfeldman/roc into wasm_stack_memory 2021-09-14 14:57:17 +02:00
Folkert
de959d3ad3 recurse on lambda set in wasm backend 2021-09-14 13:30:19 +02:00
Brian Carroll
866d9f47a0 Move WasmLayout to its own module 2021-09-14 08:31:32 +02:00
Brian Carroll
258513a57c reset join/jump data 2021-09-14 08:18:33 +02:00
Brian Carroll
672aa14f7c Cosmetic: reorganise WasmLayout match statment 2021-09-14 08:00:00 +02:00
Richard Feldman
b16faae0a2 Fix gen_wasm exhaustiveness error 2021-09-13 20:02:34 -04:00
Brian Carroll
cfef0f0f47 Add clarifying comments based on PR feedback 2021-09-13 22:42:04 +02:00
Brian Carroll
c47c3ccf58 Clippy fix 2021-09-13 17:30:13 +02:00
Brian Carroll
408c31ebcc Tests for different bitwidth integers 2021-09-13 17:01:06 +02:00
Brian Carroll
35c5b6bc4e Tests passing with generic native/wasm interface 2021-09-12 23:23:43 +02:00
Brian Carroll
b21155f60b Move some constants from backend to lib 2021-09-11 10:20:32 +01:00
Brian Carroll
042b175d89 More comprehensive WasmLayout 2021-09-11 10:20:27 +01:00
Folkert
34a88c228f fix another typo 2021-09-10 15:49:18 +02:00
Folkert
3a83b0c415 fix typo 2021-09-10 15:44:11 +02:00
Folkert
e3b3206286 sorting comment 2021-09-10 14:15:37 +02:00
Folkert
3750b154ca cleanup 2021-09-10 13:52:33 +02:00
Folkert
7290ef7f98 rename 2021-09-10 13:19:18 +02:00
Folkert
e802da5f54 implement factorial example 2021-09-08 20:05:05 +02:00
Folkert
4e5b677426 basic join point 2021-09-08 15:54:00 +02:00
Folkert
1da32f18e5 implement switch for the gen wasm backend 2021-09-08 00:00:36 +02:00
Folkert
c888baccff rename layout -> return_layout 2021-09-07 20:55:05 +02:00
Folkert
afd7553e7a enable F64 2021-09-07 17:42:31 +02:00
Folkert
f4379673b4 Merge remote-tracking branch 'origin/trunk' into gen_wasm 2021-09-07 16:45:57 +02:00
Folkert
71ce267f59 debug_assert 2021-09-05 14:10:13 +02:00
Folkert
b3b2e7de11 remove faulty instance 2021-09-05 14:09:15 +02:00
Folkert
f8809a3eef rename wasm -> wasm32 2021-09-05 14:08:14 +02:00
Brian Carroll
b445cea964 Fix generation of params & locals 2021-09-04 21:35:23 +01:00
Brian Carroll
bf7b1cdc63 Don't double-count args as locals 2021-09-04 13:34:04 +01:00
Brian Carroll
13a969a238 Bugfixes: generate valid wasm for gen_add_i64
Still need to create test_wrapper
2021-09-03 21:54:57 +01:00
Folkert
08e242967a function must end with an End instruction 2021-09-01 22:36:34 +02:00
Brian Carroll
0770bb242e Reset after each procedure, and reserve space in vecs 2021-09-01 20:12:01 +01:00
Brian Carroll
9ba7076d8e Cleanups after self-review
- Fix clippy warnings
- Improve a comment
- Delete commented-out lines in Cargo.toml
- Checkin Cargo.lock
2021-09-01 19:37:15 +01:00
Brian Carroll
3bf94e020c Beat the borrow-checker by following gen_dev structure 2021-09-01 19:26:26 +01:00
Brian Carroll
e67efaba4d Split up Wasm module and function 2021-09-01 19:26:26 +01:00
Brian Carroll
e5d5bb27fa Implement a bit more of the IR 2021-09-01 19:26:25 +01:00
Brian Carroll
6500cb3c35 Add a body to the function 2021-09-01 19:26:25 +01:00
Brian Carroll
4d76b9d15d Refactor locals 2021-09-01 19:26:25 +01:00
Brian Carroll
8d7e0471fd Get rid of return-on-stack stuff for now, focus on numbers first 2021-09-01 19:26:24 +01:00
Brian Carroll
06c0e0d815 outline of build_proc 2021-09-01 19:26:24 +01:00
Brian Carroll
a1102222dd Create a high-level structure for Wasm backend 2021-09-01 19:26:23 +01:00
Brian Carroll
863f449048 Create a library for the Wasm dev backend 2021-09-01 19:26:23 +01:00