Uwe Krüger
168daebccf
sync/channels: fix bug that caused 100% CPU on block ( #6357 )
2020-09-13 15:13:06 +02:00
Uwe Krüger
b10d79c4d9
sync/channels: fixes for `try_push/pop()`, optimizations ( #6352 )
2020-09-12 02:29:11 +02:00
Alexander Medvednikov
ea31f75098
checker: more default field fixes
2020-09-09 14:14:44 +02:00
Uwe Krüger
5258f52497
fmt: add support for `chan` types and operations ( #6328 )
2020-09-08 00:36:05 +02:00
Uwe Krüger
4d2c8a40d6
sync/atomic2: support 32 bit platforms ( #6308 )
2020-09-05 14:44:16 +02:00
Uwe Krüger
b015033c53
builtin: add methods to builtin channels ( #6303 )
2020-09-05 01:36:20 +02:00
Uwe Krüger
cbcba2e4cf
parser: enable module auto import (of `sync`) ( #6271 )
2020-08-31 10:44:39 +02:00
Uwe Krüger
393b46a6dd
channels: make `ch.len` and `ch.cap` available as properties ( #6221 )
2020-08-26 06:41:51 +02:00
Uwe Krüger
61df70fdf5
all: enable `x = <-ch or {...}` ( #6195 )
2020-08-23 02:12:05 +02:00
Uwe Krüger
0d7cc8829a
cgen: implement channel `push()`/`pop()` using `<-` operator ( #6154 )
2020-08-17 23:35:36 +02:00
Uwe Krüger
0c7d73c8b0
sync/channels: use references for `chan mut X` testcase ( #6145 )
2020-08-16 23:01:49 +02:00
Uwe Krüger
c2b4c645a1
sync/channels: document more benchmark results ( #6135 )
2020-08-15 11:20:51 +02:00
Uwe Krüger
9602a25a0b
all: add builtin channel type `chan elem_type` ( #6126 )
2020-08-14 21:18:42 +02:00
Uwe Krüger
bb93bf34ec
sync/semaphores: use dispatch semaphores on MacOS ( #6110 )
2020-08-12 03:45:09 +02:00
Uwe Krüger
433610b5c0
sync/channels: provide `.cap` and `.len()` ( #6104 )
2020-08-11 17:52:13 +02:00
Uwe Krüger
c3cdfa1c96
sync/channels: provide `try_push(), try_pop() as public methods ( #6101 )
2020-08-10 18:06:42 +02:00
Uwe Krüger
20a65cf9c8
sync/channels: implement `close()` method ( #6098 )
2020-08-10 06:22:20 +02:00
Uwe Krüger
d63daa0798
sync: use `mfence` on windows-tcc ( #6079 )
2020-08-06 17:31:05 +02:00
Uwe Krüger
863cf8af60
sync: channel implementation ( #6074 )
2020-08-06 15:28:19 +02:00
Delyan Angelov
9c9533dad9
checker: add error for `fn f() Struct { return &Struct{} }` ( #6019 )
2020-07-29 21:40:43 +02:00
Delyan Angelov
0af415fa28
vlib: add unsafe{} wrappers to C. fn calls, to allow compiling with -prod again
2020-07-21 09:05:31 +03:00
Delyan Angelov
587b9dd8aa
tests: reduce iterations for the atomic and semaphore tests, to speed up test-fixed
2020-07-20 11:14:55 +03:00
Uwe Krüger
8df6e59678
sync: add semaphores ( #5831 )
2020-07-15 10:22:33 +02:00
Uwe Krüger
ef02373061
all: remove `rwshared` keyword, make its semantics default for `shared` ( #5710 )
2020-07-07 01:57:31 +02:00
Uwe Krüger
c3614c0e38
cgen, sync: implement separate read/write locks for `rwshared` types ( #5687 )
2020-07-05 22:53:28 +02:00
Uwe Krüger
3b067f5f85
all: experimental locked concurrency support, part 1 ( #5637 )
2020-07-04 12:44:25 +02:00
Emily Hudson
c84bafbdae
vlib,cgen: cleanup array inits using `.repeat() instead of new init syntax
2020-06-27 21:46:04 +02:00
Tomas Hellström
993cd1467b
sync: own submodule for atomic
2020-06-26 23:31:03 +02:00
Tomas Hellström
def99bed02
sync: atomic counters
2020-06-26 20:04:17 +02:00
joe-conigliaro
d19a33c420
sync: use Event for waitgroup on windows
2020-06-23 03:23:42 +10:00
Delyan Angelov
cf4dc93e02
sync: run sync.pool without using concurrency features when VJOBS=1
2020-06-22 14:21:54 +03:00
Richard Warburton
640bbbae85
waitgroup: remove races, make platform independent, document
2020-06-22 11:07:34 +02:00
Delyan Angelov
3aecdeab63
os,gl,sync: cleanup, prepare for .toplevel_comments vdoc mode
2020-06-06 18:47:25 +03:00
yuyi
5ae8853648
all: change `f mut Foo` to `mut f Foo`
2020-06-04 10:35:40 +02:00
Alexander Medvednikov
81b44dc2c9
generics: generic call inside generic call; checker: check mut args at call
2020-05-29 04:30:00 +02:00
Uwe Krüger
013fdb8a4b
checker: restrict numeric promotions to cases where no data is lost
2020-05-27 05:42:48 +02:00
Delyan Angelov
7a4f26ac4f
compiler: use -lpthread during building v itself.
2020-05-22 08:36:56 +03:00
yuyi
7f4cf08516
parser: check `(mut f Foo)` syntax
2020-05-17 13:51:18 +02:00
Enzo Baldisserri
f44a40eee0
checker: check incorrect names
2020-05-16 16:12:23 +02:00
Delyan Angelov
2dbb4c2ca7
live: cleanup
2020-05-15 23:51:40 +03:00
Delyan Angelov
edb921f463
sync: mark sync.WaitGroup and sync.Mutex with [ref_only]
2020-05-10 08:58:54 +03:00
yuyi
2574dce174
all: fix remaining `[]array` warnings
2020-04-26 16:25:54 +02:00
lutherwenxu
dc4db87be3
vlib: use new filename format
2020-04-11 19:51:32 +02:00
Delyan Angelov
b411d29577
v2: fix support for 'go fn()' in modules. sync.pool is again multithreaded.
2020-04-03 19:44:49 +03:00
Alexey
5b6ec8996a
sync: fix build on Windows
2020-04-02 20:58:07 +02:00
Delyan Angelov
ad9848d983
fix cmd/tools/vtest.v build
...
This PR enables building them again with v2, by making vlib/sync/pool.v
single threaded for now, and by removing the use of generics till they
are fixed in v2.
2020-04-02 15:52:23 +02:00
Alexander Medvednikov
0f160707a4
cgen: GoStmt; experimental parallel parser
2020-03-16 08:33:42 +01:00
Delyan Angelov
8df265a581
sync: protect against sporadic failing tests in macos
2020-03-08 15:40:50 +01:00
Alexander Medvednikov
a8e45251c4
sync.pool: simplify usages of pool.work_on_items
2020-03-05 18:37:57 +01:00
Alexander Medvednikov
b0ece3a9d8
sync: implement pool.work_on_items to process a list of items in parallel
2020-03-04 20:28:42 +01:00