mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-03 02:27:48 +00:00
runtime: remove unnecessary check for negative sleepTicks duration
This is now fixed for every target in the previous commit. Also see: https://github.com/tinygo-org/tinygo/pull/4239
This commit is contained in:
@@ -119,19 +119,17 @@ func ticks() timeUnit {
|
||||
}
|
||||
|
||||
func sleepTicks(duration timeUnit) {
|
||||
if duration >= 0 {
|
||||
curr := ticks()
|
||||
last := curr + duration // 64-bit overflow unlikely
|
||||
for curr < last {
|
||||
cycles := timeUnit((last - curr) / pitCyclesPerMicro)
|
||||
if cycles > 0xFFFFFFFF {
|
||||
cycles = 0xFFFFFFFF
|
||||
}
|
||||
if !timerSleep(uint32(cycles)) {
|
||||
return // return early due to interrupt
|
||||
}
|
||||
curr = ticks()
|
||||
curr := ticks()
|
||||
last := curr + duration // 64-bit overflow unlikely
|
||||
for curr < last {
|
||||
cycles := timeUnit((last - curr) / pitCyclesPerMicro)
|
||||
if cycles > 0xFFFFFFFF {
|
||||
cycles = 0xFFFFFFFF
|
||||
}
|
||||
if !timerSleep(uint32(cycles)) {
|
||||
return // return early due to interrupt
|
||||
}
|
||||
curr = ticks()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -31,10 +31,6 @@ func nanosecondsToTicks(ns int64) timeUnit {
|
||||
}
|
||||
|
||||
func sleepTicks(d timeUnit) {
|
||||
if d <= 0 {
|
||||
return
|
||||
}
|
||||
|
||||
if hasScheduler {
|
||||
// With scheduler, sleepTicks may return early if an interrupt or
|
||||
// event fires - so scheduler can schedule any go routines now
|
||||
|
||||
Reference in New Issue
Block a user