1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

235 Commits

Author SHA1 Message Date
afbccf79f7 builtin: don't memdup element for array.pop (depends on how cgen works) (#13789)
The voidptr returned is immediately dereferenced in cgen so the memory
is copied before the array can be appended to: `*(int*)array_pop(&a)`
2022-03-21 23:34:35 +02:00
71edaa071a builtin: use malloc, instead of calloc in array.ensure_cap/1 2022-03-20 15:08:42 +02:00
8ab0bcb6aa Revert "builtin: improve performance for common array ops, based on VTune analysis"
This reverts commit 57db261538.
2022-03-20 12:57:27 +02:00
57db261538 builtin: improve performance for common array ops, based on VTune analysis 2022-03-20 12:42:04 +02:00
8dc4b1d9a3 builtin: use malloc_noscan more (for map metas and in []byte.hex()) 2022-03-11 11:26:22 +02:00
7231a3f135 vlib: add mut for the first parameter of builtin.copy, arrays.copy and crypto (#13702) 2022-03-09 20:26:00 +02:00
54de04a916 arrays: improve fold/reduce docs (#13700) 2022-03-09 20:04:49 +02:00
17fcc788f2 arrays: add generic copy fn (#13677) 2022-03-08 09:44:04 +02:00
36ec47cd20 all: replace "NB:" with "Note:" (docs/comments) 2022-03-06 20:01:22 +03:00
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
ceb05b163a strings: rename Builder.write_b() to Builder.write_byte(), add deprecation (#13313) 2022-01-28 20:34:44 +02:00
f19197f9b0 builtin: make array.insert_many and array.prepend_many private (#13172) 2022-01-14 19:47:17 +02:00
9329b6c8c8 builtin: add more documentation (#13160) 2022-01-14 17:27:38 +02:00
59ed4be49a all: update copyright year 2022-01-04 12:21:12 +03:00
278c08704c all: support slices with negative indexes #[start..end] (gated arrays) (#12914) 2021-12-22 16:34:02 +03:00
7c255f0ff2 builtin, cgen: fix array of map init with default value (#12885) 2021-12-18 10:07:25 +02:00
7c7cdf8ce7 builtin: clean up array.v (#12784) 2021-12-11 11:17:00 +03:00
31fe02de8c builtin,crypto: fix problems detected by -fsanitize=address,undefined and -fsanitize=memory 2021-11-28 20:35:18 +02:00
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
6937074e7a strings,builder: reduce V cgen and parser memory consumption, fix strings.Builder leak (#12342) 2021-10-31 12:58:55 +02:00
579d5ae649 builtin,checker: add array.flags. Allow changing it in unsafe {} blocks 2021-10-31 11:04:56 +02:00
b86c79329b os, builtin: reduce leaks without -autofree 2021-10-29 15:49:30 +03:00
475a2f9b43 ci: fix failing vlib/orm/orm_test.v 2021-10-28 17:33:18 +03:00
4d0f6767b1 builtin: use malloc instead of calloc for []Type{cap: size} 2021-10-28 17:18:03 +03:00
e3b65092d6 parser: deprecate size_t (#11443) 2021-09-08 13:09:32 +03:00
5181031480 builtin: check array.sort_with_compare() arg mismatch (#11385) 2021-09-04 15:02:05 +03:00
47884dfd1f builtin: move C. calls to .c.v files (#11164) 2021-08-12 21:46:38 +03:00
506c30a291 builtin: remove methods that can be autogenerated (#11109) 2021-08-09 15:42:31 +03:00
fc193bebf2 builtin: add documentation for builtin array functions (#11023) 2021-08-03 06:25:33 +03:00
29cda252f1 builtin: fix multiple array init (#10929) 2021-07-23 23:25:12 +03:00
41982053f1 builtin: make array.delete() reallocate, provide .delete_many() (#10889) 2021-07-21 20:55:32 +03:00
41e88423aa Revert "builtin: use == 0 instead of isnil()"
This reverts commit 8650ec6916.
2021-07-01 06:21:03 +03:00
63638fd271 cgen: optimize generated array.index(elem) 2021-06-28 17:45:13 +03:00
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
daeeaef030 vfmt: hot fix to allow separate array_d_gcboehm_opt.v (#10413) 2021-06-11 12:00:18 +03:00
0e2c86310a GC-boehm: extend optimized mode to all array methods (#10406) 2021-06-10 21:26:17 +03:00
811a3e1d38 builtin: optimize array.repeat() (#10396) 2021-06-09 12:52:30 +03:00
a2243054a5 builtin: fix memory corruption in array .clone() and .repeat() (#10394) 2021-06-08 23:23:28 +03:00
8828054e5b builtin: fix arrays/slices memory bug (#10219) 2021-05-27 15:50:06 +03:00
560301dbfe cgen: dont preallocate zero length with capacity of 1 2021-05-26 14:51:20 +10:00
4eb8072882 parser: remove ++/-- exception for some modules (#9895) 2021-04-27 01:41:42 +03:00
14434cc86a all: bare metal support (fix -freestanding) (#9624) 2021-04-14 07:50:50 +02:00
10bf974cda all: gc: provide optimized mode (#9716) 2021-04-14 00:40:26 +02:00
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
ada763e0f4 fmt: remove parenthesis around single ident (#9696) 2021-04-12 16:01:03 +03:00
291a88bc62 ci: fix some of v test-cleancode 4 2021-04-05 21:39:32 +03:00
accd4d83bf ci: fix compilation 2021-04-04 20:14:51 +03:00
7f81702d81 builtin: optimize array sort (#9570) 2021-04-03 12:16:18 +02:00
7afa4c7e2c builtin: fix ["abc", "xyz"].str() 2021-03-23 22:11:32 +02:00
7f91b75cbc builtin: fix leaks in os.execute() and []string{} == []string{} 2021-03-23 20:36:19 +02:00