J.Teeuwissen
ed46a1f2cb
lowlevel isUnique
2023-04-26 17:23:10 +02:00
Yuki Omoto
7ef166a11f
remove wrong subtraction in dec div
2023-04-09 11:34:24 +09:00
Yuki Omoto
f57085da05
refactor dec div
2023-04-09 03:52:17 +09:00
Yuki Omoto
219e72ff20
Fix dec division problem
...
Fixed dec division that envolves a number that has a hi word greater than
0 when converted into `U256` like `341dec / 341`.
This commit resolves #5259
2023-04-09 00:00:06 +09:00
Brendan Hansknecht
457725e87f
fix end offset of fromUtf8Range
2023-03-28 18:53:47 -07:00
Brendan Hansknecht
2a6c82c937
fix bug where we don't decrement elements if the list is non-unique
2023-03-16 12:12:28 -07:00
Brendan Hansknecht
a955a4937c
misc list refcounting updates
2023-03-16 12:12:28 -07:00
Brendan Hansknecht
ce29c7e92f
fix bugs from recent changes and additions
2023-03-16 12:12:27 -07:00
Brendan Hansknecht
48f17a8e2c
add Str.releaseExcessCapacity
2023-03-15 15:24:59 -07:00
Brendan Hansknecht
b8e42b05a2
misc cleanup
2023-03-15 13:25:45 -07:00
Brendan Hansknecht
19039ea5bd
fix edge cases
2023-03-15 13:25:44 -07:00
Brendan Hansknecht
70eef9141f
port string functions to seamless slices
2023-03-15 13:25:40 -07:00
Brendan Hansknecht
3978059aa2
add seamless slices for str
2023-03-15 13:23:34 -07:00
Brendan Hansknecht
0f708d7577
fix accessing bug
2023-03-15 10:06:31 -07:00
Brendan Hansknecht
88a69a23a8
fix type to work on 32bit platforms
2023-03-15 10:06:31 -07:00
Brendan Hansknecht
7f3c67ade9
use isValidUnicode in fromUtf8 to make it faster. Also fix off by one bug.
2023-03-15 10:06:31 -07:00
Brendan Hansknecht
f6677f3c1f
Add a fast path for validating ASCII charcters
...
From my quick testing using the code for testing this function in zig standard lib:
small ascii: 2.2x
small unicode: 0.9x
medium ascii: 15x
medium unicode: 1.01x
medium mix: 3.25x
large ascii: 32.8x
large unicode: 1.03x
large mixed: 3.35x
small being less than 8 bytes.
large being roughly greater than 512 bytes.
2023-03-15 10:06:31 -07:00
Brendan Hansknecht
1319ba4844
add List.releaseExcessCapacity builtin
2023-03-13 17:43:21 -07:00
Brendan Hansknecht
b94a046b0d
make sure to check raw capacity when decrementing refcounts
2023-03-13 14:08:24 -07:00
Brendan Hansknecht
dfb748fb03
misc cleanup + change refcount pointer to avoid branching
2023-03-13 14:08:24 -07:00
Brendan Hansknecht
216fd3f9f6
Update typo in comment
...
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Signed-off-by: Brendan Hansknecht <Brendan.Hansknecht@gmail.com>
2023-03-13 14:08:24 -07:00
Brendan Hansknecht
5f6910f747
add todo about upgrading to bit manipulation
2023-03-13 14:08:24 -07:00
Brendan Hansknecht
f96a63c1d4
correct case for zig naming
2023-03-13 14:08:23 -07:00
Brendan Hansknecht
146dff5446
add llvm refcounting and fix memory leak
2023-03-13 14:08:23 -07:00
Brendan Hansknecht
7a927b6192
Port fromUtf8 to fromUtf8Range
...
All roc file calls already use fromUtf8Range.
Removed the duplicate function for simplicity.
Inlining should lead to generating the same code.
2023-03-13 14:08:23 -07:00
Brendan Hansknecht
cda37a5d1b
use seamless slices for List.dropAt when possible
2023-03-13 14:08:23 -07:00
Brendan Hansknecht
4ced1bcfdd
add baseline of seamless slices
2023-03-13 14:08:23 -07:00
Brendan Hansknecht
e32c5f6514
standardize on decref instead of deinit for name
2023-03-13 14:08:23 -07:00
Brendan Hansknecht
440c0518f1
Change list.deinit to take alignment directly
...
In doing so remove the many class directly to utils.decref
2023-03-13 14:08:22 -07:00
Brendan Hansknecht
e6964536b2
add more Num.bytesTo* functions
2023-03-12 08:41:05 -07:00
Brendan Hansknecht
785da377c8
add Num.count*Bits functions
2023-03-12 08:41:04 -07:00
Brendan Hansknecht
df8cc231eb
rustfmt
2023-03-10 13:57:11 -08:00
Brendan Hansknecht
cb191d3788
Split utils into error and command utils
...
Error utils pulls in snafu which requires procedural macros.
This means it can't start compiling until syn and macro related crates are compiled.
This deals compiling all crates that depend on commands like running zig for the bitcode.
The split enables those crates to run sooner.
2023-03-10 09:39:43 -08:00
Brendan Hansknecht
d5e191d083
split up bitcode building to reduce dependency chains
2023-03-10 09:39:43 -08:00
Brendan Hansknecht
0aa932d014
fix mem leak in Str.trim and make all Str.trim* functions consistent
2023-03-02 22:18:26 -08:00
Richard Feldman
b5caddcb77
Merge pull request #4973 from roc-lang/fix-string-split
...
fix string split on overlapping delimiters
2023-01-27 19:34:07 -05:00
Folkert
d52c037cba
fix string split on overlapping delimiters
2023-01-27 17:35:10 +01:00
Ayaz
99050956d3
Merge pull request #4971 from roc-lang/str-trim-null-byte
...
fix bug in Str.trim
2023-01-27 09:29:01 -06:00
Folkert
a77f137a9d
fix bug in Str.trim
2023-01-26 22:52:14 +01:00
Folkert
0af11c210e
fix memory leak in List.concat
2023-01-26 20:31:33 +01:00
Folkert
4e5b106f98
use capacity instead of length in list deinit
2023-01-20 21:44:41 +01:00
Folkert
165d4b3450
fix memory leak in string trimming
2023-01-19 14:35:38 +01:00
Folkert
437498b7ac
list decrement must use capacity, not length
2023-01-14 13:14:37 +01:00
Folkert
148d24662e
use capacity instead of length in decref
2023-01-08 22:01:35 +01:00
Folkert
05e23f8c5c
decref owned but empty list in List.concat
2022-12-29 00:13:24 +01:00
Folkert
2dfa7d6ef1
fix memory leak in List.concat
2022-12-28 22:52:32 +01:00
Folkert de Vries
3682e7db6c
Merge pull request #4796 from roc-lang/str-rc-fixes
...
fix missing decref in split and concat
2022-12-22 12:00:53 +01:00
Folkert
1481aea40c
fix missing decref in split and concat
2022-12-22 01:08:31 +01:00
Folkert
6c7d434f81
fix lifetime issue in RocStr.asU8Ptr
2022-12-21 01:43:38 +01:00
Folkert de Vries
a18197347b
Merge pull request #4767 from roc-lang/wasm_interp_repl_test
...
Replace Wasmer with roc_wasm_interp
2022-12-18 20:44:58 +01:00