Folkert
859bdf5212
Merge remote-tracking branch 'origin/trunk' into effect-forever
2022-01-19 20:14:24 +01:00
Folkert
4c445f9f24
recognize functions that become tail-recursive after closure conversion
2022-01-19 20:09:20 +01:00
Folkert
389681ee90
return forall b. Effect b
2022-01-19 19:19:43 +01:00
Folkert
359956220e
working definition of Effect.forever
2022-01-19 19:11:37 +01:00
Jan Van Bruggen
8e4b6f0cab
Remove Num.(min/max)Int
...
Replace all uses with `Num.(min/max)I64`,
since all uses expect an `I64`.
2022-01-19 09:55:06 -07:00
Jan Van Bruggen
fb66467343
Remove trailing spaces from test snapshots
2022-01-18 22:33:24 -07:00
Jan Van Bruggen
1e9d2d1239
Remove accidental trailing spaces
2022-01-18 22:25:46 -07:00
Jan Van Bruggen
93d65a1601
Remove leftover TODOs
2022-01-17 18:53:36 -07:00
Jan Van Bruggen
591477e77b
Add most remaining Num.min/max*
builtins
...
This skips `min/maxU128`, as they require a subtle change
to the `I128`-centric implementation of `Int`s.
2022-01-17 15:26:23 -07:00
Jan Van Bruggen
865dcd5507
Expose existing Num.min/max
builtin docs
2022-01-17 13:17:03 -07:00
Jan Van Bruggen
cdf705941e
Improve Num.min/max docstrings
2022-01-17 13:17:03 -07:00
Jan Van Bruggen
79241adf8e
Reorder Num.min/max docs
2022-01-17 13:17:03 -07:00
Anton-4
a6537683a1
Merge pull request #2355 from rtfeldman/fix-lint-error
...
Fix a lint error by simplifying an if/else block
2022-01-17 12:49:57 +01:00
Brian Carroll
f354b4842b
Wasm: Move Eq/NotEq into LowLevelCall
2022-01-17 09:35:08 +00:00
Brian Carroll
f635dd8776
Wasm: Refactor lowlevels to get more flexibility without increasing boilerplate.
2022-01-17 09:33:06 +00:00
Brian Carroll
88b779c3ff
Wasm: Create CodeGenNumber
2022-01-17 09:33:06 +00:00
Brian Carroll
05a6a9c7ce
Wasm: update comments on lowlevels
2022-01-17 09:33:06 +00:00
Chelsea Troy
085c02ffee
Infrastructure to test and implement the replacement of an 'expect' failure with an error production
...
Last command run was 'cargo test expect_fail'
2022-01-16 22:01:22 -06:00
Richard Feldman
cff861ddd4
Merge pull request #2352 from rtfeldman/wasm-move-methods-around
...
Wasm: Reorganise Stmt and Expr methods
2022-01-16 22:38:52 -05:00
Richard Feldman
2ade76b373
Merge pull request #2354 from rtfeldman/add_builtin_Num.minI128
...
Add `Num.minI128` builtin
2022-01-16 22:38:27 -05:00
Folkert
be14dd4954
write big comment on why this _should_ work
2022-01-17 00:11:58 +01:00
Folkert
697a65e77c
builtins can use builtins now
2022-01-16 22:28:36 +01:00
Jan Van Bruggen
c1dc0226f6
Fix a lint error by simplifying an if/else block
...
From `cargo clippy -- -D warnings`:
```
error: all if blocks contain the same code at the start
--> compiler/gen_wasm/src/wasm_module/sections.rs:478:9
|
478 | / if bytes[*cursor] == 0 {
479 | | u8::skip_bytes(bytes, cursor);
480 | | u32::skip_bytes(bytes, cursor);
| |___________________________________________^
|
= note: `-D clippy::branches-sharing-code` implied by `-D warnings`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#branches_sharing_code
help: consider moving the start statements out like this
|
478 ~ u8::skip_bytes(bytes, cursor);
479 + u32::skip_bytes(bytes, cursor);
480 + if bytes[*cursor] == 0 {
|
error: could not compile `roc_gen_wasm` due to previous error
warning: build failed, waiting for other jobs to finish...
error: build failed
```
2022-01-16 06:14:10 -07:00
Jan Van Bruggen
a61b8e402c
Fix directory name typo
2022-01-15 18:37:07 -07:00
Jan Van Bruggen
d7e2be306f
WIP: Add Num.minI128
builtin (TODOs remain)
2022-01-15 17:49:15 -07:00
Jan Van Bruggen
d2c2064782
Add missing Num.maxI128
docs
2022-01-15 17:49:02 -07:00
Brian Carroll
5e68f298df
Wasm: Reorganise Stmt and Expr methods
2022-01-15 15:53:41 +00:00
Brian Carroll
6bdc27a49e
Wasm: Use Vec instead of MutSet for called preloads
2022-01-15 15:35:42 +00:00
Brian Carroll
f4650654ca
Wasm: cosmetic changes to fake WASI functions
2022-01-15 15:35:42 +00:00
Brian Carroll
94ea50f56a
Wasm: Clarify some more magic numbers
2022-01-15 15:35:42 +00:00
Brian Carroll
9290d3ad5c
Wasm: Clarify where magic constant 5 comes from
2022-01-15 15:35:42 +00:00
Brian Carroll
e37ca971bd
Wasm: Simplify CodeBuilder serialization, based on Richard's suggestion
2022-01-15 15:35:37 +00:00
Brian Carroll
54e820620a
Wasm: Improve a todo in roc_build
2022-01-15 14:34:06 +00:00
Brian Carroll
8c4fd93b07
Wasm: Remove old debug code that's never used. We have the HTML debugger now.
2022-01-15 13:27:34 +00:00
Brian Carroll
8d5a1cb661
Wasm: Replace _ todo with RuntimeError todo
2022-01-15 13:27:34 +00:00
Brian Carroll
c38134bdc0
Wasm: remove legacy unused ret_layout
2022-01-15 13:27:34 +00:00
Brian Carroll
bafb6e54d0
Wasm: Change panic for literals todo -> internal_error
2022-01-15 13:27:34 +00:00
Brian Carroll
91a0b21e70
Wasm: Get rid of some Backend compatibility code
2022-01-15 13:27:34 +00:00
Brian Carroll
f4137013cb
Wasm: tweaks from self-review
2022-01-14 18:50:52 +00:00
Brian Carroll
c5134fa015
Wasm: rename DeadCodeMetadata to PreloadsCallGraph
2022-01-14 18:37:52 +00:00
Brian Carroll
4311b5a410
Wasm: Make dead functions unreachable
, and the same for all return types
2022-01-14 18:21:13 +00:00
Brian Carroll
e7dc442af0
Wasm: fix double-counting bug in dead function replacement
2022-01-14 18:20:52 +00:00
Brian Carroll
c7da7ca689
Wasm: Parse the Name section, export init_refcount_test, and don't DCE exports
2022-01-14 18:20:52 +00:00
Brian Carroll
3d00217b53
Wasm: rename build_module_help -> build_module_without_test_wrapper
2022-01-14 18:20:52 +00:00
Brian Carroll
22d7ccfbd7
Wasm: Comment explaining DCE
2022-01-14 18:20:52 +00:00
Brian Carroll
6b204d11a2
Wasm: sort and deduplicate on each round of live function tracing
2022-01-14 18:20:52 +00:00
Brian Carroll
9dabc2db15
Wasm: adjust dead code elimination to account for import function indices
2022-01-14 18:20:52 +00:00
Brian Carroll
ca2597973e
Wasm: store function_count on the ImportSection
2022-01-14 18:20:52 +00:00
Brian Carroll
7a4593170c
Wasm: reuse existing SkipBytes code for opcodes
2022-01-14 18:20:52 +00:00
Brian Carroll
8a01c3f98a
Wasm: implement dead code elimination
2022-01-14 18:20:52 +00:00