Delyan Angelov
9344c27021
builtin: save a call to array.ensure_cap in array.insert, array.push, array.push_many in most cases
2022-02-02 11:01:07 +02:00
Benjamin Stigsen
ceb05b163a
strings: rename Builder.write_b() to Builder.write_byte(), add deprecation ( #13313 )
2022-01-28 20:34:44 +02:00
jeffmikels
f19197f9b0
builtin: make array.insert_many and array.prepend_many private ( #13172 )
2022-01-14 19:47:17 +02:00
jeffmikels
9329b6c8c8
builtin: add more documentation ( #13160 )
2022-01-14 17:27:38 +02:00
Alexander Medvednikov
59ed4be49a
all: update copyright year
2022-01-04 12:21:12 +03:00
penguindark
278c08704c
all: support slices with negative indexes `#[start..end]` (gated arrays) ( #12914 )
2021-12-22 16:34:02 +03:00
yuyi
7c255f0ff2
builtin, cgen: fix array of map init with default value ( #12885 )
2021-12-18 10:07:25 +02:00
yuyi
7c7cdf8ce7
builtin: clean up array.v ( #12784 )
2021-12-11 11:17:00 +03:00
Delyan Angelov
31fe02de8c
builtin,crypto: fix problems detected by -fsanitize=address,undefined and -fsanitize=memory
2021-11-28 20:35:18 +02:00
Delyan Angelov
1aaac13a60
cgen: make `os` less special, fix an -autofree leak on just `import os`
...
* Improve documentation of v.util.Surrounder
* Remove `os` from the list of "no auto free" `builtin` mods
* Fix -autofree freeing of `const x = []string{}`.
* Add a valgrind regression test.
* Implement os.getenv_opt in vlib/os/environment.js.v too.
2021-11-21 21:50:10 +02:00
Delyan Angelov
6937074e7a
strings,builder: reduce V cgen and parser memory consumption, fix strings.Builder leak ( #12342 )
2021-10-31 12:58:55 +02:00
Delyan Angelov
579d5ae649
builtin,checker: add array.flags. Allow changing it in `unsafe {}` blocks
2021-10-31 11:04:56 +02:00
Delyan Angelov
b86c79329b
os, builtin: reduce leaks without -autofree
2021-10-29 15:49:30 +03:00
Delyan Angelov
475a2f9b43
ci: fix failing vlib/orm/orm_test.v
2021-10-28 17:33:18 +03:00
Delyan Angelov
4d0f6767b1
builtin: use malloc instead of calloc for `[]Type{cap: size}`
2021-10-28 17:18:03 +03:00
Enzo
e3b65092d6
parser: deprecate `size_t` ( #11443 )
2021-09-08 13:09:32 +03:00
yuyi
5181031480
builtin: check array.sort_with_compare() arg mismatch ( #11385 )
2021-09-04 15:02:05 +03:00
Delyan Angelov
47884dfd1f
builtin: move C. calls to .c.v files ( #11164 )
2021-08-12 21:46:38 +03:00
Enzo
506c30a291
builtin: remove methods that can be autogenerated ( #11109 )
2021-08-09 15:42:31 +03:00
Enzo
fc193bebf2
builtin: add documentation for builtin array functions ( #11023 )
2021-08-03 06:25:33 +03:00
yuyi
29cda252f1
builtin: fix multiple array init ( #10929 )
2021-07-23 23:25:12 +03:00
Uwe Krüger
41982053f1
builtin: make `array.delete()` reallocate, provide `.delete_many()` ( #10889 )
2021-07-21 20:55:32 +03:00
Alexander Medvednikov
41e88423aa
Revert "builtin: use == 0 instead of isnil()"
...
This reverts commit 8650ec6916
.
2021-07-01 06:21:03 +03:00
Delyan Angelov
63638fd271
cgen: optimize generated array.index(elem)
2021-06-28 17:45:13 +03:00
Delyan Angelov
8650ec6916
builtin: use == 0 instead of isnil()
...
Do not rely on C inlining that may not happen for a *very* frequently
called fn in lower level code.
2021-06-28 10:59:14 +03:00
Uwe Krüger
daeeaef030
vfmt: hot fix to allow separate `array_d_gcboehm_opt.v` ( #10413 )
2021-06-11 12:00:18 +03:00
Uwe Krüger
0e2c86310a
GC-boehm: extend optimized mode to all `array` methods ( #10406 )
2021-06-10 21:26:17 +03:00
Uwe Krüger
811a3e1d38
builtin: optimize `array.repeat()` ( #10396 )
2021-06-09 12:52:30 +03:00
Uwe Krüger
a2243054a5
builtin: fix memory corruption in array `.clone()` and `.repeat()` ( #10394 )
2021-06-08 23:23:28 +03:00
Uwe Krüger
8828054e5b
builtin: fix arrays/slices memory bug ( #10219 )
2021-05-27 15:50:06 +03:00
Joe Conigliaro
560301dbfe
cgen: dont preallocate zero length with capacity of 1
2021-05-26 14:51:20 +10:00
Enzo
4eb8072882
parser: remove ++/-- exception for some modules ( #9895 )
2021-04-27 01:41:42 +03:00
crthpl
14434cc86a
all: bare metal support (fix `-freestanding`) ( #9624 )
2021-04-14 07:50:50 +02:00
Uwe Krüger
10bf974cda
all: gc: provide optimized mode ( #9716 )
2021-04-14 00:40:26 +02:00
Delyan Angelov
a1121d0eb0
builtin: use 0 instead of `\0` rune when setting C style terminators; use C.memcpy in `[]string{}.join("")`
2021-04-13 11:29:33 +03:00
Lukas Neubert
ada763e0f4
fmt: remove parenthesis around single ident ( #9696 )
2021-04-12 16:01:03 +03:00
Delyan Angelov
291a88bc62
ci: fix some of `v test-cleancode` 4
2021-04-05 21:39:32 +03:00
Delyan Angelov
accd4d83bf
ci: fix compilation
2021-04-04 20:14:51 +03:00
yuyi
7f81702d81
builtin: optimize array sort ( #9570 )
2021-04-03 12:16:18 +02:00
Delyan Angelov
7afa4c7e2c
builtin: fix `["abc", "xyz"].str()`
2021-03-23 22:11:32 +02:00
Delyan Angelov
7f91b75cbc
builtin: fix leaks in `os.execute()` and `[]string{} == []string{}`
2021-03-23 20:36:19 +02:00
Delyan Angelov
8810af76df
all: support `-gc boehm` on systems with libgc-dev installed ( #9382 )
2021-03-20 14:16:36 +01:00
Delyan Angelov
00651c8deb
builtin: free all elements in a `[]string` with -autofree too
2021-03-18 21:10:42 +02:00
Delyan Angelov
125be84e3d
builtin: fix `-d debug_realloc`, add realloc_data/3
2021-03-14 14:54:35 +02:00
Lukas Neubert
80356edd8c
fmt: combine simple attributes into a single line ( #9120 )
2021-03-05 07:17:57 +02:00
Delyan Angelov
488848e904
builtin: simplify copy/2
2021-03-02 18:14:42 +02:00
Nick Treleaven
23f231ee61
builtin: tag array methods unsafe: *_many, grow_len, pointers ( #8983 )
2021-02-26 22:55:09 +01:00
zakuro
f54c1a5cc2
all: add strings.Builder.write_string and use write_string instead of write ( #8892 )
2021-02-22 13:18:11 +02:00
Quix
486bf8517f
builtin: fix typo ( #8747 )
2021-02-15 17:54:07 +02:00
Nick Treleaven
ea803113c3
checker: check `unsafe` V function calls ( #8752 )
2021-02-14 19:31:42 +01:00