Skip to content

Commit f108077

Browse files
authored
builtin,sync: eliminate calls to _us32_lt in new_map/6, and in the spinloops in Channel.try_push_priv, Channel.try_pop (#25912)
1 parent ff6413a commit f108077

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

vlib/builtin/map.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ fn map_free_nop(_ voidptr) {
262262
fn new_map(key_bytes int, value_bytes int, hash_fn MapHashFn, key_eq_fn MapEqFn, clone_fn MapCloneFn, free_fn MapFreeFn) map {
263263
metasize := int(sizeof(u32) * (init_capicity + extra_metas_inc))
264264
// for now assume anything bigger than a pointer is a string
265-
has_string_keys := key_bytes > sizeof(voidptr)
265+
has_string_keys := key_bytes > int(sizeof(voidptr))
266266
return map{
267267
key_bytes: key_bytes
268268
value_bytes: value_bytes

vlib/sync/channels.c.v

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import time
44
import rand
55

66
// how often to try to get data without blocking before to wait for semaphore
7-
const spinloops = 750
8-
const spinloops_sem = 4000
7+
const spinloops = u32(750)
8+
const spinloops_sem = u32(4000)
99

1010
enum BufferElemStat {
1111
unused = 0
@@ -180,7 +180,7 @@ fn (mut ch Channel) try_push_priv(src voidptr, no_block bool) ChanState {
180180
if C.atomic_load_u16(&ch.closed) != 0 {
181181
return .closed
182182
}
183-
spinloops_sem_, spinloops_ := if no_block { 1, 1 } else { spinloops, spinloops_sem }
183+
spinloops_sem_, spinloops_ := if no_block { u32(1), u32(1) } else { spinloops, spinloops_sem }
184184
mut have_swapped := false
185185
for {
186186
mut got_sem := false
@@ -361,7 +361,7 @@ pub fn (mut ch Channel) try_pop(dest voidptr) ChanState {
361361
}
362362

363363
fn (mut ch Channel) try_pop_priv(dest voidptr, no_block bool) ChanState {
364-
spinloops_sem_, spinloops_ := if no_block { 1, 1 } else { spinloops, spinloops_sem }
364+
spinloops_sem_, spinloops_ := if no_block { u32(1), u32(1) } else { spinloops, spinloops_sem }
365365
mut have_swapped := false
366366
mut write_in_progress := false
367367
for {

0 commit comments

Comments
 (0)