Commit Graph

242 Commits (0b75a21aab29a89c82dd58937ceccacbc2b932fe)

Author SHA1 Message Date
Uwe Krüger d26ac5692e
all: various fixes for [heap]/auto-heap handling (#10033) 2021-05-07 15:58:48 +03:00
Delyan Angelov 2eafea6308
v: reduce the memory usage of the compiler (analysed with heaptrack) 2021-05-06 11:44:48 +03:00
Delyan Angelov 84f9789e72
v: tag more low level functions with `[direct_array_access]` 2021-05-06 00:35:16 +03:00
Delyan Angelov 597a774d36
scanner: speed up Scanner.skip_whitespace (~2-3% speed up of `-o x.c cmd/v`) 2021-05-03 14:14:32 +03:00
Mark feb60674b4
builtin.string: minor fixes in join() (#9952) 2021-05-02 19:31:47 +03:00
JalonSolov 3175525b5e
builtin.string: optimize replace (#9969) 2021-05-02 19:30:07 +03:00
JalonSolov 3363c3ef65
builtin.string: optimize replace() (#9955) 2021-05-01 21:27:49 +03:00
Lukas Neubert 70c651ff17
all: make __global behave consistent with const (#9711) 2021-04-19 17:07:47 +03:00
Delyan Angelov ded3ce5863
builtin: cleanup string.v 2021-04-17 12:30:45 +03:00
crthpl 14434cc86a
all: bare metal support (fix `-freestanding`) (#9624) 2021-04-14 07:50:50 +02:00
Delyan Angelov f04dd21e79
builtin: run vfmt over string.v 2021-04-13 12:01:23 +03: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
Alexander Medvednikov 66d3917554 builtin: fix C++ compilation 2021-04-07 15:25:45 +03:00
Delyan Angelov 291a88bc62
ci: fix some of `v test-cleancode` 4 2021-04-05 21:39:32 +03:00
Delyan Angelov 34aa67b1e8
ci: fix compilation and formatting of sqlite example in docs.md 2021-04-05 08:09:04 +03:00
Delyan Angelov accd4d83bf
ci: fix compilation 2021-04-04 20:14:51 +03:00
Alexander Medvednikov 57e6138a61 all: remove byteptr and charptr; replace them with &byte and &char 2021-04-04 17:43:32 +03:00
Alexander Medvednikov bb5958991c checker: warn about automatic (de)referencing; freetype: compilation flag fixes 2021-03-26 11:42:51 +03:00
Delyan Angelov b7c01db1f9
builtin: add .vstring_literal and .vstring_literal_with_len for converting read only strings like os.args 2021-03-23 22:10:28 +02:00
Delyan Angelov 026f8424c2
builtin: fix a leak in string.index_kmp 2021-03-23 21:48:08 +02:00
Delyan Angelov d098a3caca
builtin: make string.add() public temporarily till -autofree improves 2021-03-23 20:20:53 +02:00
Delyan Angelov 419ee8ae2a
builtin: fix a bug in `[]string.join()` 2021-03-23 20:14:46 +02:00
Alexander Medvednikov 0c055a1ce9 all: s.contains(s2) instead of `in` 2021-03-23 11:38:56 +03:00
Delyan Angelov c76c69ec35
all: simplify `return if ...` constructs to make more code compatible with -autofree 2021-03-22 16:45:29 +02:00
yuyi 320cd00203
string: fix replace_each() (#9415) 2021-03-22 09:46:45 +01:00
Delyan Angelov 8fa7e67000
builtin: use `return s.clone()` instead of `return s` consistently, to make manual free easier 2021-03-18 22:23:36 +02:00
Delyan Angelov d4e16b6ddd
builtin: reduce memory allocations for s.trim, s.trim_left and s.trim_right 2021-03-18 19:52:33 +02:00
shadowninja55 b4f7a975e8
builtin.string: optimize string.count where substr.len == 1 (#9337) 2021-03-17 00:19:48 +02:00
shadowninja55 d92f9e77b0
builtin.string: optimize string.split_nth() for len == 1 delim (#9325) 2021-03-16 20:30:27 +02:00
JalonSolov 6f550ebbdc
string: fix fields method when no whitespace (#9326) 2021-03-16 19:45:27 +02:00
Alexander Medvednikov 93df560cf9 builtin: deprecate string.split_by_whitespace in favor of fields() 2021-03-16 08:29:14 +03:00
Alexander Medvednikov 667a26335f builtin: fix substr() 2021-03-15 21:16:23 +01:00
Alexander Medvednikov 77d5fcca59 urllib: a temporary autofree fix 2021-03-15 21:12:11 +01:00
Delyan Angelov d65ad68e77
builtin: add 0 terminators for strings returned by .to_lower, .to_upper, utf32_to_str_no_malloc/2 2021-03-14 18:21:45 +02:00
Stanislav Ershov c190b6a131
vlib: remove older deprecated functions (#8864) 2021-02-20 20:42:55 +02:00
Nick Treleaven 4a0367a63c
vlib: add [unsafe] tag to more functions: tos, string_from_wide, strings.Builder: write_bytes, free (#8766) 2021-02-15 17:15:52 +02:00
Nick Treleaven ea803113c3
checker: check `unsafe` V function calls (#8752) 2021-02-14 19:31:42 +01:00
Lukas Neubert 473cd1d416
fmt: single line ternary return (#8605) 2021-02-08 00:28:46 +01:00
Alexander Medvednikov a81ee0e94e tools/fast: measure v.c size and parse/check/cgen steps 2021-02-07 04:48:54 +01:00
Alexander Medvednikov 216fea1eb3 string: remove left/right (one way!) 2021-01-22 10:26:07 +01:00
Alexander Medvednikov 5815d96418 Revert "builtin: make string.(left|right) pub (#8245)"
This reverts commit 820e684313.
2021-01-22 10:09:31 +01:00
zakuro 820e684313
builtin: make string.(left|right) pub (#8245) 2021-01-22 09:35:32 +02:00
Lukas Neubert ac2c3847af
all: update copyright to 2019-2021 (#8029) 2021-01-18 13:20:06 +01:00
yuyi aeddd5b559
string: minor optimization (fix #8100) (#8106) 2021-01-15 02:26:06 +01:00
Alexander Medvednikov 3e04dfc79f builtin: fix byte.str() (part 1) 2021-01-05 18:59:51 +01:00
Delyan Angelov 84fc9cec4b
builtin: add string.split_by_whitespace() 2020-12-29 08:46:46 +02:00
yuyi b47daad40d
all: remove redundant array.contains definitions (#7464) 2020-12-22 08:32:32 +01:00
Larpon 1ff6230062
builtin: document all functions in string.v (#7273) 2020-12-12 12:10:29 +02:00
Alexander Medvednikov d319fe14f0 string: fix a one byte leak in .substr() 2020-12-11 05:12:18 +01:00
Alexander Medvednikov a297cf8676 string: fix one byte leak in clone() 2020-12-11 05:03:37 +01:00