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
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
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
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
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
Brian Carroll
98400cae1b
Wasm: Move code around
2022-01-14 18:20:52 +00:00
Brian Carroll
61d46be923
Wasm: Parse the Code section to collect metadata for dead function elimination
2022-01-14 18:20:52 +00:00
Brian Carroll
48f14f9a83
Wasm: Implement SkipBytes for OpCode
2022-01-14 18:20:52 +00:00
Brian Carroll
2ade357ea9
Wasm: Specify the format of immediate operands for each opcode
2022-01-14 18:20:52 +00:00
Brian Carroll
dd79a9b35a
Clippy fixes
2022-01-13 05:41:52 +00:00
Brian Carroll
c8181c3a19
Wasm: use parsed data from object file in the backend
2022-01-13 05:41:52 +00:00
Brian Carroll
8a384ffa88
Wasm: parse just enough of the Import section to count functions
2022-01-13 05:41:52 +00:00
Brian Carroll
9f8f31b2b6
Wasm: adjust function indices for preloading
2022-01-13 05:41:52 +00:00
Brian Carroll
9f0e0d5099
Wasm: create a hashmap of exported functions
2022-01-13 05:41:52 +00:00
Brian Carroll
fa46ab95fc
Wasm: rename some constants
2022-01-13 05:41:52 +00:00
Brian Carroll
f9fbe461d1
Wasm: Fix section parsing bug
2022-01-13 05:41:52 +00:00
Brian Carroll
3067358a33
Wasm: test for LEB-128 decoder
2022-01-13 05:41:52 +00:00
Brian Carroll
9c0abcd0da
Wasm: Preload WasmModule from object file bytes
2022-01-13 05:41:52 +00:00
Brian Carroll
d3554b2ac0
Wasm: Create Section trait for common functionality between module sections
2022-01-13 05:41:52 +00:00
Brian Carroll
fd79613f0d
Wasm: load platform object file in tests and pass the bytes to the backend
2022-01-13 05:41:52 +00:00
Brian Carroll
5d5e0eca96
Wasm: Convert remaining sections to store bytes, and add .size() methods
2022-01-13 05:41:52 +00:00
Brian Carroll
f4ac5bffa3
Wasm: replace builtins imports with a hashmap
2022-01-13 05:41:52 +00:00
Brian Carroll
5a39002e8b
Wasm: Serialize WasmModule without linking info
2022-01-13 05:41:52 +00:00
Brian Carroll
b8ab6af203
Wasm: move WasmModule definition to mod.rs
2022-01-13 05:41:52 +00:00
Brian Carroll
d88b86e884
Wasm: change TypeSection tests to unit tests rather than integration tests
2022-01-13 05:41:52 +00:00
Brian Carroll
8e7f398e50
Wasm: Remove code to adjust function indices based on imports
...
With pre-linking we don't need this anymore. Pure Roc code can't add Imports.
2022-01-13 05:41:52 +00:00
Richard Feldman
d0e3c45986
Merge pull request #2328 from rtfeldman/wasm-module-refactor
...
Wasm module refactor
2022-01-12 11:28:12 -05:00
ayazhafiz
2c41c43aea
Implement saturated add/subtract
2022-01-10 22:37:08 -05:00
Brian Carroll
c5653951a4
Wasm: improve the TypeSection preload test
2022-01-10 10:26:43 +00:00
Brian Carroll
8f73b722ff
Wasm: fix release build
2022-01-10 10:26:43 +00:00
Brian Carroll
fc677e8d58
Wasm: add preloading logic for Types section
2022-01-10 10:26:43 +00:00
Brian Carroll
59278a02d6
Wasm: Create a LinkingSegment to keep string data aligned correctly
2022-01-10 10:26:43 +00:00
Brian Carroll
c89f74f7e8
Wasm: clippy fixes
2022-01-10 10:26:43 +00:00
Brian Carroll
a1f737d6d8
Wasm: Create OpaqueSection for sections that may be used in builtins but not by us
2022-01-10 10:26:43 +00:00
Brian Carroll
738434329e
Wasm: refactor the model of the Linking section
2022-01-10 10:26:42 +00:00
Brian Carroll
6db7dbed1c
Wasm: Store DataSection as bytes and segment count
2022-01-10 10:26:42 +00:00
Brian Carroll
265171ad17
Wasm: Make sure string constants are placed at a properly aligned offset
2022-01-10 10:26:42 +00:00
Brian Carroll
b8f51fb1bb
Wasm: add preloaded_bytes and preloaded_count to Code section
2022-01-10 10:26:42 +00:00
Brian Carroll
743e14148c
Wasm: Store Function section as bytes and a count
2022-01-10 10:26:42 +00:00
Brian Carroll
7a6c6b675c
Wasm: Store type signatures in serialized form
2022-01-10 10:26:42 +00:00
rvcas
d2f95bde63
chore(StrToNum): layout is always a Struct, we don't need the Union case
2022-01-03 18:15:46 -05:00
Brian Carroll
aec8d1bf3d
Merge branch 'trunk' of github.com:rtfeldman/roc into str_to_num
2022-01-02 12:31:59 +00:00
Brian Carroll
f767014f30
Merge pull request #2301 from rtfeldman/wasm-refcount-list
...
Wasm refcounting for lists
2021-12-31 13:25:38 +00:00
Brian Carroll
83d6c82e0b
Wasm: avoid two memory loads for ListLen, at the cost of +1 instruction byte
2021-12-30 15:40:55 +00:00
Brian Carroll
0912f8fd45
Wasm: replace a local.set/get pair with a local.tee
2021-12-30 15:40:00 +00:00
Brian Carroll
acade33497
Wasm bugfix: allocate using the heap alignment, not the stack alignment
2021-12-30 15:37:09 +00:00
rvcas
e7825127d6
Merge branch 'trunk' into str_to_num
2021-12-29 18:17:33 -05:00
Brian Carroll
6b932f9743
Clarify some lowlevel code to make it clearer what to do when adding new ones
2021-12-29 22:11:33 +00:00
Brian Carroll
f90d9a74bd
Do not inline builtin wrapper for Str.toNum
2021-12-29 21:08:16 +00:00
rvcas
0d187fb53c
feat(wasm): use mono layout to figure out the correct intrinsic
2021-12-28 21:38:43 -05:00
rvcas
cd42f034b5
feat(wasm): start StrToNum
2021-12-27 19:08:21 -05:00
Folkert de Vries
249878cbd9
Merge pull request #2281 from rtfeldman/i/2149
...
(llvm) Generate code for tag unions less than 64 bits in size correctly
2021-12-27 22:38:08 +01:00
Brian Carroll
0d8a2c8a49
Use tail call elimination where possible in ==
for tag unions
2021-12-27 18:08:43 +00:00
ayazhafiz
4631ff96f5
Initialize stack pointer when it doesn't exist
...
I'm not sure this is right, but we have to do it somewhere.. and here
seems reasonable?
2021-12-26 17:46:06 -06:00
ayazhafiz
326bfe9aa3
Ensure WASM code gen uses proper tag ID alignment
...
We should use the alignment of the tag ID layout, not the alignment of
the rest of the data in the tag union. The reason is that the tag ID may
be smaller than the data.
2021-12-26 17:45:05 -06:00
Brian Carroll
e10acd59ee
Debug config for Wasm backend
2021-12-26 10:45:18 +00:00
Brian Carroll
1f86ad3438
Fix Wasm function indices for generated helpers
2021-12-26 10:40:45 +00:00
Brian Carroll
da4cf721cc
Fix equality on empty structures
2021-12-26 10:40:45 +00:00
Brian Carroll
ca501fdcf1
Restructure CodeGenHelp to generate IR immediately, in depth-first traversal
2021-12-26 10:40:45 +00:00
Brian Carroll
471e2c3143
Completely delete Wasm BlockType
2021-12-21 23:14:55 +00:00
Brian Carroll
1c20075d7b
Change usage of Wasm if
instruction now that we don't support block results anymore
2021-12-21 23:14:55 +00:00
Folkert de Vries
2f1c648602
Merge pull request #2253 from rtfeldman/wasm-no-block-results
...
Wasm: fix nested conditionals
2021-12-21 16:35:22 +01:00
Folkert de Vries
af03ba13b1
Merge pull request #2246 from rtfeldman/wasm-refactor-symbol-layouts
...
Wasm: Move symbol_layouts to storage.rs
2021-12-21 16:24:38 +01:00
Folkert de Vries
18187bc43f
Merge pull request #2245 from rtfeldman/wasm-tag-eq
...
Wasm tag equality
2021-12-21 16:24:14 +01:00
Brian Carroll
2a141b3586
Automatically clean up any unused values at the end of a block
2021-12-21 13:16:15 +00:00
Brian Carroll
17dc6668ec
Make all Wasm blocks NoResult and always put return value in a local var.
2021-12-21 13:16:15 +00:00
Brian Carroll
51119c8142
Emit less code for ensure_value_has_local
2021-12-21 13:16:15 +00:00
rvcas
c6eaf3abd3
feat(wasm): enable more Str LowLevels
2021-12-20 17:47:39 -05:00
Brian Carroll
6480a720ae
Move symbol_layouts to storage.rs
2021-12-20 16:06:39 +00:00
Brian Carroll
3b2aa0bf6a
Fix bugs with symbol layouts in Wasm
2021-12-20 09:53:24 +00:00
Brian Carroll
9b833720d4
Further refactor and debug ==
in Wasm
2021-12-20 08:39:16 +00:00
Brian Carroll
f59e0e249b
Use native instructions for NotEq in Wasm
2021-12-19 21:20:06 +00:00
Brian Carroll
e0ffaca3df
Refactor Wasm equality operator
2021-12-19 21:20:06 +00:00
Brian Carroll
c510226c15
Reorganise Wasm lowlevels to get pointer equality working correctly
2021-12-19 21:20:06 +00:00
Brian Carroll
ece28f1975
Fix loading code for Zig calling convention
2021-12-19 21:20:06 +00:00
Brian Carroll
e847c924dd
Lowlevels: replace RefCountGetPtr with the more general GetPtrAsInt.
2021-12-19 08:29:17 +00:00
Brian Carroll
a1d883600c
Equality operator for records
2021-12-18 17:25:00 +00:00
rvcas
b9bd75d643
Merge branch 'trunk' into wasm_arrays
2021-12-17 11:54:23 -05:00
rvcas
787900d291
fix(wasm): ListLen does not need to match ret_layout
2021-12-17 11:38:09 -05:00
rvcas
bc94683100
feat(wasm): copy value to memory
2021-12-17 11:37:40 -05:00
Brian Carroll
1b98673704
Separate stack and heap pointers & create Symbols for list literals
2021-12-17 11:45:54 +00:00
rvcas
bed288330f
feat(wasm): try different offsets
2021-12-16 22:27:16 -05:00
rvcas
fc07070617
feat(wasm): trying to add the rest of the elements to the list
2021-12-16 22:14:15 -05:00
rvcas
40da207859
feat(wasm): LowLevel::ListLen
2021-12-16 21:50:12 -05:00
rvcas
b35deacebe
feat(wasm): use allocate with ref count
2021-12-16 21:23:13 -05:00
rvcas
c14b4b81e0
Merge branch 'trunk' into wasm_arrays
2021-12-16 21:07:12 -05:00
Brian Carroll
3eb9e9f7ac
Traverse nested layouts for code gen helpers
2021-12-16 16:56:56 +00:00
Brian Carroll
86d8e2789e
Implement Wasm string equality
2021-12-16 16:56:56 +00:00
Brian Carroll
e1a04c2661
Only check layout is implemented for RC, not other ops
2021-12-16 16:56:56 +00:00
Brian Carroll
3adaacc66e
Add some comments
2021-12-16 16:56:53 +00:00
Brian Carroll
cd91be678f
Setup for specializing equality checks
2021-12-16 16:52:47 +00:00
Brian Carroll
efef2be958
Rename mono IR code gen helpers
2021-12-16 16:52:47 +00:00
Brian Carroll
71de2289ae
Rename helper proc generator struct
2021-12-16 16:52:47 +00:00
Brian Carroll
0547647341
Rename code gen helper file in mono
2021-12-16 16:52:47 +00:00
Brian Carroll
cca4acf728
Remove f128 equality implementation
2021-12-13 22:23:20 +00:00
Brian Carroll
594fe9124d
Wasm support for 128-bit number literals, isFinite, ==, and !=
2021-12-13 09:05:07 +00:00
Brian Carroll
c290bbe7a7
Move layout calculations to layout module
2021-12-12 12:22:10 +00:00
Brian Carroll
2a53e2711d
formatting
2021-12-12 08:41:34 +00:00
Brian Carroll
044a2015bb
Make better use of Layout methods for GetTagId
2021-12-12 08:35:02 +00:00
Brian Carroll
9594b05c96
Add some debug features to gen_wasm
2021-12-11 20:33:54 +00:00
Brian Carroll
9bf1b9aae3
Fix double-offset bug
2021-12-11 20:33:11 +00:00
Brian Carroll
c53b3c3686
Skip refcounting on unimplemented layouts
2021-12-11 20:33:11 +00:00
Brian Carroll
f54f96281f
Fix roc_alloc linking. Test passes for recursive Tag
2021-12-11 20:33:11 +00:00
Brian Carroll
f3ca3be507
Add Wasm support for recursive tags, along with GetTagId and UnionAtIndex
2021-12-11 20:33:11 +00:00
Brian Carroll
0fe8575ba3
Delete libc.a from gen_wasm
2021-12-11 10:15:32 +00:00
rvcas
6ada59d7a1
feat(wasm): the beginnings of a real array
2021-12-10 14:44:19 -05:00
Brian Carroll
bab8a0b8a0
Fix alignment bug
2021-12-10 14:52:59 +00:00
Brian Carroll
7b6ba79eee
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-tags
2021-12-10 11:48:56 +00:00
Richard Feldman
1ce648ac27
Merge pull request #2116 from rtfeldman/str_to_num
...
Str.toNum
2021-12-09 09:48:38 -05:00
Brian Carroll
3f7b3bef87
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-tags
2021-12-09 09:28:11 +00:00
Brian Carroll
1dda8859c4
Update gen_wasm's error handling to remove Result and use macros consistently
2021-12-09 00:11:44 +00:00
Brian Carroll
a25101b378
Remove unusable variants from Align enum
...
I discovered today that Wasmer throws an error if you use
"higher than natural" alignment in a store instruction.
So let's take them out of the enum.
2021-12-08 21:55:14 +00:00
Brian Carroll
8a1a164544
Prevent >8 bit alignment specifier in Wasm store instruction, which is not allowed
2021-12-08 21:42:48 +00:00
Brian Carroll
1ba654c5b2
Change round_up_to_alignment to a macro to work on more Rust types
2021-12-08 21:11:10 +00:00
Brian Carroll
6a801ebc7e
gen_wasm: add support for non-recursive Tags
2021-12-08 20:45:49 +00:00
Brian Carroll
f6b6d91c56
More accurate comment for EmptyArray
2021-12-08 20:30:26 +00:00
Brian Carroll
73c9c7089a
Fix gen_wasm Let statement for heap-allocating expressions
...
When we allocate on the heap we'll need to force LocalId storage.
In that case we don't want CodeBuilder to track the Symbol,
even though it has WasmLayout::Primitive.
So basically it was always the wrong condition to check, but we
got away with it when we had no heap allocations.
2021-12-08 20:30:26 +00:00
Brian Carroll
72fa6217fb
Refactor wasm lowlevels to make it easier to add more 128-bit ops
2021-12-01 15:09:23 +00:00
Folkert
69fc1ad7e7
sketch of StrToNum
2021-12-01 15:33:16 +01:00
Brian Carroll
a3827d6636
Merge pull request #2071 from rtfeldman/refcount-mono-ir
...
Start generating refcounting code as mono IR
2021-12-01 12:59:16 +00:00
Brian Carroll
6b30ab79ac
Fix release build of Wasm backend
2021-12-01 00:03:01 +00:00
rvcas
f995a07029
feat: Num.toStr
...
* add type for Num.toStr
* create new lowlevel
* delete types and Symbol for fromInt and fromFloat
* leave LowLevel::{StrFromFloat,StrFromInt}
* match on LowLevel::NumToStr and figure out the layout to decide
which build function to delegate to
2021-11-30 14:52:06 -05:00
Brian Carroll
ea64b6488c
Add some disabled debugging statements
2021-11-30 12:59:03 +00:00
Brian Carroll
b1ba1d2db9
WasmBackend no longer needs any public fields, only methods
2021-11-30 10:58:03 +00:00
Brian Carroll
a08633fd36
Debugging improvements
2021-11-30 10:58:03 +00:00
Brian Carroll
8a137126fe
Fix bug with linker info for refcount procs
2021-11-30 10:57:59 +00:00
Brian Carroll
22ccb6eca4
Prefix string constants with REFCOUNT_MAX
2021-11-30 09:57:31 +00:00
Brian Carroll
c2a2ff2957
Create Expr::to_pretty in mono IR
2021-11-30 09:57:26 +00:00
Brian Carroll
079a8311ec
Delete HeapMemory variant of WasmLayout, just treat pointers as Primitive
...
When I created this (at the very beginning of the Wasm backend),
I didn't really have a clear reason for it. I just thought it might end up
making sense treat heap pointers differently from numbers, somehow.
But the semantic differences between pointers and other numbers is not relevant
to WasmLayout. The semantics are clear from where the Symbol appears in the IR.
Also we were storing heap pointers in locals, for no real reason.
And the fact that it's *different* meant a lot of new cases in match expressions,
to do the exact same thing as Primitives but with a pointless difference.
Until now, we haven't really used this variant in any of our tests.
But the refcount pointer needed it... and everything broke!
2021-11-30 09:57:00 +00:00
Brian Carroll
3581c7f5be
Use readable debug names throughout refcount proc generator
2021-11-30 09:57:00 +00:00
Brian Carroll
820d9e0ab4
Register debug names for new Symbols, and refactor to avoid borrow-checker issues
2021-11-30 09:57:00 +00:00
Brian Carroll
e7d8c7c895
Make gen_wasm's Env mutable
2021-11-30 09:57:00 +00:00
Brian Carroll
f4d52f7084
Add alignment argument to Zig decref call
2021-11-30 09:57:00 +00:00
Brian Carroll
7b5fb2577b
Delete unused bash scripts
2021-11-30 09:57:00 +00:00
Brian Carroll
38e3386b80
Formatting & comments
2021-11-30 09:57:00 +00:00
Brian Carroll
ebc1fd6880
Get rid of special ModuleId for refcounting code
2021-11-30 09:57:00 +00:00
Brian Carroll
2ad032f894
Integrate refcount proc generator with Wasm backend
2021-11-30 09:57:00 +00:00
Brian Carroll
61575cea7e
Generate calls to refcount procs from Wasm backend
2021-11-30 09:57:00 +00:00
Brian Carroll
264927fb85
Wasm code gen for new refcount lowlevels
2021-11-30 09:57:00 +00:00
Brian Carroll
6e5acadfea
Create new lowlevels for refcounting
2021-11-30 09:57:00 +00:00
rvcas
27e77f446f
feat(wasm): implement EmptyArray
2021-11-29 15:08:52 -05:00
Brian Carroll
1f747e971f
Clippy & fmt
2021-11-29 01:09:31 +00:00
Brian Carroll
dcd4914ac1
Fix and enable tests involving empty records
2021-11-29 00:57:28 +00:00
Brian Carroll
88bf6bf1b7
Clean up Wasm calling convention code
2021-11-29 00:17:45 +00:00
Brian Carroll
27af5897d1
Handle zero-size structs
2021-11-28 21:04:40 +00:00
Folkert
a1fd34feef
remove empty layout types (list,str,dict,set)
2021-11-27 14:05:16 +01:00
Brian Carroll
44cf238a67
Merge pull request #2056 from rtfeldman/wasm-dec-add
...
Wasm dec add
2021-11-23 13:37:04 +00:00
Folkert
4e6568016d
fix comment: rust thought it was code it should execute
2021-11-23 11:56:33 +01:00
Brian Carroll
8c3c01cd1f
Reduce recursion for sequences of Let statements in gen_wasm
2021-11-23 09:22:41 +00:00
Folkert
44fdf8df18
remove unreachable cases
2021-11-22 21:40:44 +01:00
Folkert
f2f4f3bd72
Merge remote-tracking branch 'origin/trunk' into wasm-dec-add
2021-11-22 21:25:01 +01:00
Folkert
78c26c6096
fix returning an aggregate value with ccc
2021-11-22 10:17:17 +01:00
Brian Carroll
5a8c3d4f0f
Fix it again, properly this time
2021-11-21 23:49:26 +00:00
Brian Carroll
bd2813f36c
Fix loading of 128-bit numbers
2021-11-21 23:46:04 +00:00
Folkert
f96d60a13e
Merge remote-tracking branch 'origin/trunk' into layout-builtin-numbers-refactor
2021-11-21 23:19:55 +01:00
Folkert
bceebc4f8f
first pass at decimal addition in the wasm backend
2021-11-21 23:00:12 +01:00
Brian Carroll
0a5b0bdb0a
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-load-128bit-numbers
2021-11-21 20:53:38 +00:00
Brian Carroll
2e31350010
Logic to load 128-bit numbers
2021-11-21 20:44:16 +00:00
Folkert
fc635abe0b
Revert "decimal add experiment"
...
This reverts commit bfd5ca623c
.
2021-11-21 20:29:12 +01:00
Folkert
bfd5ca623c
decimal add experiment
2021-11-21 20:02:33 +01:00
Folkert
5529841d68
Merge remote-tracking branch 'origin/trunk' into decimal-literals
2021-11-21 19:31:38 +01:00
Folkert
dc44eaac97
cleanup
2021-11-21 14:11:18 +01:00
Folkert
ce8615fbbc
wasm working
2021-11-21 00:41:37 +01:00
Folkert
c4ec9aa898
working mono
2021-11-20 23:25:30 +01:00
Michael Downey
d11bb93539
Merge branch 'trunk' into add_list_all
2021-11-18 16:09:24 -05:00
Michael Downey
12f7d4b458
fixing format
2021-11-18 16:04:38 -05:00
Michael Downey
9d587d37b4
Merge branch 'trunk' into add_list_all
2021-11-18 06:41:08 -05:00
Brian Carroll
be55582290
Enable some more gen_wasm string builtins
2021-11-18 09:59:52 +00:00
Brian Carroll
3d124b4122
Fix builtin calls for primitives
2021-11-17 16:51:42 +00:00
Brian Carroll
1134b6f45c
Fix test_wrapper linking bug
2021-11-17 16:45:38 +00:00
Brian Carroll
e75a9ec281
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-str-builtins
2021-11-17 13:51:11 +00:00
Brian Carroll
a3bfee5cd8
Leave other string builtins for later
2021-11-17 13:48:29 +00:00
Brian Carroll
03c19b727a
String concatenation working in gen_wasm!
2021-11-17 13:38:50 +00:00
Brian Carroll
4aaa6d92a1
For now, commit a binary archive of Wasm libc
2021-11-17 12:52:48 +00:00
Brian Carroll
af896e5d33
Comments
2021-11-17 09:39:16 +00:00
Michael Downey
51ad326d11
fmt
2021-11-16 17:30:04 -05:00
Michael Downey
d946b84e63
adding initial List.all
2021-11-16 16:34:36 -05:00
Brian Carroll
b8f40011b9
Generate a test "platform" with libc allocator functions
2021-11-16 11:59:46 +00:00
Brian Carroll
e9f920827e
Add support for Zig/LLVM "fast calling convention"
2021-11-15 19:20:55 +00:00