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

125 Commits

Author SHA1 Message Date
Uwe Krüger
0f1c484ad1
parser/checker: if select { ... } { (#6434) 2020-09-21 07:34:04 +02:00
Uwe Krüger
4ae88c69ac
sync/select: allow push of literals and calculated expressions (#6429) 2020-09-20 03:50:09 +02:00
Uwe Krüger
31a52cdf21
cgen: implement channel select block code generation (#6424) 2020-09-19 02:14:35 +02:00
spaceface777
ff92c3409d
ast: merge IfExpr and CompIf (#6011) 2020-09-18 00:58:54 +02:00
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
Shun Sakai
c8c43a2475 update copyright year 2020-01-23 21:04:46 +01:00
Delyan Angelov
0d52cc97e4 sync: make new_mutex() and new_waitgroup() return &Mutex and &Waitgroup 2020-01-19 20:32:22 +01:00
Alexander Medvednikov
848cd3cb3e run vfmt on http, net, sync, strconv 2019-12-22 01:57:50 +03:00
Alexander Medvednikov
55f32fc413 more mutability fixes 2019-12-06 19:23:24 +03:00
Delyan Angelov
b907cf2179 sync/waitgroup: force sleeping for 1ms
fixes issues #2874 and #2961
2019-12-03 15:05:08 +03:00
Unknown User
268a6dc6d9 add missing cfns 2019-11-25 04:35:41 +03:00
Alexander Medvednikov
e9e931fe4a force C function definitions 2019-11-24 12:14:22 +03:00
Alexander Medvednikov
a9ca9f45af fix enum/match combo in sync_windows.v 2019-10-30 17:29:05 +03:00
Alexander Medvednikov
08c1f408d3 fix sync_windows.v 2019-10-30 16:43:40 +03:00
Delyan Angelov
32b3611026 sync: new_mutex() and new_waitgroup() 2019-10-25 17:24:40 +03:00
Alexander Medvednikov
3d6bdc2dc3 public enums + more public structs (libs/examples/tests) 2019-10-24 13:24:50 +03:00
joe-conigliaro
23c84516e2 compiler: error on unused imports 2019-09-23 13:42:20 +03:00
joe-conigliaro
32683ad6fd sync: fix mutex on win & waitgroup (all os) update. fixes news_fetcher example on win (#1776) 2019-08-29 11:48:03 +03:00
Alexander Medvednikov
ab0a78a498 fix sync_win.v 2019-08-27 00:46:27 +03:00
Richard Warburton
07ed320110 sync: WaitGroup 2019-07-30 15:06:16 +02:00
Richard Warburton
6701c3b263 Fixes #1362 2019-07-29 16:32:39 +02:00
unknown-v
082098ab67 sync_win.v : Add a Missing Closing Bracket 2019-07-25 12:25:38 +02:00
0x9ef
aea6a8075b Windows mutex 2019-07-24 17:36:20 +02:00
Alexander Medvednikov
7f29928aec examples: fix news_fetcher on Windows 2019-07-24 12:34:25 +02:00
Alexander Medvednikov
449fd372f9 *_nix.v support 2019-07-15 19:23:09 +02:00
Alexander Medvednikov
4594d78bd6 move all vlib modules to vlib/ 2019-06-29 12:00:31 +02:00