Skip to content

Commit d32b1f0

Browse files
rscgopherbot
authored andcommitted
runtime: delete timediv
Now that the compiler handles constant 64-bit divisions without function calls on 32-bit systems, we no longer need to maintain and test a bad custom implementation of 64-bit division. Change-Id: If28807ad4f86507267ae69bc8f0b09ec18e98b66 Reviewed-on: https://go-review.googlesource.com/c/go/+/716463 LUCI-TryBot-Result: Go LUCI <[email protected]> Auto-Submit: Russ Cox <[email protected]> Reviewed-by: Alan Donovan <[email protected]>
1 parent cbbd385 commit d32b1f0

15 files changed

+27
-132
lines changed

src/runtime/defs1_netbsd_386.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,8 @@ type timespec struct {
121121

122122
//go:nosplit
123123
func (ts *timespec) setNsec(ns int64) {
124-
ts.tv_sec = int64(timediv(ns, 1e9, &ts.tv_nsec))
124+
ts.tv_sec = int64(ns / 1e9)
125+
ts.tv_nsec = int32(ns % 1e9)
125126
}
126127

127128
type timeval struct {

src/runtime/defs1_netbsd_arm.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,8 @@ type timespec struct {
123123

124124
//go:nosplit
125125
func (ts *timespec) setNsec(ns int64) {
126-
ts.tv_sec = int64(timediv(ns, 1e9, &ts.tv_nsec))
126+
ts.tv_sec = int64(ns / 1e9)
127+
ts.tv_nsec = int32(ns % 1e9)
127128
}
128129

129130
type timeval struct {

src/runtime/defs_freebsd_386.go

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/runtime/defs_freebsd_arm.go

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/runtime/defs_linux_386.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,8 @@ type timespec32 struct {
146146

147147
//go:nosplit
148148
func (ts *timespec32) setNsec(ns int64) {
149-
ts.tv_sec = timediv(ns, 1e9, &ts.tv_nsec)
149+
ts.tv_sec = int32(ns / 1e9)
150+
ts.tv_nsec = int32(ns % 1e9)
150151
}
151152

152153
type timespec struct {
@@ -156,9 +157,8 @@ type timespec struct {
156157

157158
//go:nosplit
158159
func (ts *timespec) setNsec(ns int64) {
159-
var newNS int32
160-
ts.tv_sec = int64(timediv(ns, 1e9, &newNS))
161-
ts.tv_nsec = int64(newNS)
160+
ts.tv_sec = int64(ns / 1e9)
161+
ts.tv_nsec = int64(ns % 1e9)
162162
}
163163

164164
type timeval struct {

src/runtime/defs_linux_arm.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,8 @@ type timespec32 struct {
105105

106106
//go:nosplit
107107
func (ts *timespec32) setNsec(ns int64) {
108-
ts.tv_sec = timediv(ns, 1e9, &ts.tv_nsec)
108+
ts.tv_sec = int32(ns / 1e9)
109+
ts.tv_nsec = int32(ns % 1e9)
109110
}
110111

111112
type timespec struct {
@@ -115,9 +116,8 @@ type timespec struct {
115116

116117
//go:nosplit
117118
func (ts *timespec) setNsec(ns int64) {
118-
var newNS int32
119-
ts.tv_sec = int64(timediv(ns, 1e9, &newNS))
120-
ts.tv_nsec = int64(newNS)
119+
ts.tv_sec = int64(ns / 1e9)
120+
ts.tv_nsec = int64(ns % 1e9)
121121
}
122122

123123
type stackt struct {

src/runtime/defs_linux_mipsx.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ type timespec32 struct {
103103

104104
//go:nosplit
105105
func (ts *timespec32) setNsec(ns int64) {
106-
ts.tv_sec = timediv(ns, 1e9, &ts.tv_nsec)
106+
ts.tv_sec = int32(ns / 1e9)
107+
ts.tv_nsec = int32(ns % 1e9)
107108
}
108109

109110
type timespec struct {
@@ -113,9 +114,8 @@ type timespec struct {
113114

114115
//go:nosplit
115116
func (ts *timespec) setNsec(ns int64) {
116-
var newNS int32
117-
ts.tv_sec = int64(timediv(ns, 1e9, &newNS))
118-
ts.tv_nsec = int64(newNS)
117+
ts.tv_sec = int64(ns / 1e9)
118+
ts.tv_nsec = int64(ns % 1e9)
119119
}
120120

121121
type timeval struct {

src/runtime/defs_openbsd_386.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,8 @@ type timespec struct {
147147

148148
//go:nosplit
149149
func (ts *timespec) setNsec(ns int64) {
150-
ts.tv_sec = int64(timediv(ns, 1e9, &ts.tv_nsec))
150+
ts.tv_sec = int64(ns / 1e9)
151+
ts.tv_nsec = int32(ns % 1e9)
151152
}
152153

153154
type timeval struct {

src/runtime/defs_openbsd_arm.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ type timespec struct {
152152

153153
//go:nosplit
154154
func (ts *timespec) setNsec(ns int64) {
155-
ts.tv_sec = int64(timediv(ns, 1e9, &ts.tv_nsec))
155+
ts.tv_sec = int64(ns / 1e9)
156+
ts.tv_nsec = int32(ns % 1e9)
156157
}
157158

158159
type timeval struct {

src/runtime/export_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1472,8 +1472,6 @@ func Releasem() {
14721472
releasem(getg().m)
14731473
}
14741474

1475-
var Timediv = timediv
1476-
14771475
type PIController struct {
14781476
piController
14791477
}

0 commit comments

Comments
 (0)