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

187 Commits

Author SHA1 Message Date
af9766a7d6 sync: support concurrent selects on same channel(s) (#7415) 2020-12-20 04:52:40 +01:00
bcda0eeadc sync: fix rare freeze on select (#7398) 2020-12-19 00:02:29 +02:00
2e57a1e1a6 sync: add vlib/sync/bench/many_writers_and_receivers_on_1_channel.v (run with --help) 2020-11-19 21:30:38 +02:00
8c241cb745 checker: check that fns with return values, and matches, do return 2020-11-11 17:23:57 +02:00
be02ee97fb sync: enable compilation with -autofree 2020-10-29 12:17:08 +02:00
0c192cfd64 tests: fix warnings when doing ./v -W -progress -check-syntax test-fixed 2020-10-26 14:41:57 +02:00
e97d3af4b1 tcc: fix 'tcc: error: library atomic not found' on older Ubuntu distros (#6672) 2020-10-24 13:49:57 +03:00
dab66593fc vlib: run vfmt over vlib files, so that v doc -m vlib/ can run without warnings 2020-10-21 12:54:10 +03:00
46c5a2c8fc v test-fmt: fix some embedded comments in expressions 2020-10-14 22:52:33 +03:00
5f07b255bd checker: disallow address of array and map index outside unsafe (#6557) 2020-10-05 13:08:30 +02:00
03258db26d ci: other mut vlib test fixes 2020-09-27 11:18:55 +03:00
abc98c273c parser: require assign on type alias (#6477) 2020-09-25 12:02:32 +02:00
0f1c484ad1 parser/checker: if select { ... } { (#6434) 2020-09-21 07:34:04 +02:00
4ae88c69ac sync/select: allow push of literals and calculated expressions (#6429) 2020-09-20 03:50:09 +02:00
31a52cdf21 cgen: implement channel select block code generation (#6424) 2020-09-19 02:14:35 +02:00
ff92c3409d ast: merge IfExpr and CompIf (#6011) 2020-09-18 00:58:54 +02:00
168daebccf sync/channels: fix bug that caused 100% CPU on block (#6357) 2020-09-13 15:13:06 +02:00
b10d79c4d9 sync/channels: fixes for try_push/pop(), optimizations (#6352) 2020-09-12 02:29:11 +02:00
ea31f75098 checker: more default field fixes 2020-09-09 14:14:44 +02:00
5258f52497 fmt: add support for chan types and operations (#6328) 2020-09-08 00:36:05 +02:00
4d2c8a40d6 sync/atomic2: support 32 bit platforms (#6308) 2020-09-05 14:44:16 +02:00
b015033c53 builtin: add methods to builtin channels (#6303) 2020-09-05 01:36:20 +02:00
cbcba2e4cf parser: enable module auto import (of sync) (#6271) 2020-08-31 10:44:39 +02:00
393b46a6dd channels: make ch.len and ch.cap available as properties (#6221) 2020-08-26 06:41:51 +02:00
61df70fdf5 all: enable x = <-ch or {...} (#6195) 2020-08-23 02:12:05 +02:00
0d7cc8829a cgen: implement channel push()/pop() using <- operator (#6154) 2020-08-17 23:35:36 +02:00
0c7d73c8b0 sync/channels: use references for chan mut X testcase (#6145) 2020-08-16 23:01:49 +02:00
c2b4c645a1 sync/channels: document more benchmark results (#6135) 2020-08-15 11:20:51 +02:00
9602a25a0b all: add builtin channel type chan elem_type (#6126) 2020-08-14 21:18:42 +02:00
bb93bf34ec sync/semaphores: use dispatch semaphores on MacOS (#6110) 2020-08-12 03:45:09 +02:00
433610b5c0 sync/channels: provide .cap and .len() (#6104) 2020-08-11 17:52:13 +02:00
c3cdfa1c96 sync/channels: provide `try_push(), try_pop() as public methods (#6101) 2020-08-10 18:06:42 +02:00
20a65cf9c8 sync/channels: implement close() method (#6098) 2020-08-10 06:22:20 +02:00
d63daa0798 sync: use mfence on windows-tcc (#6079) 2020-08-06 17:31:05 +02:00
863cf8af60 sync: channel implementation (#6074) 2020-08-06 15:28:19 +02:00
9c9533dad9 checker: add error for fn f() Struct { return &Struct{} } (#6019) 2020-07-29 21:40:43 +02:00
0af415fa28 vlib: add unsafe{} wrappers to C. fn calls, to allow compiling with -prod again 2020-07-21 09:05:31 +03:00
587b9dd8aa tests: reduce iterations for the atomic and semaphore tests, to speed up test-fixed 2020-07-20 11:14:55 +03:00
8df6e59678 sync: add semaphores (#5831) 2020-07-15 10:22:33 +02:00
ef02373061 all: remove rwshared keyword, make its semantics default for shared (#5710) 2020-07-07 01:57:31 +02:00
c3614c0e38 cgen, sync: implement separate read/write locks for rwshared types (#5687) 2020-07-05 22:53:28 +02:00
3b067f5f85 all: experimental locked concurrency support, part 1 (#5637) 2020-07-04 12:44:25 +02:00
c84bafbdae vlib,cgen: cleanup array inits using `.repeat() instead of new init syntax 2020-06-27 21:46:04 +02:00
993cd1467b sync: own submodule for atomic 2020-06-26 23:31:03 +02:00
def99bed02 sync: atomic counters 2020-06-26 20:04:17 +02:00
d19a33c420 sync: use Event for waitgroup on windows 2020-06-23 03:23:42 +10:00
cf4dc93e02 sync: run sync.pool without using concurrency features when VJOBS=1 2020-06-22 14:21:54 +03:00
640bbbae85 waitgroup: remove races, make platform independent, document 2020-06-22 11:07:34 +02:00
3aecdeab63 os,gl,sync: cleanup, prepare for .toplevel_comments vdoc mode 2020-06-06 18:47:25 +03:00
5ae8853648 all: change f mut Foo to mut f Foo 2020-06-04 10:35:40 +02:00